#include <X11/Xlib.h> #include <X11/Xutil.h> #include <X11/extensions/Xrender.h> // Routines needed from Xlib.h and Xutil.h (placed here to avoid having // XVisualInfo generated multiple times) #ifndef _Xconst #define _Xconst const #endif /* _Xconst */ #include <XineramaHelper.h> extern intptr_t XSynchronize(Display *display, Bool onoff); extern int XFlush(Display *display); extern int XSync(Display *display, Bool discard); extern char *XDisplayString(Display *display); extern Display *XOpenDisplay( _Xconst char* /* display_name */ ); extern int XCloseDisplay(Display *display); extern void XLockDisplay(Display *display); extern void XUnlockDisplay(Display *display); extern int DefaultScreen(Display *display); extern int ScreenCount(Display *display); extern Window RootWindow(Display *display, int screen_number); extern XVisualInfo *XGetVisualInfo( Display* /* display */, long /* vinfo_mask */, XVisualInfo* /* vinfo_template */, int* /* nitems_return */ ); extern Pixmap XCreatePixmap( Display* /* display */, Drawable /* d */, unsigned int /* width */, unsigned int /* height */, unsigned int /* depth */ ); extern int XFreePixmap( Display* /* display */, Pixmap /* pixmap */ ); extern int XFree( void* /* data */ ); // Routines for changing gamma settings. // Note that these are not currently supported on Solaris. Bool XF86VidModeGetGammaRampSize( Display *display, int screen, int* size); Bool XF86VidModeGetGammaRamp( Display *display, int screen, int size, unsigned short *red_array, unsigned short *green_array, unsigned short *blue_array); Bool XF86VidModeSetGammaRamp( Display *display, int screen, int size, unsigned short *red_array, unsigned short *green_array, unsigned short *blue_array); XRenderPictFormat * XRenderFindVisualFormat (Display *dpy, _Xconst Visual *visual);