diff options
author | Keith Packard <keithp@keithp.com> | 2016-05-18 16:03:47 -0500 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2016-05-25 11:00:56 -0400 |
commit | 3f9015b6dc9e7e9c97f8717dea6af9f4d8523f2e (patch) | |
tree | 2af3c7d519d0e9f4b571f8aa735812b7e13fa50b /mi | |
parent | 4e124203f2260daaf54155f4a05fe469733e0b97 (diff) |
xwayland: Move sprite invalidation logic into mipointer
This creates a function that invalidates the current sprite and forces
a sprite image reload the next time the sprite is checked, moving that
logic out of the xwayland sources and allowing the miPointerRec
structure to be removed from the server API.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Diffstat (limited to 'mi')
-rw-r--r-- | mi/mipointer.c | 15 | ||||
-rw-r--r-- | mi/mipointer.h | 6 |
2 files changed, 21 insertions, 0 deletions
diff --git a/mi/mipointer.c b/mi/mipointer.c index ada1ab570..7f95cdbad 100644 --- a/mi/mipointer.c +++ b/mi/mipointer.c @@ -468,6 +468,21 @@ miPointerUpdateSprite(DeviceIntPtr pDev) } /** + * Invalidate the current sprite and force it to be reloaded on next cursor setting + * operation + * + * @param pDev The device to invalidate the sprite fore + */ +void +miPointerInvalidateSprite(DeviceIntPtr pDev) +{ + miPointerPtr pPointer; + + pPointer = MIPOINTER(pDev); + pPointer->pSpriteCursor = (CursorPtr) 1; +} + +/** * Set the device to the coordinates on the given screen. * * @param pDev The device to move diff --git a/mi/mipointer.h b/mi/mipointer.h index bdeed1242..7ce6409b3 100644 --- a/mi/mipointer.h +++ b/mi/mipointer.h @@ -109,6 +109,12 @@ miPointerSetPosition(DeviceIntPtr pDev, int mode, double *x, double *y, extern _X_EXPORT void miPointerUpdateSprite(DeviceIntPtr pDev); +/* Invalidate current sprite, forcing reload on next + * sprite setting (window crossing, grab action, etc) + */ +extern _X_EXPORT void +miPointerInvalidateSprite(DeviceIntPtr pDev); + /* Sets whether the sprite should be updated immediately on pointer moves */ extern _X_EXPORT Bool miPointerSetWaitForUpdate(ScreenPtr pScreen, Bool wait); |