Set also the pointer button bits. (#136636, Dave Neary)
2004-03-10 Tor Lillqvist <tml@iki.fi> * gdk/win32/gdkevents-win32.c (build_key_event_state): Set also the pointer button bits. (#136636, Dave Neary) * gdk/win32/gdkwindow-win32.c (show_window_internal): Show transparent (input only) windows using SetWindowPos(). (#132331, John Ehresman) (gdk_window_set_type_hint): For splash screens, remove the resize handles, menu, and minimize/maximize/close buttons. (#132896)
This commit is contained in:
committed by
Tor Lillqvist
parent
ebd1f209e2
commit
6e5d959730
12
ChangeLog
12
ChangeLog
@ -1,3 +1,15 @@
|
||||
2004-03-10 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (build_key_event_state): Set also
|
||||
the pointer button bits. (#136636, Dave Neary)
|
||||
|
||||
* gdk/win32/gdkwindow-win32.c (show_window_internal): Show
|
||||
transparent (input only) windows using SetWindowPos(). (#132331,
|
||||
John Ehresman)
|
||||
|
||||
(gdk_window_set_type_hint): For splash screens, remove the resize
|
||||
handles, menu, and minimize/maximize/close buttons. (#132896)
|
||||
|
||||
Wed Mar 10 22:30:23 2004 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear): Keep the
|
||||
|
||||
@ -1,3 +1,15 @@
|
||||
2004-03-10 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (build_key_event_state): Set also
|
||||
the pointer button bits. (#136636, Dave Neary)
|
||||
|
||||
* gdk/win32/gdkwindow-win32.c (show_window_internal): Show
|
||||
transparent (input only) windows using SetWindowPos(). (#132331,
|
||||
John Ehresman)
|
||||
|
||||
(gdk_window_set_type_hint): For splash screens, remove the resize
|
||||
handles, menu, and minimize/maximize/close buttons. (#132896)
|
||||
|
||||
Wed Mar 10 22:30:23 2004 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear): Keep the
|
||||
|
||||
@ -1,3 +1,15 @@
|
||||
2004-03-10 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (build_key_event_state): Set also
|
||||
the pointer button bits. (#136636, Dave Neary)
|
||||
|
||||
* gdk/win32/gdkwindow-win32.c (show_window_internal): Show
|
||||
transparent (input only) windows using SetWindowPos(). (#132331,
|
||||
John Ehresman)
|
||||
|
||||
(gdk_window_set_type_hint): For splash screens, remove the resize
|
||||
handles, menu, and minimize/maximize/close buttons. (#132896)
|
||||
|
||||
Wed Mar 10 22:30:23 2004 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear): Keep the
|
||||
|
||||
@ -1,3 +1,15 @@
|
||||
2004-03-10 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (build_key_event_state): Set also
|
||||
the pointer button bits. (#136636, Dave Neary)
|
||||
|
||||
* gdk/win32/gdkwindow-win32.c (show_window_internal): Show
|
||||
transparent (input only) windows using SetWindowPos(). (#132331,
|
||||
John Ehresman)
|
||||
|
||||
(gdk_window_set_type_hint): For splash screens, remove the resize
|
||||
handles, menu, and minimize/maximize/close buttons. (#132896)
|
||||
|
||||
Wed Mar 10 22:30:23 2004 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear): Keep the
|
||||
|
||||
@ -1,3 +1,15 @@
|
||||
2004-03-10 Tor Lillqvist <tml@iki.fi>
|
||||
|
||||
* gdk/win32/gdkevents-win32.c (build_key_event_state): Set also
|
||||
the pointer button bits. (#136636, Dave Neary)
|
||||
|
||||
* gdk/win32/gdkwindow-win32.c (show_window_internal): Show
|
||||
transparent (input only) windows using SetWindowPos(). (#132331,
|
||||
John Ehresman)
|
||||
|
||||
(gdk_window_set_type_hint): For splash screens, remove the resize
|
||||
handles, menu, and minimize/maximize/close buttons. (#132896)
|
||||
|
||||
Wed Mar 10 22:30:23 2004 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear): Keep the
|
||||
|
||||
@ -79,6 +79,11 @@
|
||||
#define XBUTTON2 2
|
||||
#endif
|
||||
|
||||
#ifndef VK_XBUTTON1
|
||||
#define VK_XBUTTON1 5
|
||||
#define VK_XBUTTON2 6
|
||||
#endif
|
||||
|
||||
#ifndef MK_XBUTTON1
|
||||
#define MK_XBUTTON1 32
|
||||
#define MK_XBUTTON2 64
|
||||
@ -827,6 +832,17 @@ build_key_event_state (GdkEvent *event,
|
||||
if (key_state[VK_CAPITAL] & 0x01)
|
||||
event->key.state |= GDK_LOCK_MASK;
|
||||
|
||||
if (key_state[VK_LBUTTON] & 0x80)
|
||||
event->key.state |= GDK_BUTTON1_MASK;
|
||||
if (key_state[VK_MBUTTON] & 0x80)
|
||||
event->key.state |= GDK_BUTTON2_MASK;
|
||||
if (key_state[VK_RBUTTON] & 0x80)
|
||||
event->key.state |= GDK_BUTTON3_MASK;
|
||||
if (key_state[VK_XBUTTON1] & 0x80)
|
||||
event->key.state |= GDK_BUTTON4_MASK;
|
||||
if (key_state[VK_XBUTTON2] & 0x80)
|
||||
event->key.state |= GDK_BUTTON5_MASK;
|
||||
|
||||
/* Win9x doesn't distinguish between left and right Control and Alt
|
||||
* in the keyboard state as returned by GetKeyboardState(), so we
|
||||
* have to punt, and accept either Control + either Alt to be AltGr.
|
||||
|
||||
@ -999,6 +999,21 @@ show_window_internal (GdkWindow *window,
|
||||
GDK_WINDOW_STATE_WITHDRAWN,
|
||||
0);
|
||||
|
||||
/* Use SetWindowPos to show transparent windows so automatic redraws
|
||||
* in other windows can be suppressed.
|
||||
*/
|
||||
if (GetWindowLong (GDK_WINDOW_HWND (window), GWL_EXSTYLE) & WS_EX_TRANSPARENT)
|
||||
{
|
||||
UINT flags = SWP_SHOWWINDOW | SWP_NOREDRAW | SWP_NOMOVE | SWP_NOSIZE;
|
||||
if (!raise)
|
||||
flags |= SWP_NOZORDER;
|
||||
if (!raise || GDK_WINDOW_TYPE (window) == GDK_WINDOW_TEMP)
|
||||
flags |= SWP_NOACTIVATE;
|
||||
|
||||
SetWindowPos (GDK_WINDOW_HWND (window), HWND_TOP, 0, 0, 0, 0, flags);
|
||||
return;
|
||||
}
|
||||
|
||||
old_active_window = GetActiveWindow ();
|
||||
|
||||
if (private->state & (GDK_WINDOW_STATE_BELOW | GDK_WINDOW_STATE_ABOVE))
|
||||
@ -1078,8 +1093,8 @@ gdk_window_hide (GdkWindow *window)
|
||||
|
||||
if (GetWindowLong (GDK_WINDOW_HWND (window), GWL_EXSTYLE) & WS_EX_TRANSPARENT)
|
||||
{
|
||||
SetWindowPos(GDK_WINDOW_HWND (window), HWND_BOTTOM, 0, 0, 0, 0,
|
||||
SWP_HIDEWINDOW | SWP_NOREDRAW | SWP_NOZORDER | SWP_NOMOVE | SWP_NOSIZE);
|
||||
SetWindowPos (GDK_WINDOW_HWND (window), HWND_BOTTOM, 0, 0, 0, 0,
|
||||
SWP_HIDEWINDOW | SWP_NOREDRAW | SWP_NOZORDER | SWP_NOMOVE | SWP_NOSIZE);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -3114,6 +3129,12 @@ gdk_window_set_type_hint (GdkWindow *window,
|
||||
case GDK_WINDOW_TYPE_HINT_UTILITY:
|
||||
break;
|
||||
case GDK_WINDOW_TYPE_HINT_SPLASHSCREEN:
|
||||
gdk_window_set_decorations (window,
|
||||
GDK_DECOR_ALL |
|
||||
GDK_DECOR_RESIZEH |
|
||||
GDK_DECOR_MENU |
|
||||
GDK_DECOR_MINIMIZE |
|
||||
GDK_DECOR_MAXIMIZE);
|
||||
break;
|
||||
case GDK_WINDOW_TYPE_HINT_DOCK:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user