update WarpPointer for GTK3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -233,29 +233,6 @@ int g_lastButtonNumber = 0;
|
|||||||
// the trace mask used for the focus debugging messages
|
// the trace mask used for the focus debugging messages
|
||||||
#define TRACE_FOCUS wxT("focus")
|
#define TRACE_FOCUS wxT("focus")
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
// missing gdk functions
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
void
|
|
||||||
gdk_window_warp_pointer (GdkWindow *window,
|
|
||||||
gint x,
|
|
||||||
gint y)
|
|
||||||
{
|
|
||||||
if (!window)
|
|
||||||
window = gdk_get_default_root_window();
|
|
||||||
|
|
||||||
if (!GDK_WINDOW_DESTROYED(window))
|
|
||||||
{
|
|
||||||
XWarpPointer (GDK_WINDOW_XDISPLAY(window),
|
|
||||||
None, /* not source window -> move from anywhere */
|
|
||||||
GDK_WINDOW_XID(window), /* dest window */
|
|
||||||
0, 0, 0, 0, /* not source window -> move from anywhere */
|
|
||||||
x, y );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// "size_request" of m_widget
|
// "size_request" of m_widget
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@@ -3558,17 +3535,18 @@ void wxWindowGTK::WarpPointer( int x, int y )
|
|||||||
{
|
{
|
||||||
wxCHECK_RET( (m_widget != NULL), wxT("invalid window") );
|
wxCHECK_RET( (m_widget != NULL), wxT("invalid window") );
|
||||||
|
|
||||||
// We provide this function ourselves as it is
|
ClientToScreen(&x, &y);
|
||||||
// missing in GDK (top of this file).
|
GdkDisplay* display = gtk_widget_get_display(m_widget);
|
||||||
|
GdkScreen* screen = gtk_widget_get_screen(m_widget);
|
||||||
GdkWindow *window = NULL;
|
#ifdef __WXGTK30__
|
||||||
if (m_wxwindow)
|
GdkDeviceManager* manager = gdk_display_get_device_manager(display);
|
||||||
window = gtk_widget_get_window(m_wxwindow);
|
gdk_device_warp(gdk_device_manager_get_client_pointer(manager), screen, x, y);
|
||||||
else
|
#else
|
||||||
window = gtk_widget_get_window(GetConnectWidget());
|
XWarpPointer(GDK_DISPLAY_XDISPLAY(display),
|
||||||
|
None,
|
||||||
if (window)
|
GDK_WINDOW_XID(gdk_screen_get_root_window(screen)),
|
||||||
gdk_window_warp_pointer( window, x, y );
|
0, 0, 0, 0, x, y);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
wxWindowGTK::ScrollDir wxWindowGTK::ScrollDirFromRange(GtkRange *range) const
|
wxWindowGTK::ScrollDir wxWindowGTK::ScrollDirFromRange(GtkRange *range) const
|
||||||
|
Reference in New Issue
Block a user