[PATCH] mi: sprite: SaveUnderCursor2

Madhurkiran Harikrishnan madhurkiran.harikrishnan at xilinx.com
Mon Mar 8 22:09:37 UTC 2021


From: Hyun Kwon <hyun.kwon at xilinx.com>

Signed-off-by: Hyun Kwon <hyun.kwon at xilinx.com>
Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan at xilinx.com>
---
 mi/mipointer.h |  2 ++
 mi/misprite.c  | 17 +++++++++++++++++
 2 files changed, 19 insertions(+)

diff --git a/mi/mipointer.h b/mi/mipointer.h
index 7ce6409..107b24f 100644
--- a/mi/mipointer.h
+++ b/mi/mipointer.h
@@ -127,4 +127,6 @@ extern _X_EXPORT DevPrivateKeyRec miPointerScreenKeyRec;
 
 #define miPointerScreenKey (&miPointerScreenKeyRec)
 
+extern _X_EXPORT void miDCSaveUnderCursor2(ScreenPtr pScreen);
+
 #endif                          /* MIPOINTER_H */
diff --git a/mi/misprite.c b/mi/misprite.c
index add2c55..46ce9f0 100644
--- a/mi/misprite.c
+++ b/mi/misprite.c
@@ -955,3 +955,20 @@ miSpriteComputeSaved(DeviceIntPtr pDev, ScreenPtr pScreen)
     pCursorInfo->saved.x2 = pCursorInfo->saved.x1 + w + wpad * 2;
     pCursorInfo->saved.y2 = pCursorInfo->saved.y1 + h + hpad * 2;
 }
+
+void
+miDCSaveUnderCursor2(ScreenPtr pScreen)
+{
+	DeviceIntPtr pDev;
+	miCursorInfoPtr pCursorInfo;
+
+	for (pDev = inputInfo.devices; pDev; pDev = pDev->next) {
+		if (DevHasCursor(pDev)) {
+			pCursorInfo = GetSprite(pDev);
+			if (pCursorInfo && pCursorInfo->isUp
+			    && pCursorInfo->pScreen == pScreen) {
+				miSpriteSaveUnderCursor(pDev, pScreen);
+			}
+		}
+	}
+}
-- 
2.7.4



More information about the xorg-devel mailing list