static void
send_crossing_event (GdkDisplay *display,
- GdkSurface *window,
+ GdkDevice *physical_device,
+ GdkSurface *window,
GdkEventType type,
GdkCrossingMode mode,
GdkNotifyType notify_type,
- GdkSurface *subwindow,
+ GdkSurface *subwindow,
POINT *screen_pt,
GdkModifierType mask,
guint32 time_)
pt.y / impl->surface_scale,
mode,
notify_type);
-
+
_gdk_win32_append_event (event);
}
void
synthesize_crossing_events (GdkDisplay *display,
- GdkSurface *src,
- GdkSurface *dest,
+ GdkDevice *physical_device,
+ GdkSurface *src,
+ GdkSurface *dest,
GdkCrossingMode mode,
POINT *screen_pt,
GdkModifierType mask,
else
notify_type = GDK_NOTIFY_ANCESTOR;
send_crossing_event (display,
+ physical_device,
a, GDK_LEAVE_NOTIFY,
mode,
notify_type,
while (win != c && win != NULL)
{
send_crossing_event (display,
+ physical_device,
win, GDK_LEAVE_NOTIFY,
mode,
notify_type,
next = b;
send_crossing_event (display,
+ physical_device,
win, GDK_ENTER_NOTIFY,
mode,
notify_type,
notify_type = GDK_NOTIFY_INFERIOR;
send_crossing_event (display,
+ physical_device,
b, GDK_ENTER_NOTIFY,
mode,
notify_type,
}
synthesize_crossing_events (display,
+ _gdk_device_manager->system_pointer,
implicit_grab_surface, new_window,
GDK_CROSSING_UNGRAB,
&msg->pt,
mouse_window ? GDK_SURFACE_HWND (mouse_window) : NULL,
new_window ? GDK_SURFACE_HWND (new_window) : NULL));
synthesize_crossing_events (display,
+ _gdk_device_manager->system_pointer,
mouse_window, new_window,
GDK_CROSSING_NORMAL,
&msg->pt,
if (!ignore_leave)
synthesize_crossing_events (display,
+ _gdk_device_manager->system_pointer,
mouse_window, new_window,
GDK_CROSSING_NORMAL,
&msg->pt,