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 10typedef 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 24typedef 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 35typedef union { 36 const void *ptr; 37 int i; 38 float f; 39} vidMonitorValue; 40 41typedef Bool (*VidModeExtensionInitProcPtr) (ScreenPtr pScreen); 42typedef vidMonitorValue (*VidModeGetMonitorValueProcPtr) (ScreenPtr pScreen, 43 int valtyp, 44 int indx); 45typedef Bool (*VidModeGetEnabledProcPtr) (void); 46typedef Bool (*VidModeGetAllowNonLocalProcPtr) (void); 47typedef Bool (*VidModeGetCurrentModelineProcPtr) (ScreenPtr pScreen, 48 DisplayModePtr *mode, 49 int *dotClock); 50typedef Bool (*VidModeGetFirstModelineProcPtr) (ScreenPtr pScreen, 51 DisplayModePtr *mode, 52 int *dotClock); 53typedef Bool (*VidModeGetNextModelineProcPtr) (ScreenPtr pScreen, 54 DisplayModePtr *mode, 55 int *dotClock); 56typedef Bool (*VidModeDeleteModelineProcPtr) (ScreenPtr pScreen, 57 DisplayModePtr mode); 58typedef Bool (*VidModeZoomViewportProcPtr) (ScreenPtr pScreen, 59 int zoom); 60typedef Bool (*VidModeGetViewPortProcPtr) (ScreenPtr pScreen, 61 int *x, 62 int *y); 63typedef Bool (*VidModeSetViewPortProcPtr) (ScreenPtr pScreen, 64 int x, 65 int y); 66typedef Bool (*VidModeSwitchModeProcPtr) (ScreenPtr pScreen, 67 DisplayModePtr mode); 68typedef Bool (*VidModeLockZoomProcPtr) (ScreenPtr pScreen, 69 Bool lock); 70typedef int (*VidModeGetNumOfClocksProcPtr) (ScreenPtr pScreen, 71 Bool *progClock); 72typedef Bool (*VidModeGetClocksProcPtr) (ScreenPtr pScreen, 73 int *Clocks); 74typedef ModeStatus (*VidModeCheckModeForMonitorProcPtr) (ScreenPtr pScreen, 75 DisplayModePtr mode); 76typedef ModeStatus (*VidModeCheckModeForDriverProcPtr) (ScreenPtr pScreen, 77 DisplayModePtr mode); 78typedef void (*VidModeSetCrtcForModeProcPtr) (ScreenPtr pScreen, 79 DisplayModePtr mode); 80typedef Bool (*VidModeAddModelineProcPtr) (ScreenPtr pScreen, 81 DisplayModePtr mode); 82typedef int (*VidModeGetDotClockProcPtr) (ScreenPtr pScreen, 83 int Clock); 84typedef int (*VidModeGetNumOfModesProcPtr) (ScreenPtr pScreen); 85typedef Bool (*VidModeSetGammaProcPtr) (ScreenPtr pScreen, 86 float red, 87 float green, 88 float blue); 89typedef Bool (*VidModeGetGammaProcPtr) (ScreenPtr pScreen, 90 float *red, 91 float *green, 92 float *blue); 93typedef Bool (*VidModeSetGammaRampProcPtr) (ScreenPtr pScreen, 94 int size, 95 CARD16 *red, 96 CARD16 *green, 97 CARD16 *blue); 98typedef Bool (*VidModeGetGammaRampProcPtr) (ScreenPtr pScreen, 99 int size, 100 CARD16 *red, 101 CARD16 *green, 102 CARD16 *blue); 103typedef int (*VidModeGetGammaRampSizeProcPtr) (ScreenPtr pScreen); 104 105typedef 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 137void VidModeAddExtension(Bool allow_non_local); 138VidModePtr VidModeGetPtr(ScreenPtr pScreen); 139VidModePtr VidModeInit(ScreenPtr pScreen); 140#endif /* XF86VIDMODE */ 141 142#endif 143