1706f2543Smrg 2706f2543Smrg#ifndef _SHADOWFB_H 3706f2543Smrg#define _SHADOWFB_H 4706f2543Smrg 5706f2543Smrg#include "xf86str.h" 6706f2543Smrg 7706f2543Smrg/* 8706f2543Smrg * User defined callback function. Passed a pointer to the ScrnInfo struct, 9706f2543Smrg * the number of dirty rectangles, and a pointer to the first dirty rectangle 10706f2543Smrg * in the array. 11706f2543Smrg */ 12706f2543Smrgtypedef void (*RefreshAreaFuncPtr)(ScrnInfoPtr, int, BoxPtr); 13706f2543Smrg 14706f2543Smrg/* 15706f2543Smrg * ShadowFBInit initializes the shadowfb subsystem. refreshArea is a pointer 16706f2543Smrg * to a user supplied callback function. This function will be called after 17706f2543Smrg * any operation that modifies the framebuffer. The newly dirtied rectangles 18706f2543Smrg * are passed to the callback. 19706f2543Smrg * 20706f2543Smrg * Returns FALSE in the event of an error. 21706f2543Smrg */ 22706f2543Smrgextern _X_EXPORT Bool 23706f2543SmrgShadowFBInit ( 24706f2543Smrg ScreenPtr pScreen, 25706f2543Smrg RefreshAreaFuncPtr refreshArea 26706f2543Smrg); 27706f2543Smrg 28706f2543Smrg/* 29706f2543Smrg * ShadowFBInit2 is a more featureful refinement of the original shadowfb. 30706f2543Smrg * ShadowFBInit2 allows you to specify two callbacks, one to be called 31706f2543Smrg * immediately before an operation that modifies the framebuffer, and another 32706f2543Smrg * to be called immediately after. 33706f2543Smrg * 34706f2543Smrg * Returns FALSE in the event of an error 35706f2543Smrg */ 36706f2543Smrgextern _X_EXPORT Bool 37706f2543SmrgShadowFBInit2 ( 38706f2543Smrg ScreenPtr pScreen, 39706f2543Smrg RefreshAreaFuncPtr preRefreshArea, 40706f2543Smrg RefreshAreaFuncPtr postRefreshArea 41706f2543Smrg); 42706f2543Smrg 43706f2543Smrg#endif /* _SHADOWFB_H */ 44