Imported Upstream version 1.15.1
[deb_xorg-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(ScreenPtr pScreen, RefreshAreaFuncPtr refreshArea);
24
25 /*
26 * ShadowFBInit2 is a more featureful refinement of the original shadowfb.
27 * ShadowFBInit2 allows you to specify two callbacks, one to be called
28 * immediately before an operation that modifies the framebuffer, and another
29 * to be called immediately after.
30 *
31 * Returns FALSE in the event of an error
32 */
33 extern _X_EXPORT Bool
34
35 ShadowFBInit2(ScreenPtr pScreen,
36 RefreshAreaFuncPtr preRefreshArea,
37 RefreshAreaFuncPtr postRefreshArea);
38
39 #endif /* _SHADOWFB_H */