diff options
author | Hans Breuer <hans@breuer.org> | 2001-09-21 19:58:35 +0000 |
---|---|---|
committer | Hans Breuer <hans@src.gnome.org> | 2001-09-21 19:58:35 +0000 |
commit | 293d78778377b034b9806d79cc060193fd890ee4 (patch) | |
tree | e6805ef4bee29896fcb80d3782522db870324bb0 /gdk/win32/gdkgeometry-win32.c | |
parent | 35953cae924726cc248e962a9b1b67392631b7e1 (diff) | |
download | gtk+-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.c | 36 |
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; |