initial commit
[profile/ivi/xorg-x11-server.git] / hw / xfree86 / shadowfb / shadowfb.h
1
2 #ifndef _SHADOWFB_H
3 #define _SHADOWFB_H
4
5 #include "xf86str.h"
6
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);
13
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 );
27
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 );
42
43 #endif /* _SHADOWFB_H */