35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshott/* $XFree86: xc/programs/Xserver/Xext/vidmodeproc.h,v 1.4 1999/12/13 01:39:40 robin Exp $ */
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill Cunnington/* Prototypes for DGA functions that the DDX must provide */
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill Cunnington#ifdef HAVE_DIX_CONFIG_H
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey#include <dix-config.h>
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey#endif
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey#ifndef _VIDMODEPROC_H_
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill Cunnington#define _VIDMODEPROC_H_
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumseytypedef enum {
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey VIDMODE_H_DISPLAY,
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey VIDMODE_H_SYNCSTART,
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey VIDMODE_H_SYNCEND,
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey VIDMODE_H_TOTAL,
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey VIDMODE_H_SKEW,
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey VIDMODE_V_DISPLAY,
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey VIDMODE_V_SYNCSTART,
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey VIDMODE_V_SYNCEND,
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey VIDMODE_V_TOTAL,
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey VIDMODE_FLAGS,
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey VIDMODE_CLOCK
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey} VidModeSelectMode;
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill Cunnington
a4544a5a0e622ef69e38641f87ab1b5685e05911Phill Cunningtontypedef enum {
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshott VIDMODE_MON_VENDOR,
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshott VIDMODE_MON_MODEL,
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshott VIDMODE_MON_NHSYNC,
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshott VIDMODE_MON_NVREFRESH,
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey VIDMODE_MON_HSYNC_LO,
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey VIDMODE_MON_HSYNC_HI,
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey VIDMODE_MON_VREFRESH_LO,
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey VIDMODE_MON_VREFRESH_HI
fab4fa10a85692fad16af549ddc1ad3687b5df85Tom Rumsey} VidModeSelectMonitor;
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshott
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshotttypedef union {
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshott pointer ptr;
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshott int i;
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshott float f;
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshott} vidMonitorValue;
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshott
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshottvoid XFree86VidModeExtensionInit(void);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshott
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottBool VidModeAvailable(int scrnIndex);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottBool VidModeGetCurrentModeline(int scrnIndex, pointer *mode, int *dotClock);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottBool VidModeGetFirstModeline(int scrnIndex, pointer *mode, int *dotClock);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottBool VidModeGetNextModeline(int scrnIndex, pointer *mode, int *dotClock);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottBool VidModeDeleteModeline(int scrnIndex, pointer mode);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottBool VidModeZoomViewport(int scrnIndex, int zoom);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottBool VidModeGetViewPort(int scrnIndex, int *x, int *y);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottBool VidModeSetViewPort(int scrnIndex, int x, int y);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottBool VidModeSwitchMode(int scrnIndex, pointer mode);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottBool VidModeLockZoom(int scrnIndex, Bool lock);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottBool VidModeGetMonitor(int scrnIndex, pointer *monitor);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshottint VidModeGetNumOfClocks(int scrnIndex, Bool *progClock);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottBool VidModeGetClocks(int scrnIndex, int *Clocks);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottModeStatus VidModeCheckModeForMonitor(int scrnIndex, pointer mode);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottModeStatus VidModeCheckModeForDriver(int scrnIndex, pointer mode);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshottvoid VidModeSetCrtcForMode(int scrnIndex, pointer mode);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottBool VidModeAddModeline(int scrnIndex, pointer mode);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshottint VidModeGetDotClock(int scrnIndex, int Clock);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshottint VidModeGetNumOfModes(int scrnIndex);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottBool VidModeSetGamma(int scrnIndex, float red, float green, float blue);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottBool VidModeGetGamma(int scrnIndex, float *red, float *green, float *blue);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshottpointer VidModeCreateMode(void);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshottvoid VidModeCopyMode(pointer modefrom, pointer modeto);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshottint VidModeGetModeValue(pointer mode, int valtyp);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshottvoid VidModeSetModeValue(pointer mode, int valtyp, int val);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottvidMonitorValue VidModeGetMonitorValue(pointer monitor, int valtyp, int indx);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottBool VidModeSetGammaRamp(int, int, CARD16 *, CARD16 *, CARD16 *);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert WapshottBool VidModeGetGammaRamp(int, int, CARD16 *, CARD16 *, CARD16 *);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshottint VidModeGetGammaRampSize(int scrnIndex);
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshott
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshott#endif
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshott
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshott
35ab1c5bca11317474fe12bdd8d22c17cdaf2697Robert Wapshott