win32: Remove some unused input stuff to make win32 build again

Input events doesn't quite seem to work though, so it needs some fixing.
This commit is contained in:
Alexander Larsson 2012-03-06 12:03:13 +01:00
parent 68fe42ac26
commit 7430559736
7 changed files with 17 additions and 111 deletions

View File

@ -184,7 +184,6 @@ struct _GdkWindow
gint y; gint y;
GdkEventMask event_mask; GdkEventMask event_mask;
gint extension_events;
GList *filters; GList *filters;
GList *children; GList *children;

View File

@ -250,6 +250,17 @@ gdk_device_wintab_select_window_events (GdkDevice *device,
} }
} }
gboolean
_gdk_device_wintab_wants_events (GdkWindow *window)
{
GdkWindowInputInfo *info;
info = g_object_get_qdata (G_OBJECT (window),
quark_window_input_info);
return info != NULL;
}
GdkEventMask GdkEventMask
_gdk_device_wintab_get_events (GdkDeviceWintab *device, _gdk_device_wintab_get_events (GdkDeviceWintab *device,
GdkWindow *window) GdkWindow *window)
@ -359,26 +370,3 @@ _gdk_device_wintab_translate_axes (GdkDeviceWintab *device_wintab,
if (y) if (y)
*y = temp_y; *y = temp_y;
} }
void
_gdk_input_check_extension_events (GdkDevice *device)
{
GSList *l;
if (!GDK_IS_DEVICE_WINTAB (device))
return;
for (l = input_windows; l; l = l->next)
{
GdkWindow *window_private;
GdkEventMask event_mask = 0;
window_private = l->data;
if (gdk_device_get_mode (device) != GDK_MODE_DISABLED)
event_mask = window_private->extension_events;
gdk_window_set_device_events (GDK_WINDOW (window_private),
device, event_mask);
}
}

View File

