diff options
author | Tor Lillqvist <tml@iki.fi> | 1999-10-02 22:42:58 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 1999-10-02 22:42:58 +0000 |
commit | c50941c82dbef8fb6122ab4f19bd592cb7fc58ef (patch) | |
tree | b21e7fdac4d03769d10a9bb56013620918202c28 /gdk/win32/gdkevents.c | |
parent | b196167dbc91b150b1f39c9cec87fffe913be199 (diff) | |
download | gdk-pixbuf-c50941c82dbef8fb6122ab4f19bd592cb7fc58ef.tar.gz |
Change GDK_WINDOWING_WIN32 usage to #ifdef also here.
1999-10-03 Tor Lillqvist <tml@iki.fi>
* gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
to #ifdef also here.
* gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
Owen did to the X11 backend.
* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
ScrollWindowEx when blitting inside a window, it can't be correct
in the general case.
* gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
WM_GETMINMAXINFO is easier.
* gdk/win32/gdkimage.c (gdk_image_new): Create new image with
depth equal to the bitspixel value, not the visual's depth.
* gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
to 24 even if the bitspixel value is 32.
* gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
need to check for depth==32 when bpp==32, depth will always be 24.
Diffstat (limited to 'gdk/win32/gdkevents.c')
-rw-r--r-- | gdk/win32/gdkevents.c | 58 |
1 files changed, 38 insertions, 20 deletions
diff --git a/gdk/win32/gdkevents.c b/gdk/win32/gdkevents.c index 6e5a876a5..fd2c6cf02 100644 --- a/gdk/win32/gdkevents.c +++ b/gdk/win32/gdkevents.c @@ -29,13 +29,16 @@ #include <stdio.h> -#include <gdk/gdk.h> -#include <gdk/gdkkeysyms.h> +#include "gdk.h" +#include "gdkprivate.h" #include "gdkx.h" + +#include "gdkkeysyms.h" + #ifdef HAVE_WINTAB #include <wintab.h> #endif -#include "gdkinput.h" +#include "gdkinputprivate.h" #define PING() printf("%s: %d\n",__FILE__,__LINE__),fflush(stdout) @@ -76,7 +79,8 @@ struct _GdkEventPrivate */ static GdkEvent *gdk_event_new (void); -static gint gdk_event_apply_filters(MSG *xevent, +static GdkFilterReturn + gdk_event_apply_filters (MSG *xevent, GdkEvent *event, GList *filters); static gint gdk_event_translate (GdkEvent *event, @@ -1037,7 +1041,7 @@ gdk_input_remove (gint tag) g_source_remove (tag); } -static gint +static GdkFilterReturn gdk_event_apply_filters (MSG *xevent, GdkEvent *event, GList *filters) @@ -1157,6 +1161,7 @@ gdk_event_translate (GdkEvent *event, HBRUSH hbr; RECT rect; POINT pt; + MINMAXINFO *lpmmi; GdkWindowPrivate *curWnd_private; GdkEventMask mask; int button; @@ -1211,15 +1216,6 @@ gdk_event_translate (GdkEvent *event, PostMessage (xevent->hwnd, xevent->message, xevent->wParam, xevent->lParam); } - else if (xevent->message == WM_NCCREATE - || xevent->message == WM_CREATE - || xevent->message == WM_GETMINMAXINFO - || xevent->message == WM_NCCALCSIZE - || xevent->message == WM_NCDESTROY - || xevent->message == WM_DESTROY) - { - /* Nothing */ - } return FALSE; } @@ -1232,10 +1228,9 @@ gdk_event_translate (GdkEvent *event, { /* Check for filters for this window */ GdkFilterReturn result; - result = gdk_event_apply_filters (xevent, event, - window_private - ?window_private->filters - :gdk_default_filters); + result = gdk_event_apply_filters + (xevent, event, + window_private ? window_private->filters : gdk_default_filters); if (result != GDK_FILTER_CONTINUE) { @@ -1430,7 +1425,9 @@ gdk_event_translate (GdkEvent *event, case VK_BACK: event->key.keyval = GDK_BackSpace; break; case VK_TAB: - event->key.keyval = GDK_Tab; break; + event->key.keyval = (GetKeyState(VK_SHIFT) < 0 ? + GDK_ISO_Left_Tab : GDK_Tab); + break; case VK_CLEAR: event->key.keyval = GDK_Clear; break; case VK_RETURN: @@ -2643,7 +2640,9 @@ gdk_event_translate (GdkEvent *event, gdk_input_vtable.configure_event (&event->configure, window); } break; - +#if 0 /* Bernd Herd suggests responding to WM_GETMINMAXINFO instead, + * which indeed is much easier. + */ case WM_SIZING: GDK_NOTE (EVENTS, g_print ("WM_SIZING: %#x\n", xevent->hwnd)); if (ret_val_flagp == NULL) @@ -2712,6 +2711,25 @@ gdk_event_translate (GdkEvent *event, } } break; +#else + case WM_GETMINMAXINFO: + GDK_NOTE (EVENTS, g_print ("WM_GETMINMAXINFO: %#x\n", xevent->hwnd)); + lpmmi = (MINMAXINFO*) xevent->lParam; + if (window_private->hint_flags & GDK_HINT_MIN_SIZE) + { + lpmmi->ptMinTrackSize.x = window_private->hint_min_width; + lpmmi->ptMinTrackSize.y = window_private->hint_min_height; + } + if (window_private->hint_flags & GDK_HINT_MAX_SIZE) + { + lpmmi->ptMaxTrackSize.x = window_private->hint_max_width; + lpmmi->ptMaxTrackSize.y = window_private->hint_max_height; + + lpmmi->ptMaxSize.x = window_private->hint_max_width; + lpmmi->ptMaxSize.y = window_private->hint_max_height; + } + break; +#endif case WM_MOVE: GDK_NOTE (EVENTS, g_print ("WM_MOVE: %#x +%d+%d\n", |