Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Dorota Czaplejewicz
gtk
Commits
9635f096
Commit
9635f096
authored
Dec 13, 2010
by
Matthias Clasen
Browse files
Move warp functions to the frontend
There were already GdkDevice vfuncs for this.
parent
4a74060d
Changes
2
Hide whitespace changes
Inline
Side-by-side
gdk/gdkdisplay.c
View file @
9635f096
...
...
@@ -26,6 +26,7 @@
#include
"gdkdisplay.h"
#include
"gdkdisplayprivate.h"
#include
"gdkdeviceprivate.h"
#include
"gdkevents.h"
#include
"gdkwindowimpl.h"
#include
"gdkinternals.h"
...
...
@@ -2338,3 +2339,75 @@ gdk_display_get_maximal_cursor_size (GdkDisplay *display,
width
,
height
);
}
/**
* gdk_display_warp_pointer:
* @display: a #GdkDisplay
* @screen: the screen of @display to warp the pointer to
* @x: the x coordinate of the destination
* @y: the y coordinate of the destination
*
* Warps the pointer of @display to the point @x,@y on
* the screen @screen, unless the pointer is confined
* to a window by a grab, in which case it will be moved
* as far as allowed by the grab. Warping the pointer
* creates events as if the user had moved the mouse
* instantaneously to the destination.
*
* Note that the pointer should normally be under the
* control of the user. This function was added to cover
* some rare use cases like keyboard navigation support
* for the color picker in the #GtkColorSelectionDialog.
*
* Since: 2.8
*
* Deprecated: 3.0: Use gdk_display_warp_device() instead.
*/
void
gdk_display_warp_pointer
(
GdkDisplay
*
display
,
GdkScreen
*
screen
,
gint
x
,
gint
y
)
{
gdk_display_warp_device
(
display
,
display
->
core_pointer
,
screen
,
x
,
y
);
}
/**
* gdk_display_warp_device:
* @display: a #GdkDisplay.
* @device: a #GdkDevice.
* @screen: the screen of @display to warp @device to.
* @x: the X coordinate of the destination.
* @y: the Y coordinate of the destination.
*
* Warps @device in @display to the point @x,@y on
* the screen @screen, unless the device is confined
* to a window by a grab, in which case it will be moved
* as far as allowed by the grab. Warping the pointer
* creates events as if the user had moved the mouse
* instantaneously to the destination.
*
* Note that the pointer should normally be under the
* control of the user. This function was added to cover
* some rare use cases like keyboard navigation support
* for the color picker in the #GtkColorSelectionDialog.
*
* Since: 3.0
**/
void
gdk_display_warp_device
(
GdkDisplay
*
display
,
GdkDevice
*
device
,
GdkScreen
*
screen
,
gint
x
,
gint
y
)
{
g_return_if_fail
(
GDK_IS_DISPLAY
(
display
));
g_return_if_fail
(
GDK_IS_DEVICE
(
device
));
g_return_if_fail
(
GDK_IS_SCREEN
(
screen
));
g_return_if_fail
(
display
==
gdk_device_get_display
(
device
));
GDK_DEVICE_GET_CLASS
(
device
)
->
warp
(
device
,
screen
,
x
,
y
);
}
gdk/x11/gdkwindow-x11.c
View file @
9635f096
...
...
@@ -2891,81 +2891,6 @@ gdk_window_x11_get_device_state (GdkWindow *window,
return
return_val
;
}
/**
* gdk_display_warp_pointer:
* @display: a #GdkDisplay
* @screen: the screen of @display to warp the pointer to
* @x: the x coordinate of the destination
* @y: the y coordinate of the destination
*
* Warps the pointer of @display to the point @x,@y on
* the screen @screen, unless the pointer is confined
* to a window by a grab, in which case it will be moved
* as far as allowed by the grab. Warping the pointer
* creates events as if the user had moved the mouse
* instantaneously to the destination.
*
* Note that the pointer should normally be under the
* control of the user. This function was added to cover
* some rare use cases like keyboard navigation support
* for the color picker in the #GtkColorSelectionDialog.
*
* Since: 2.8
*
* Deprecated: 3.0: Use gdk_display_warp_device() instead.
*/
void
gdk_display_warp_pointer
(
GdkDisplay
*
display
,
GdkScreen
*
screen
,
gint
x
,
gint
y
)
{
GdkDevice
*
device
;
g_return_if_fail
(
GDK_IS_DISPLAY
(
display
));
g_return_if_fail
(
GDK_IS_SCREEN
(
screen
));
device
=
display
->
core_pointer
;
GDK_DEVICE_GET_CLASS
(
device
)
->
warp
(
device
,
screen
,
x
,
y
);
}
/**
* gdk_display_warp_device:
* @display: a #GdkDisplay.
* @device: a #GdkDevice.
* @screen: the screen of @display to warp @device to.
* @x: the X coordinate of the destination.
* @y: the Y coordinate of the destination.
*
* Warps @device in @display to the point @x,@y on
* the screen @screen, unless the device is confined
* to a window by a grab, in which case it will be moved
* as far as allowed by the grab. Warping the pointer
* creates events as if the user had moved the mouse
* instantaneously to the destination.
*
* Note that the pointer should normally be under the
* control of the user. This function was added to cover
* some rare use cases like keyboard navigation support
* for the color picker in the #GtkColorSelectionDialog.
*
* Since: 3.0
**/
void
gdk_display_warp_device
(
GdkDisplay
*
display
,
GdkDevice
*
device
,
GdkScreen
*
screen
,
gint
x
,
gint
y
)
{
g_return_if_fail
(
GDK_IS_DISPLAY
(
display
));
g_return_if_fail
(
GDK_IS_DEVICE
(
device
));
g_return_if_fail
(
GDK_IS_SCREEN
(
screen
));
g_return_if_fail
(
display
==
gdk_device_get_display
(
device
));
GDK_DEVICE_GET_CLASS
(
device
)
->
warp
(
device
,
screen
,
x
,
y
);
}
GdkWindow
*
_gdk_windowing_window_at_device_position
(
GdkDisplay
*
display
,
GdkDevice
*
device
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment