diff --git a/miniwin/miniwin/include/miniwin.h b/miniwin/miniwin/include/miniwin.h index dd095581..b976a279 100644 --- a/miniwin/miniwin/include/miniwin.h +++ b/miniwin/miniwin/include/miniwin.h @@ -16,7 +16,7 @@ #define CALLBACK #define FAR #define WINAPI -#define HWND_NOTOPMOST (HWND) - 2 +#define HWND_NOTOPMOST -2 #define RGB(r, g, b) ((r) | ((g) << 8) | ((b) << 16)) #define S_OK ((HRESULT) 0) #define E_NOINTERFACE (0x80004002) @@ -147,10 +147,7 @@ struct IUnknown { int m_refCount; }; -inline BOOL SetWindowPos(HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags) -{ - return TRUE; -} +BOOL SetWindowPos(HWND hWnd, int hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags); inline HDC WINAPI GetDC(HWND hWnd) { diff --git a/miniwin/miniwin/src/miniwin.cpp b/miniwin/miniwin/src/miniwin.cpp index 7eaad90e..9e26a590 100644 --- a/miniwin/miniwin/src/miniwin.cpp +++ b/miniwin/miniwin/src/miniwin.cpp @@ -24,6 +24,27 @@ HRESULT IUnknown::QueryInterface(const GUID& riid, void** ppvObject) return E_NOINTERFACE; } +BOOL SetWindowPos(HWND hWnd, int hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags) +{ + if (!hWnd) { + return FALSE; + } + + if (!(uFlags & SWP_NOACTIVATE)) { + SDL_RaiseWindow(hWnd); + } + + if (!(uFlags & SWP_NOSIZE)) { + SDL_SetWindowSize(hWnd, cx, cy); + } + + if (!(uFlags & SWP_NOMOVE)) { + SDL_SetWindowPosition(hWnd, X, Y); + } + + return TRUE; +} + VOID WINAPI Sleep(DWORD dwMilliseconds) { SDL_Delay(dwMilliseconds);