BWAPI
trunk/bwapi/BWAPI/Source/WMode.h
Go to the documentation of this file.
00001 #pragma once
00002 #include <windows.h>
00003 
00004 #include "BW/Offsets.h"
00005 
00006 #define WMODE_MIN_WIDTH  200
00007 #define WMODE_MIN_HEIGHT 150
00008 #define WMODE_SNAP_RANGE 20
00009 
00010 struct BITMAPINFO256 {
00011     BITMAPINFOHEADER    bmiHeader;
00012     RGBQUAD             bmiColors[256];
00013 };
00014 
00015 extern BITMAPINFO256 wmodebmp;
00016 
00017 BOOL WINAPI   _GetCursorPos(LPPOINT lpPoint);
00018 BOOL WINAPI   _SetCursorPos(int X, int Y);
00019 BOOL WINAPI   _ClipCursor(const RECT *lpRect);
00020 BOOL STORMAPI _SDrawLockSurface(int surfacenumber, RECT *lpDestRect, void **lplpSurface, int *lpPitch, int arg_unused);
00021 BOOL STORMAPI _SDrawUnlockSurface(int surfacenumber, void *lpSurface, int a3, RECT *lpRect);
00022 BOOL STORMAPI _SDrawUpdatePalette(unsigned int firstentry, unsigned int numentries, PALETTEENTRY *pPalEntries, int a4);
00023 BOOL STORMAPI _SDrawRealizePalette();
00024 
00025 extern BOOL (WINAPI   *_GetCursorPosOld)(LPPOINT lpPoint);
00026 extern BOOL (WINAPI   *_SetCursorPosOld)(int X, int Y);
00027 extern BOOL (WINAPI   *_ClipCursorOld)(const RECT *lpRect);
00028 extern BOOL (STORMAPI *_SDrawLockSurfaceOld)(int surfacenumber, RECT *lpDestRect, void **lplpSurface, int *lpPitch, int arg_unused);
00029 extern BOOL (STORMAPI *_SDrawUnlockSurfaceOld)(int surfacenumber, void *lpSurface, int a3, RECT *lpRect);
00030 extern BOOL (STORMAPI *_SDrawUpdatePaletteOld)(unsigned int firstentry, unsigned int numentries, PALETTEENTRY *pPalEntries, int a4);
00031 extern BOOL (STORMAPI *_SDrawRealizePaletteOld)();
00032 
00033 void InitializeWModeBitmap(int width, int height);
00034 void GetBorderRect(HWND hWnd, LPRECT lpRect);
00035 void GetBorderSize(HWND hWnd, LPSIZE lpSize);
00036 LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
00037 void SetWMode(int width, int height, bool state);
00038 void SetCursorShowState(bool bShow);
00039 
00040 extern WNDPROC  wOriginalProc;
00041 extern HWND     ghMainWnd;
00042 extern HDC      hdcMem;
00043 extern void*    pBits;
00044 extern RGBQUAD  palette[256];
00045 extern bool     wmode;
00046 
00047 extern bool recordingUpdated;
00048 
00049 extern bool switchToWMode;
00050 extern RECT windowRect;
00051 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines