summaryrefslogtreecommitdiff
path: root/gdk/win32/gdkgeometry-win32.c
diff options
context:
space:
mode:
authorHans Breuer <hans@breuer.org>2001-09-21 19:58:35 +0000
committerHans Breuer <hans@src.gnome.org>2001-09-21 19:58:35 +0000
commit293d78778377b034b9806d79cc060193fd890ee4 (patch)
treee6805ef4bee29896fcb80d3782522db870324bb0 /gdk/win32/gdkgeometry-win32.c
parent35953cae924726cc248e962a9b1b67392631b7e1 (diff)
downloadgtk+-293d78778377b034b9806d79cc060193fd890ee4.tar.gz
updated externals
2001-09-21 Hans Breuer <hans@breuer.org> * gdk/gdk.def : * gtk/gtk.def : updated externals * gtk/gtkmain.h : define get_gtk_win32_directoty () * gtk/gtkmain.c (find_module) : don't use module_name after freeing it. Also handle that Win32 pathes cann't be hard-coded * gtk/gtkrc.c : use get_gtk_win32_directoty () to cleanup the various module, themes etc directory calculations * gdk/win32/gdkgeometry-win32.c : some more hacking to get coordinates >16 bit right. The size limit within Win9x appears _not_ to be 32767 but slightly smaller ... * gdk/win32/gdkwindow-win32.c : use impl->position_info to avoid >16 bit clipping. Added dummy body for gdk_window_set_icon_list () * gdk/win32/gdkdrawable-win32.c : implement gdk_win32_drawable_get_handle () * gdk/win32/gdkevents-win32.c : some tweaking to get better expose handling. I'm not sure if it is better now, but at least not worse * gdk/win32/makefile.msc : define INSIDE_GDK_WIN32, some cleanup * gdk/win32/gdkwin32.h : reflect recent API restrictions
Diffstat (limited to 'gdk/win32/gdkgeometry-win32.c')
-rw-r--r--gdk/win32/gdkgeometry-win32.c36
1 files changed, 19 insertions, 17 deletions
diff --git a/gdk/win32/gdkgeometry-win32.c b/gdk/win32/gdkgeometry-win32.c
index 373d6b596b..8d75953efe 100644
--- a/gdk/win32/gdkgeometry-win32.c
+++ b/gdk/win32/gdkgeometry-win32.c
@@ -36,6 +36,8 @@
#include "gdkdrawable-win32.h"
#include "gdkwindow-win32.h"
+#define SIZE_LIMIT 32000
+
typedef struct _GdkWindowQueueItem GdkWindowQueueItem;
typedef struct _GdkWindowParentPos GdkWindowParentPos;
@@ -360,13 +362,13 @@ _gdk_window_move_resize_child (GdkWindow *window,
if (d_xoffset > 0 || d_yoffset > 0)
gdk_window_queue_translation (window, MAX (d_xoffset, 0), MAX (d_yoffset, 0));
-
+
/* FIXME:
*/
- if (new_info.x + new_info.width > 32767)
- new_info.width = 32767 - new_info.x;
- if (new_info.y + new_info.height > 32767)
- new_info.height = 32767 - new_info.y;
+ if (new_info.x + new_info.width > SIZE_LIMIT)
+ new_info.width = SIZE_LIMIT - new_info.x;
+ if (new_info.y + new_info.height > SIZE_LIMIT)
+ new_info.height = SIZE_LIMIT - new_info.y;
if (!SetWindowPos (GDK_WINDOW_HWND (window), NULL,
new_info.x, new_info.y, new_info.width, new_info.height,
@@ -441,7 +443,7 @@ gdk_window_compute_position (GdkWindowImplWin32 *window,
info->big = FALSE;
- if (window->width <= 32768)
+ if (window->width <= SIZE_LIMIT)
{
info->width = window->width;
info->x = parent_pos->x + wrapper->x - parent_pos->win32_x;
@@ -449,19 +451,19 @@ gdk_window_compute_position (GdkWindowImplWin32 *window,
else
{
info->big = TRUE;
- info->width = 32768;
- if (parent_pos->x + wrapper->x < -16384)
+ info->width = SIZE_LIMIT;
+ if (parent_pos->x + wrapper->x < -(SIZE_LIMIT/2))
{
- if (parent_pos->x + wrapper->x + window->width < 16384)
- info->x = parent_pos->x + wrapper->x + window->width - 32768 - parent_pos->win32_x;
+ if (parent_pos->x + wrapper->x + window->width < (SIZE_LIMIT/2))
+ info->x = parent_pos->x + wrapper->x + window->width - SIZE_LIMIT - parent_pos->win32_x;
else
- info->x = -16384 - parent_pos->win32_y;
+ info->x = -(SIZE_LIMIT/2) - parent_pos->win32_y;
}
else
info->x = parent_pos->x + wrapper->x - parent_pos->win32_x;
}
- if (window->height <= 32768)
+ if (window->height <= SIZE_LIMIT)
{
info->height = window->height;
info->y = parent_pos->y + wrapper->y - parent_pos->win32_y;
@@ -469,13 +471,13 @@ gdk_window_compute_position (GdkWindowImplWin32 *window,
else
{
info->big = TRUE;
- info->height = 32768;
- if (parent_pos->y + wrapper->y < -16384)
+ info->height = SIZE_LIMIT;
+ if (parent_pos->y + wrapper->y < -(SIZE_LIMIT/2))
{
- if (parent_pos->y + wrapper->y + window->height < 16384)
- info->y = parent_pos->y + wrapper->y + window->height - 32768 - parent_pos->win32_y;
+ if (parent_pos->y + wrapper->y + window->height < (SIZE_LIMIT/2))
+ info->y = parent_pos->y + wrapper->y + window->height - SIZE_LIMIT - parent_pos->win32_y;
else
- info->y = -16384 - parent_pos->win32_y;
+ info->y = -(SIZE_LIMIT/2) - parent_pos->win32_y;
}
else
info->y = parent_pos->y + wrapper->y - parent_pos->win32_y;