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
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 */
33extern _X_EXPORT Bool
34
35ShadowFBInit2(ScreenPtr pScreen,
36              RefreshAreaFuncPtr preRefreshArea,
37              RefreshAreaFuncPtr postRefreshArea);
38
39#endif                          /* _SHADOWFB_H */
40