Mesa (master): graw/gdi: Fix window dimensions.

Michał Król michal at kemper.freedesktop.org
Thu Nov 4 14:13:15 UTC 2010


Module: Mesa
Branch: master
Commit: 5d28d2f9d4eb783dbf738e36bf60c6c5275d1db9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5d28d2f9d4eb783dbf738e36bf60c6c5275d1db9

Author: Michal Krol <michal at vmware.com>
Date:   Thu Nov  4 15:12:47 2010 +0100

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.

---

 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 018b153..52a4e3c 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,




More information about the mesa-commit mailing list