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