summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
authorDavid Reveman <davidr@novell.com>2008-05-27 12:41:26 -0400
committerDavid Reveman <davidr@novell.com>2008-10-30 03:36:41 -0400
commit8dacf32025d2fc6419e0f639636bdf97abcbc55b (patch)
tree80173a170b239bb2c0d170df02f0ab59a97540de /render
parent90483541ad00efd829d2f35f19fb7854c944a31b (diff)
Add AnimForEachCursorElt function.
Diffstat (limited to 'render')
-rw-r--r--render/animcur.c20
-rw-r--r--render/picturestr.h8
2 files changed, 28 insertions, 0 deletions
diff --git a/render/animcur.c b/render/animcur.c
index 5723442fa..335feaa56 100644
--- a/render/animcur.c
+++ b/render/animcur.c
@@ -439,3 +439,23 @@ AnimCursorCreate (CursorPtr *cursors, CARD32 *deltas, int ncursor, CursorPtr *pp
*ppCursor = pCursor;
return Success;
}
+
+void
+AnimForEachCursorElt (ScreenPtr pScreen,
+ CursorPtr pCursor,
+ CursorProcPtr callBack)
+{
+ if (IsAnimCur (pCursor))
+ {
+ AnimCurPtr ac = GetAnimCur (pCursor);
+ int i;
+
+ for (i = 0; i < ac->nelt; i++)
+ (*callBack) (pScreen, ac->elts[i].pCursor);
+
+ }
+ else
+ {
+ (*callBack) (pScreen, pCursor);
+ }
+}
diff --git a/render/picturestr.h b/render/picturestr.h
index 1ce16be7d..71647e67f 100644
--- a/render/picturestr.h
+++ b/render/picturestr.h
@@ -673,4 +673,12 @@ void PanoramiXRenderInit (void);
void PanoramiXRenderReset (void);
#endif
+typedef void (*CursorProcPtr) (ScreenPtr pScreen,
+ CursorPtr pCursor);
+
+void
+AnimForEachCursorElt (ScreenPtr pScreen,
+ CursorPtr pCursor,
+ CursorProcPtr callBack);
+
#endif /* _PICTURESTR_H_ */