1706f2543Smrg
2706f2543Smrg/* Prototypes for DGA functions that the DDX must provide */
3706f2543Smrg
4706f2543Smrg#ifdef HAVE_DIX_CONFIG_H
5706f2543Smrg#include <dix-config.h>
6706f2543Smrg#endif
7706f2543Smrg
8706f2543Smrg#ifndef _VIDMODEPROC_H_
9706f2543Smrg#define _VIDMODEPROC_H_
10706f2543Smrg
11706f2543Smrg
12706f2543Smrgtypedef enum {
13706f2543Smrg    VIDMODE_H_DISPLAY,
14706f2543Smrg    VIDMODE_H_SYNCSTART,
15706f2543Smrg    VIDMODE_H_SYNCEND,
16706f2543Smrg    VIDMODE_H_TOTAL,
17706f2543Smrg    VIDMODE_H_SKEW,
18706f2543Smrg    VIDMODE_V_DISPLAY,
19706f2543Smrg    VIDMODE_V_SYNCSTART,
20706f2543Smrg    VIDMODE_V_SYNCEND,
21706f2543Smrg    VIDMODE_V_TOTAL,
22706f2543Smrg    VIDMODE_FLAGS,
23706f2543Smrg    VIDMODE_CLOCK
24706f2543Smrg} VidModeSelectMode;
25706f2543Smrg
26706f2543Smrgtypedef enum {
27706f2543Smrg    VIDMODE_MON_VENDOR,
28706f2543Smrg    VIDMODE_MON_MODEL,
29706f2543Smrg    VIDMODE_MON_NHSYNC,
30706f2543Smrg    VIDMODE_MON_NVREFRESH,
31706f2543Smrg    VIDMODE_MON_HSYNC_LO,
32706f2543Smrg    VIDMODE_MON_HSYNC_HI,
33706f2543Smrg    VIDMODE_MON_VREFRESH_LO,
34706f2543Smrg    VIDMODE_MON_VREFRESH_HI
35706f2543Smrg} VidModeSelectMonitor;
36706f2543Smrg
37706f2543Smrgtypedef union {
38706f2543Smrg  pointer ptr;
39706f2543Smrg  int i;
40706f2543Smrg  float f;
41706f2543Smrg} vidMonitorValue;
42706f2543Smrg
43706f2543Smrgextern _X_EXPORT void XFree86VidModeExtensionInit(void);
44706f2543Smrg
45706f2543Smrgextern _X_EXPORT Bool VidModeAvailable(int scrnIndex);
46706f2543Smrgextern _X_EXPORT Bool VidModeGetCurrentModeline(int scrnIndex, pointer *mode, int *dotClock);
47706f2543Smrgextern _X_EXPORT Bool VidModeGetFirstModeline(int scrnIndex, pointer *mode, int *dotClock);
48706f2543Smrgextern _X_EXPORT Bool VidModeGetNextModeline(int scrnIndex, pointer *mode, int *dotClock);
49706f2543Smrgextern _X_EXPORT Bool VidModeDeleteModeline(int scrnIndex, pointer mode);
50706f2543Smrgextern _X_EXPORT Bool VidModeZoomViewport(int scrnIndex, int zoom);
51706f2543Smrgextern _X_EXPORT Bool VidModeGetViewPort(int scrnIndex, int *x, int *y);
52706f2543Smrgextern _X_EXPORT Bool VidModeSetViewPort(int scrnIndex, int x, int y);
53706f2543Smrgextern _X_EXPORT Bool VidModeSwitchMode(int scrnIndex, pointer mode);
54706f2543Smrgextern _X_EXPORT Bool VidModeLockZoom(int scrnIndex, Bool lock);
55706f2543Smrgextern _X_EXPORT Bool VidModeGetMonitor(int scrnIndex, pointer *monitor);
56706f2543Smrgextern _X_EXPORT int VidModeGetNumOfClocks(int scrnIndex, Bool *progClock);
57706f2543Smrgextern _X_EXPORT Bool VidModeGetClocks(int scrnIndex, int *Clocks);
58706f2543Smrgextern _X_EXPORT ModeStatus VidModeCheckModeForMonitor(int scrnIndex, pointer mode);
59706f2543Smrgextern _X_EXPORT ModeStatus VidModeCheckModeForDriver(int scrnIndex, pointer mode);
60706f2543Smrgextern _X_EXPORT void VidModeSetCrtcForMode(int scrnIndex, pointer mode);
61706f2543Smrgextern _X_EXPORT Bool VidModeAddModeline(int scrnIndex, pointer mode);
62706f2543Smrgextern _X_EXPORT int VidModeGetDotClock(int scrnIndex, int Clock);
63706f2543Smrgextern _X_EXPORT int VidModeGetNumOfModes(int scrnIndex);
64706f2543Smrgextern _X_EXPORT Bool VidModeSetGamma(int scrnIndex, float red, float green, float blue);
65706f2543Smrgextern _X_EXPORT Bool VidModeGetGamma(int scrnIndex, float *red, float *green, float *blue);
66706f2543Smrgextern _X_EXPORT pointer VidModeCreateMode(void);
67706f2543Smrgextern _X_EXPORT void VidModeCopyMode(pointer modefrom, pointer modeto);
68706f2543Smrgextern _X_EXPORT int VidModeGetModeValue(pointer mode, int valtyp);
69706f2543Smrgextern _X_EXPORT void VidModeSetModeValue(pointer mode, int valtyp, int val);
70706f2543Smrgextern _X_EXPORT vidMonitorValue VidModeGetMonitorValue(pointer monitor, int valtyp, int indx);
71706f2543Smrgextern _X_EXPORT Bool VidModeSetGammaRamp(int, int, CARD16 *, CARD16 *, CARD16 *);
72706f2543Smrgextern _X_EXPORT Bool VidModeGetGammaRamp(int, int, CARD16 *, CARD16 *, CARD16 *);
73706f2543Smrgextern _X_EXPORT int VidModeGetGammaRampSize(int scrnIndex);
74706f2543Smrg
75706f2543Smrg#endif
76706f2543Smrg
77706f2543Smrg
78