@ -59,6 +59,7 @@ struct _GdkDeviceWintabClass
GType gdk_device_wintab_get_type (void) G_GNUC_CONST; GType gdk_device_wintab_get_type (void) G_GNUC_CONST;
gboolean _gdk_device_wintab_wants_events (GdkWindow *window);
GdkEventMask _gdk_device_wintab_get_events (GdkDeviceWintab *device, GdkEventMask _gdk_device_wintab_get_events (GdkDeviceWintab *device,
GdkWindow *window); GdkWindow *window);
gboolean _gdk_device_wintab_get_window_coords (GdkWindow *window, gboolean _gdk_device_wintab_get_window_coords (GdkWindow *window,

View File

@ -1135,7 +1135,7 @@ send_crossing_event (GdkDisplay *display,
_gdk_win32_append_event (event); _gdk_win32_append_event (event);
if (type == GDK_ENTER_NOTIFY && if (type == GDK_ENTER_NOTIFY &&
window->extension_events != 0) _gdk_device_wintab_wants_events (window))
_gdk_device_wintab_update_window_coords (window); _gdk_device_wintab_update_window_coords (window);
} }
@ -1320,23 +1320,12 @@ propagate (GdkWindow **window,
gboolean grab_owner_events, gboolean grab_owner_events,
gint grab_mask, gint grab_mask,
gboolean (*doesnt_want_it) (gint mask, gboolean (*doesnt_want_it) (gint mask,
MSG *msg), MSG *msg))
gboolean check_extended)
{ {
if (grab_window != NULL && !grab_owner_events) if (grab_window != NULL && !grab_owner_events)
{ {
/* Event source is grabbed with owner_events FALSE */ /* Event source is grabbed with owner_events FALSE */
/* See if the event should be ignored because an extended input
* device is used
*/
if (check_extended &&
grab_window->extension_events != 0 &&
_gdk_input_ignore_core)
{
GDK_NOTE (EVENTS, g_print (" (ignored for grabber)"));
return FALSE;
}
if ((*doesnt_want_it) (grab_mask, msg)) if ((*doesnt_want_it) (grab_mask, msg))
{ {
GDK_NOTE (EVENTS, g_print (" (grabber doesn't want it)")); GDK_NOTE (EVENTS, g_print (" (grabber doesn't want it)"));
@ -1355,13 +1344,6 @@ propagate (GdkWindow **window,
*/ */
while (TRUE) while (TRUE)
{ {
if (check_extended &&
(*window)->extension_events != 0 &&
_gdk_input_ignore_core)
{
GDK_NOTE (EVENTS, g_print (" (ignored)"));
return FALSE;
}
if ((*doesnt_want_it) ((*window)->event_mask, msg)) if ((*doesnt_want_it) ((*window)->event_mask, msg))
{ {
/* Owner doesn't want it, propagate to parent. */ /* Owner doesn't want it, propagate to parent. */
@ -1373,13 +1355,6 @@ propagate (GdkWindow **window,
{ {
/* Event source is grabbed with owner_events TRUE */ /* Event source is grabbed with owner_events TRUE */
if (check_extended &&
grab_window->extension_events != 0 &&
_gdk_input_ignore_core)
{
GDK_NOTE (EVENTS, g_print (" (ignored for grabber)"));
return FALSE;
}
if ((*doesnt_want_it) (grab_mask, msg)) if ((*doesnt_want_it) (grab_mask, msg))
{ {
/* Grabber doesn't want it either */ /* Grabber doesn't want it either */
@ -2061,7 +2036,7 @@ gdk_event_translate (MSG *msg,
keyboard_grab->window, keyboard_grab->window,
keyboard_grab->owner_events, keyboard_grab->owner_events,
GDK_ALL_EVENTS_MASK, GDK_ALL_EVENTS_MASK,
doesnt_want_key, FALSE)) doesnt_want_key))
break; break;
if (GDK_WINDOW_DESTROYED (window)) if (GDK_WINDOW_DESTROYED (window))
@ -2171,7 +2146,7 @@ gdk_event_translate (MSG *msg,
keyboard_grab->window, keyboard_grab->window,
keyboard_grab->owner_events, keyboard_grab->owner_events,
GDK_ALL_EVENTS_MASK, GDK_ALL_EVENTS_MASK,
doesnt_want_char, FALSE)) doesnt_want_char))
break; break;
if (GDK_WINDOW_DESTROYED (window)) if (GDK_WINDOW_DESTROYED (window))
@ -2276,14 +2251,6 @@ gdk_event_translate (MSG *msg,
GET_X_LPARAM (msg->lParam), GET_Y_LPARAM (msg->lParam))); GET_X_LPARAM (msg->lParam), GET_Y_LPARAM (msg->lParam)));
assign_object (&window, find_window_for_mouse_event (window, msg)); assign_object (&window, find_window_for_mouse_event (window, msg));
#if 0
if (window->extension_events != 0 &&
_gdk_input_ignore_core)
{
GDK_NOTE (EVENTS, g_print (" (ignored)"));
break;
}
#endif
if (pointer_grab != NULL && pointer_grab->implicit) if (pointer_grab != NULL && pointer_grab->implicit)
{ {
@ -2797,7 +2764,7 @@ gdk_event_translate (MSG *msg,
!GDK_WINDOW_DESTROYED (window)) !GDK_WINDOW_DESTROYED (window))
_gdk_win32_emit_configure_event (window); _gdk_win32_emit_configure_event (window);
if (window->extension_events != 0) if (_gdk_device_wintab_wants_events (window))
_gdk_device_wintab_update_window_coords (window); _gdk_device_wintab_update_window_coords (window);
} }

View File

@ -57,51 +57,6 @@ _gdk_win32_display_list_devices (GdkDisplay *dpy)
return _gdk_input_devices; return _gdk_input_devices;
} }
/* FIXME: this routine currently needs to be called between creation
and the corresponding configure event (because it doesn't get the
root_relative_geometry). This should work with
gtk_window_set_extension_events, but will likely fail in other
cases */
void
gdk_input_set_extension_events (GdkWindow *window, gint mask,
GdkExtensionMode mode)
{
GdkDeviceManager *device_manager;
GList *devices, *d;
g_return_if_fail (GDK_IS_WINDOW (window));
if (GDK_WINDOW_DESTROYED (window))
return;
if (mode == GDK_EXTENSION_EVENTS_NONE)
mask = 0;
window->extension_events = mask;
device_manager = gdk_display_get_device_manager (_gdk_display);
devices = gdk_device_manager_list_devices (device_manager,
GDK_DEVICE_TYPE_FLOATING);
for (d = devices; d; d = d->next)
{
GdkDevice *dev;
gint dev_mask;
dev = d->data;
dev_mask = mask;
if (gdk_device_get_mode (dev) == GDK_MODE_DISABLED ||
(!gdk_device_get_has_cursor (dev) && mode == GDK_EXTENSION_EVENTS_CURSOR))
dev_mask = 0;
gdk_window_set_device_events (window, dev, mask);
}
g_list_free (devices);
}
void void
_gdk_input_init (GdkDisplay *display) _gdk_input_init (GdkDisplay *display)
{ {

View File

@ -135,7 +135,6 @@ gdk_window_impl_win32_init (GdkWindowImplWin32 *impl)
impl->hicon_small = NULL; impl->hicon_small = NULL;
impl->hint_flags = 0; impl->hint_flags = 0;
impl->type_hint = GDK_WINDOW_TYPE_HINT_NORMAL; impl->type_hint = GDK_WINDOW_TYPE_HINT_NORMAL;
impl->extension_events_selected = FALSE;
impl->transient_owner = NULL; impl->transient_owner = NULL;
impl->transient_children = NULL; impl->transient_children = NULL;
impl->num_transients = 0; impl->num_transients = 0;
@ -490,7 +489,6 @@ _gdk_win32_display_create_window_impl (GdkDisplay *display,
if (attributes_mask & GDK_WA_VISUAL) if (attributes_mask & GDK_WA_VISUAL)
g_assert (gdk_screen_get_system_visual (screen) == attributes->visual); g_assert (gdk_screen_get_system_visual (screen) == attributes->visual);
impl->extension_events_selected = FALSE;
impl->override_redirect = override_redirect; impl->override_redirect = override_redirect;
/* wclass is not any longer set always, but if is ... */ /* wclass is not any longer set always, but if is ... */

View File

@ -67,8 +67,6 @@ struct _GdkWindowImplWin32
GdkWindowTypeHint type_hint; GdkWindowTypeHint type_hint;
gboolean extension_events_selected;
GdkWindow *transient_owner; GdkWindow *transient_owner;
GSList *transient_children; GSList *transient_children;
gint num_transients; gint num_transients;