2 #ifndef _SHADOWFB_H
3 #define _SHADOWFB_H
5 #include "xf86str.h"
7 /*
8 * User defined callback function. Passed a pointer to the ScrnInfo struct,
9 * the number of dirty rectangles, and a pointer to the first dirty rectangle
10 * in the array.
11 */
12 typedef void (*RefreshAreaFuncPtr)(ScrnInfoPtr, int, BoxPtr);
14 /*
15 * ShadowFBInit initializes the shadowfb subsystem. refreshArea is a pointer
16 * to a user supplied callback function. This function will be called after
17 * any operation that modifies the framebuffer. The newly dirtied rectangles
18 * are passed to the callback.
19 *
20 * Returns FALSE in the event of an error.
21 */
22 extern _X_EXPORT Bool
23 ShadowFBInit (
24 ScreenPtr pScreen,
25 RefreshAreaFuncPtr refreshArea
26 );
28 /*
29 * ShadowFBInit2 is a more featureful refinement of the original shadowfb.
30 * ShadowFBInit2 allows you to specify two callbacks, one to be called
31 * immediately before an operation that modifies the framebuffer, and another
32 * to be called immediately after.
33 *
34 * Returns FALSE in the event of an error
35 */
36 extern _X_EXPORT Bool
37 ShadowFBInit2 (
38 ScreenPtr pScreen,
39 RefreshAreaFuncPtr preRefreshArea,
40 RefreshAreaFuncPtr postRefreshArea
41 );
43 #endif /* _SHADOWFB_H */