diff options
author | Ivan, Wong Yat Cheung <email@ivanwong.info> | 2005-03-11 23:50:21 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 2005-03-11 23:50:21 +0000 |
commit | ad24594d106f818e74ea976779ca328d5cdce07b (patch) | |
tree | 79e6ddf5eba572fdca8ffa99f908bd82162747a4 /gdk/win32/gdkgc-win32.c | |
parent | a8a1f7b99aaa8926e7174ad1298e459c2ccb148a (diff) | |
download | gtk+-ad24594d106f818e74ea976779ca328d5cdce07b.tar.gz |
Big window fix for Win32. Big windows are still emulated within 16-bit
2005-03-12 Ivan, Wong Yat Cheung <email@ivanwong.info>
Big window fix for Win32. Big windows are still emulated within
16-bit coordinate limits, though. Big windows now work on NT-based
Windows. (#169989)
* gdk/win32/gdkgc-win32.c (_gdk_win32_gdkregion_to_hrgn): Use
32-bit coordinates.
* gdk/win32/gdkgeometry-win32.c: Largely rewrite.
* gdk/win32/gdkwindow-win32.c: Minor related changes.
Diffstat (limited to 'gdk/win32/gdkgc-win32.c')
-rw-r--r-- | gdk/win32/gdkgc-win32.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/gdk/win32/gdkgc-win32.c b/gdk/win32/gdkgc-win32.c index 1c58ba34f4..3b520417ce 100644 --- a/gdk/win32/gdkgc-win32.c +++ b/gdk/win32/gdkgc-win32.c @@ -1252,20 +1252,16 @@ _gdk_win32_gdkregion_to_hrgn (GdkRegion *region, rgndata->rdh.iType = RDH_RECTANGLES; rgndata->rdh.nCount = rgndata->rdh.nRgnSize = 0; SetRect (&rgndata->rdh.rcBound, - G_MAXSHORT, G_MAXSHORT, G_MINSHORT, G_MINSHORT); + G_MAXLONG, G_MAXLONG, G_MINLONG, G_MINLONG); for (i = 0; i < region->numRects; i++) { rect = ((RECT *) rgndata->Buffer) + rgndata->rdh.nCount++; - rect->left = CLAMP (boxes[i].x1 + x_origin, - G_MINSHORT, G_MAXSHORT); - rect->right = CLAMP (boxes[i].x2 + x_origin, - G_MINSHORT, G_MAXSHORT); - rect->top = CLAMP (boxes[i].y1 + y_origin, - G_MINSHORT, G_MAXSHORT); - rect->bottom = CLAMP (boxes[i].y2 + y_origin, - G_MINSHORT, G_MAXSHORT); + rect->left = boxes[i].x1 + x_origin; + rect->right = boxes[i].x2 + x_origin; + rect->top = boxes[i].y1 + y_origin; + rect->bottom = boxes[i].y2 + y_origin; if (rect->left < rgndata->rdh.rcBound.left) rgndata->rdh.rcBound.left = rect->left; |