105b261ecSmrg 205b261ecSmrg#ifndef _SHADOWFB_H 305b261ecSmrg#define _SHADOWFB_H 405b261ecSmrg 505b261ecSmrg#include "xf86str.h" 605b261ecSmrg 705b261ecSmrg/* 805b261ecSmrg * User defined callback function. Passed a pointer to the ScrnInfo struct, 905b261ecSmrg * the number of dirty rectangles, and a pointer to the first dirty rectangle 1005b261ecSmrg * in the array. 1105b261ecSmrg */ 1235c4bbdfSmrgtypedef void (*RefreshAreaFuncPtr) (ScrnInfoPtr, int, BoxPtr); 1305b261ecSmrg 1405b261ecSmrg/* 1505b261ecSmrg * ShadowFBInit initializes the shadowfb subsystem. refreshArea is a pointer 1605b261ecSmrg * to a user supplied callback function. This function will be called after 1705b261ecSmrg * any operation that modifies the framebuffer. The newly dirtied rectangles 1805b261ecSmrg * are passed to the callback. 1905b261ecSmrg * 2005b261ecSmrg * Returns FALSE in the event of an error. 2105b261ecSmrg */ 226747b715Smrgextern _X_EXPORT Bool 2335c4bbdfSmrg ShadowFBInit(ScreenPtr pScreen, RefreshAreaFuncPtr refreshArea); 2405b261ecSmrg 2505b261ecSmrg/* 2605b261ecSmrg * ShadowFBInit2 is a more featureful refinement of the original shadowfb. 2705b261ecSmrg * ShadowFBInit2 allows you to specify two callbacks, one to be called 2805b261ecSmrg * immediately before an operation that modifies the framebuffer, and another 2935c4bbdfSmrg * to be called immediately after. 3005b261ecSmrg * 3105b261ecSmrg * Returns FALSE in the event of an error 3205b261ecSmrg */ 336747b715Smrgextern _X_EXPORT Bool 3405b261ecSmrg 3535c4bbdfSmrgShadowFBInit2(ScreenPtr pScreen, 3635c4bbdfSmrg RefreshAreaFuncPtr preRefreshArea, 3735c4bbdfSmrg RefreshAreaFuncPtr postRefreshArea); 3835c4bbdfSmrg 3935c4bbdfSmrg#endif /* _SHADOWFB_H */ 40