diff options
author | Michal Krol <michal@vmware.com> | 2010-11-04 15:12:47 +0100 |
---|---|---|
committer | Michal Krol <michal@vmware.com> | 2010-11-04 15:12:47 +0100 |
commit | 5d28d2f9d4eb783dbf738e36bf60c6c5275d1db9 (patch) | |
tree | 09f8bbd0d48487f2947e7f9d7e08d08167436378 | |
parent | c69979f243fe7ac15d638f9b2b5cf35b30b07939 (diff) |
graw/gdi: Fix window dimensions.
The requested window size is of the client area,
so account for surrounding borders and bars when
creating the window.
-rw-r--r-- | src/gallium/targets/graw-gdi/graw_gdi.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/gallium/targets/graw-gdi/graw_gdi.c b/src/gallium/targets/graw-gdi/graw_gdi.c index 018b153984..52a4e3cb23 100644 --- a/src/gallium/targets/graw-gdi/graw_gdi.c +++ b/src/gallium/targets/graw-gdi/graw_gdi.c @@ -68,6 +68,8 @@ graw_create_window_and_screen(int x, struct sw_winsys *winsys = NULL; struct pipe_screen *screen = NULL; WNDCLASSEX wc = {sizeof(wc)}; + UINT style = WS_VISIBLE | WS_TILEDWINDOW; + RECT rect; HWND hWnd = NULL; HDC hDC = NULL; @@ -91,14 +93,17 @@ graw_create_window_and_screen(int x, wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1); RegisterClassEx(&wc); + SetRect(&rect, 0, 0, width, height); + AdjustWindowRectEx(&rect, style, FALSE, 0); + hWnd = CreateWindowEx(0, wc.lpszClassName, wc.lpszClassName, - WS_VISIBLE | WS_TILEDWINDOW, + style, x, y, - width, - height, + rect.right - rect.left, + rect.bottom - rect.top, NULL, NULL, wc.hInstance, |