diff options
author | David Reveman <davidr@novell.com> | 2008-05-27 12:41:26 -0400 |
---|---|---|
committer | David Reveman <davidr@novell.com> | 2008-10-30 03:36:41 -0400 |
commit | 8dacf32025d2fc6419e0f639636bdf97abcbc55b (patch) | |
tree | 80173a170b239bb2c0d170df02f0ab59a97540de /render | |
parent | 90483541ad00efd829d2f35f19fb7854c944a31b (diff) |
Add AnimForEachCursorElt function.
Diffstat (limited to 'render')
-rw-r--r-- | render/animcur.c | 20 | ||||
-rw-r--r-- | render/picturestr.h | 8 |
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_ */ |