1*4882a593Smuzhiyun #ifdef HAVE_DIX_CONFIG_H 2*4882a593Smuzhiyun #include <dix-config.h> 3*4882a593Smuzhiyun #endif 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #ifndef _VIDMODEPROC_H_ 6*4882a593Smuzhiyun #define _VIDMODEPROC_H_ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #include "displaymode.h" 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun typedef enum { 11*4882a593Smuzhiyun VIDMODE_H_DISPLAY, 12*4882a593Smuzhiyun VIDMODE_H_SYNCSTART, 13*4882a593Smuzhiyun VIDMODE_H_SYNCEND, 14*4882a593Smuzhiyun VIDMODE_H_TOTAL, 15*4882a593Smuzhiyun VIDMODE_H_SKEW, 16*4882a593Smuzhiyun VIDMODE_V_DISPLAY, 17*4882a593Smuzhiyun VIDMODE_V_SYNCSTART, 18*4882a593Smuzhiyun VIDMODE_V_SYNCEND, 19*4882a593Smuzhiyun VIDMODE_V_TOTAL, 20*4882a593Smuzhiyun VIDMODE_FLAGS, 21*4882a593Smuzhiyun VIDMODE_CLOCK 22*4882a593Smuzhiyun } VidModeSelectMode; 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun typedef enum { 25*4882a593Smuzhiyun VIDMODE_MON_VENDOR, 26*4882a593Smuzhiyun VIDMODE_MON_MODEL, 27*4882a593Smuzhiyun VIDMODE_MON_NHSYNC, 28*4882a593Smuzhiyun VIDMODE_MON_NVREFRESH, 29*4882a593Smuzhiyun VIDMODE_MON_HSYNC_LO, 30*4882a593Smuzhiyun VIDMODE_MON_HSYNC_HI, 31*4882a593Smuzhiyun VIDMODE_MON_VREFRESH_LO, 32*4882a593Smuzhiyun VIDMODE_MON_VREFRESH_HI 33*4882a593Smuzhiyun } VidModeSelectMonitor; 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun typedef union { 36*4882a593Smuzhiyun const void *ptr; 37*4882a593Smuzhiyun int i; 38*4882a593Smuzhiyun float f; 39*4882a593Smuzhiyun } vidMonitorValue; 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun typedef Bool (*VidModeExtensionInitProcPtr) (ScreenPtr pScreen); 42*4882a593Smuzhiyun typedef vidMonitorValue (*VidModeGetMonitorValueProcPtr) (ScreenPtr pScreen, 43*4882a593Smuzhiyun int valtyp, 44*4882a593Smuzhiyun int indx); 45*4882a593Smuzhiyun typedef Bool (*VidModeGetEnabledProcPtr) (void); 46*4882a593Smuzhiyun typedef Bool (*VidModeGetAllowNonLocalProcPtr) (void); 47*4882a593Smuzhiyun typedef Bool (*VidModeGetCurrentModelineProcPtr) (ScreenPtr pScreen, 48*4882a593Smuzhiyun DisplayModePtr *mode, 49*4882a593Smuzhiyun int *dotClock); 50*4882a593Smuzhiyun typedef Bool (*VidModeGetFirstModelineProcPtr) (ScreenPtr pScreen, 51*4882a593Smuzhiyun DisplayModePtr *mode, 52*4882a593Smuzhiyun int *dotClock); 53*4882a593Smuzhiyun typedef Bool (*VidModeGetNextModelineProcPtr) (ScreenPtr pScreen, 54*4882a593Smuzhiyun DisplayModePtr *mode, 55*4882a593Smuzhiyun int *dotClock); 56*4882a593Smuzhiyun typedef Bool (*VidModeDeleteModelineProcPtr) (ScreenPtr pScreen, 57*4882a593Smuzhiyun DisplayModePtr mode); 58*4882a593Smuzhiyun typedef Bool (*VidModeZoomViewportProcPtr) (ScreenPtr pScreen, 59*4882a593Smuzhiyun int zoom); 60*4882a593Smuzhiyun typedef Bool (*VidModeGetViewPortProcPtr) (ScreenPtr pScreen, 61*4882a593Smuzhiyun int *x, 62*4882a593Smuzhiyun int *y); 63*4882a593Smuzhiyun typedef Bool (*VidModeSetViewPortProcPtr) (ScreenPtr pScreen, 64*4882a593Smuzhiyun int x, 65*4882a593Smuzhiyun int y); 66*4882a593Smuzhiyun typedef Bool (*VidModeSwitchModeProcPtr) (ScreenPtr pScreen, 67*4882a593Smuzhiyun DisplayModePtr mode); 68*4882a593Smuzhiyun typedef Bool (*VidModeLockZoomProcPtr) (ScreenPtr pScreen, 69*4882a593Smuzhiyun Bool lock); 70*4882a593Smuzhiyun typedef int (*VidModeGetNumOfClocksProcPtr) (ScreenPtr pScreen, 71*4882a593Smuzhiyun Bool *progClock); 72*4882a593Smuzhiyun typedef Bool (*VidModeGetClocksProcPtr) (ScreenPtr pScreen, 73*4882a593Smuzhiyun int *Clocks); 74*4882a593Smuzhiyun typedef ModeStatus (*VidModeCheckModeForMonitorProcPtr) (ScreenPtr pScreen, 75*4882a593Smuzhiyun DisplayModePtr mode); 76*4882a593Smuzhiyun typedef ModeStatus (*VidModeCheckModeForDriverProcPtr) (ScreenPtr pScreen, 77*4882a593Smuzhiyun DisplayModePtr mode); 78*4882a593Smuzhiyun typedef void (*VidModeSetCrtcForModeProcPtr) (ScreenPtr pScreen, 79*4882a593Smuzhiyun DisplayModePtr mode); 80*4882a593Smuzhiyun typedef Bool (*VidModeAddModelineProcPtr) (ScreenPtr pScreen, 81*4882a593Smuzhiyun DisplayModePtr mode); 82*4882a593Smuzhiyun typedef int (*VidModeGetDotClockProcPtr) (ScreenPtr pScreen, 83*4882a593Smuzhiyun int Clock); 84*4882a593Smuzhiyun typedef int (*VidModeGetNumOfModesProcPtr) (ScreenPtr pScreen); 85*4882a593Smuzhiyun typedef Bool (*VidModeSetGammaProcPtr) (ScreenPtr pScreen, 86*4882a593Smuzhiyun float red, 87*4882a593Smuzhiyun float green, 88*4882a593Smuzhiyun float blue); 89*4882a593Smuzhiyun typedef Bool (*VidModeGetGammaProcPtr) (ScreenPtr pScreen, 90*4882a593Smuzhiyun float *red, 91*4882a593Smuzhiyun float *green, 92*4882a593Smuzhiyun float *blue); 93*4882a593Smuzhiyun typedef Bool (*VidModeSetGammaRampProcPtr) (ScreenPtr pScreen, 94*4882a593Smuzhiyun int size, 95*4882a593Smuzhiyun CARD16 *red, 96*4882a593Smuzhiyun CARD16 *green, 97*4882a593Smuzhiyun CARD16 *blue); 98*4882a593Smuzhiyun typedef Bool (*VidModeGetGammaRampProcPtr) (ScreenPtr pScreen, 99*4882a593Smuzhiyun int size, 100*4882a593Smuzhiyun CARD16 *red, 101*4882a593Smuzhiyun CARD16 *green, 102*4882a593Smuzhiyun CARD16 *blue); 103*4882a593Smuzhiyun typedef int (*VidModeGetGammaRampSizeProcPtr) (ScreenPtr pScreen); 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun typedef struct { 106*4882a593Smuzhiyun DisplayModePtr First; 107*4882a593Smuzhiyun DisplayModePtr Next; 108*4882a593Smuzhiyun int Flags; 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun VidModeExtensionInitProcPtr ExtensionInit; 111*4882a593Smuzhiyun VidModeGetMonitorValueProcPtr GetMonitorValue; 112*4882a593Smuzhiyun VidModeGetCurrentModelineProcPtr GetCurrentModeline; 113*4882a593Smuzhiyun VidModeGetFirstModelineProcPtr GetFirstModeline; 114*4882a593Smuzhiyun VidModeGetNextModelineProcPtr GetNextModeline; 115*4882a593Smuzhiyun VidModeDeleteModelineProcPtr DeleteModeline; 116*4882a593Smuzhiyun VidModeZoomViewportProcPtr ZoomViewport; 117*4882a593Smuzhiyun VidModeGetViewPortProcPtr GetViewPort; 118*4882a593Smuzhiyun VidModeSetViewPortProcPtr SetViewPort; 119*4882a593Smuzhiyun VidModeSwitchModeProcPtr SwitchMode; 120*4882a593Smuzhiyun VidModeLockZoomProcPtr LockZoom; 121*4882a593Smuzhiyun VidModeGetNumOfClocksProcPtr GetNumOfClocks; 122*4882a593Smuzhiyun VidModeGetClocksProcPtr GetClocks; 123*4882a593Smuzhiyun VidModeCheckModeForMonitorProcPtr CheckModeForMonitor; 124*4882a593Smuzhiyun VidModeCheckModeForDriverProcPtr CheckModeForDriver; 125*4882a593Smuzhiyun VidModeSetCrtcForModeProcPtr SetCrtcForMode; 126*4882a593Smuzhiyun VidModeAddModelineProcPtr AddModeline; 127*4882a593Smuzhiyun VidModeGetDotClockProcPtr GetDotClock; 128*4882a593Smuzhiyun VidModeGetNumOfModesProcPtr GetNumOfModes; 129*4882a593Smuzhiyun VidModeSetGammaProcPtr SetGamma; 130*4882a593Smuzhiyun VidModeGetGammaProcPtr GetGamma; 131*4882a593Smuzhiyun VidModeSetGammaRampProcPtr SetGammaRamp; 132*4882a593Smuzhiyun VidModeGetGammaRampProcPtr GetGammaRamp; 133*4882a593Smuzhiyun VidModeGetGammaRampSizeProcPtr GetGammaRampSize; 134*4882a593Smuzhiyun } VidModeRec, *VidModePtr; 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun #ifdef XF86VIDMODE 137*4882a593Smuzhiyun void VidModeAddExtension(Bool allow_non_local); 138*4882a593Smuzhiyun VidModePtr VidModeGetPtr(ScreenPtr pScreen); 139*4882a593Smuzhiyun VidModePtr VidModeInit(ScreenPtr pScreen); 140*4882a593Smuzhiyun #endif /* XF86VIDMODE */ 141*4882a593Smuzhiyun 142*4882a593Smuzhiyun #endif 143