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 */
12typedef 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 */
22extern _X_EXPORT Bool
23ShadowFBInit (
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 */
36extern _X_EXPORT Bool
37ShadowFBInit2 (
38    ScreenPtr		pScreen,
39    RefreshAreaFuncPtr  preRefreshArea,
40    RefreshAreaFuncPtr  postRefreshArea
41);
42
43#endif /* _SHADOWFB_H */
44