Commit ad24594d authored by Ivan, Wong Yat Cheung's avatar Ivan, Wong Yat Cheung Committed by Tor Lillqvist

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.
parent a8a1f7b9
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.
2005-03-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkliststore.c (gtk_list_store_insert_with_valuesv):
......
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.
2005-03-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkliststore.c (gtk_list_store_insert_with_valuesv):
......
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.
2005-03-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkliststore.c (gtk_list_store_insert_with_valuesv):
......
......@@ -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;
......
This diff is collapsed.
......@@ -288,8 +288,8 @@ gdk_window_impl_win32_get_visible_region (GdkDrawable *drawable)
{
GdkRectangle gr;
gr.x = r.left;
gr.y = r.top;
gr.x = r.left + impl->position_info.x_offset;
gr.y = r.top + impl->position_info.y_offset;
gr.width = r.right - r.left;
gr.height = r.bottom - r.top;
......@@ -661,9 +661,6 @@ gdk_window_new_internal (GdkWindow *parent,
window_height = impl->position_info.height;
}
if (impl->position_info.big)
private->guffaw_gravity = TRUE;
if (attributes_mask & GDK_WA_TITLE)
title = attributes->title;
else
......@@ -673,11 +670,6 @@ gdk_window_new_internal (GdkWindow *parent,
private->event_mask = GDK_STRUCTURE_MASK | attributes->event_mask;
if (private->parent && private->parent->guffaw_gravity)
{
/* XXX ??? */
}
if (private->parent)
private->parent->children = g_list_prepend (private->parent->children, window);
......@@ -1347,13 +1339,6 @@ gdk_window_reparent (GdkWindow *window,
old_parent_private->children =
g_list_remove (old_parent_private->children, window);
#if 0
if ((old_parent_private &&
(!old_parent_private->guffaw_gravity != !parent_private->guffaw_gravity)) ||
(!old_parent_private && parent_private->guffaw_gravity))
gdk_window_set_static_win_gravity (window, parent_private->guffaw_gravity);
#endif
parent_private->children = g_list_prepend (parent_private->children, window);
_gdk_window_init_position (GDK_WINDOW (window_private));
}
......@@ -2853,15 +2838,7 @@ gdk_window_set_static_gravities (GdkWindow *window,
g_return_val_if_fail (window != NULL, FALSE);
g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE);
if (!use_static == !private->guffaw_gravity)
return TRUE;
if (use_static)
return FALSE;
private->guffaw_gravity = use_static;
return TRUE;
return !use_static;
}
void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment