diff options
author | Hans Breuer <hans@breuer.org> | 2001-03-31 19:33:49 +0000 |
---|---|---|
committer | Hans Breuer <hans@src.gnome.org> | 2001-03-31 19:33:49 +0000 |
commit | 6ff97d2e0b1fc69390982c7b58b6649a00e420cd (patch) | |
tree | f55593eadb81596bc16d5ae37ae0880c7d41e7da /gdk/win32 | |
parent | 3b68d7db89b7a5bbcfc8f959c2c12569f3643fed (diff) | |
download | gtk+-6ff97d2e0b1fc69390982c7b58b6649a00e420cd.tar.gz |
disable USE_MMX for msvc build cause the assembler doesn't fit and is out
2001-03-31 Hans Breuer <hans@breuer.org>
* config.h.win32.in : disable USE_MMX for msvc build cause
the assembler doesn't fit and is out of my scope. Disable
USE_GMODULE for msvc build as wel. The right way to share
binaries on win32 would be to use libtiff.dll etc. To reduce
installation hassles IMO it's better to include all fileformats
builtin to gdk-pixbuf
* gdk-pixbuf/makefile.msc : new file
* gdk/gdk.def : updated
* gdk/win32/gdkevents-win32.c : don't erase the background if
.no_bg is set. It improves the scrolling (e.g. of testgtk main
buttons
* gdk/win32/gdkgeometry-win32.c : added comment about the above
* gdk/win32/gdkwindow-win32.c : added three new functions like
the X version. Only one is implemented, because the other two
"gdk_window_begin_(resize|move)_drag" got no docs and appear to
be default behaviour on win32 anyway ...
* gtk/gtk.def : updated
* gtk/makefile.msc.in : update for new files, use glib-genmarshal
from where it was built and add an additional rule to automagically
build gtkmarshal.[hc]
* gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
before array access for the current entry isn't finished
* gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
use g_return_val_if_fail
* gtk/testgtk.c (window_controls) : don't use the *wrong* size
for the static array, but let the compiler calculate it. It
makes me wonder if gcc isn't capable to catch bugs like this ...
Diffstat (limited to 'gdk/win32')
-rw-r--r-- | gdk/win32/gdkevents-win32.c | 8 | ||||
-rw-r--r-- | gdk/win32/gdkgeometry-win32.c | 6 | ||||
-rw-r--r-- | gdk/win32/gdkwindow-win32.c | 66 |
3 files changed, 78 insertions, 2 deletions
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c index 79a414f11d..3193827362 100644 --- a/gdk/win32/gdkevents-win32.c +++ b/gdk/win32/gdkevents-win32.c @@ -2512,6 +2512,14 @@ gdk_event_translate (GdkEvent *event, if (GDK_WINDOW_OBJECT (window)->input_only) break; + if (GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl)->position_info.no_bg) + { + /* improves scolling effect, e.g. main buttons of testgtk */ + *ret_val_flagp = TRUE; + *ret_valp = 1; + break; + } + colormap = GDK_DRAWABLE_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl)->colormap; if (colormap) colormap_private = GDK_COLORMAP_PRIVATE_DATA (colormap); diff --git a/gdk/win32/gdkgeometry-win32.c b/gdk/win32/gdkgeometry-win32.c index 4fe022dbd1..d16ae5426a 100644 --- a/gdk/win32/gdkgeometry-win32.c +++ b/gdk/win32/gdkgeometry-win32.c @@ -808,8 +808,12 @@ gdk_window_tmp_unset_bg (GdkWindow *window) impl->position_info.no_bg = TRUE; + /* + * The X version sets background = None to avoid updateing for a moment. + * Not sure if this could really emulate it. + */ if (obj->bg_pixmap != GDK_NO_BG) - /* ??? */; + /* handled in WM_ERASEBKGRND proceesing */; } static void diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c index 3ffcc8f882..3a5ac37b6d 100644 --- a/gdk/win32/gdkwindow-win32.c +++ b/gdk/win32/gdkwindow-win32.c @@ -832,7 +832,7 @@ gdk_window_show (GdkWindow *window) } else { - GdkWindow *parent = private->parent; + GdkWindow *parent = GDK_WINDOW (private->parent); ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWNORMAL); ShowWindow (GDK_WINDOW_HWND (window), SW_RESTORE); @@ -1705,6 +1705,39 @@ gdk_window_get_root_origin (GdkWindow *window, pt.x, pt.y)); } +void +gdk_window_get_frame_extents (GdkWindow *window, + GdkRectangle *rect) +{ + GdkWindowObject *private; + HWND hwnd; + RECT r; + + rect->x = 0; + rect->y = 0; + rect->width = 1; + rect->height = 1; + + if (GDK_WINDOW_DESTROYED (window)) + return; + + hwnd = GDK_WINDOW_HWND (window); + /* find the frame window */ + while (HWND_DESKTOP != GetParent (hwnd)) + { + hwnd = GetParent (hwnd); + g_return_if_fail (NULL != hwnd); + } + + if (GetWindowRect (hwnd, &r)) + WIN32_API_FAILED ("GetWindowRect"); + + rect->x = r.left; + rect->y = r.right; + rect->width = r.right - r.left; + rect->height = r.bottom - r.top; +} + GdkWindow* gdk_window_get_pointer (GdkWindow *window, gint *x, @@ -2442,3 +2475,34 @@ gdk_window_shape_combine_region (GdkWindow *window, /* XXX: even on X implemented conditional ... */ } + +void +gdk_window_begin_resize_drag (GdkWindow *window, + GdkWindowEdge edge, + gint button, + gint root_x, + gint root_y, + guint32 timestamp) +{ + g_return_if_fail (GDK_IS_WINDOW (window)); + + if (GDK_WINDOW_DESTROYED (window)) + return; + + /* XXX: isn't all this default on win32 ... */ +} + +void +gdk_window_begin_move_drag (GdkWindow *window, + gint button, + gint root_x, + gint root_y, + guint32 timestamp) +{ + g_return_if_fail (GDK_IS_WINDOW (window)); + + if (GDK_WINDOW_DESTROYED (window)) + return; + + /* XXX: isn't all this default on win32 ... */ +}
\ No newline at end of file |