summaryrefslogtreecommitdiff
path: root/mi
diff options
context:
space:
mode:
Diffstat (limited to 'mi')
-rw-r--r--mi/mipointer.c15
-rw-r--r--mi/mipointer.h6
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);