vidmodestr.h revision 35c4bbdf
135c4bbdfSmrg#ifdef HAVE_DIX_CONFIG_H
235c4bbdfSmrg#include <dix-config.h>
335c4bbdfSmrg#endif
435c4bbdfSmrg
535c4bbdfSmrg#ifndef _VIDMODEPROC_H_
635c4bbdfSmrg#define _VIDMODEPROC_H_
735c4bbdfSmrg
835c4bbdfSmrg#include "displaymode.h"
935c4bbdfSmrg
1035c4bbdfSmrgtypedef enum {
1135c4bbdfSmrg    VIDMODE_H_DISPLAY,
1235c4bbdfSmrg    VIDMODE_H_SYNCSTART,
1335c4bbdfSmrg    VIDMODE_H_SYNCEND,
1435c4bbdfSmrg    VIDMODE_H_TOTAL,
1535c4bbdfSmrg    VIDMODE_H_SKEW,
1635c4bbdfSmrg    VIDMODE_V_DISPLAY,
1735c4bbdfSmrg    VIDMODE_V_SYNCSTART,
1835c4bbdfSmrg    VIDMODE_V_SYNCEND,
1935c4bbdfSmrg    VIDMODE_V_TOTAL,
2035c4bbdfSmrg    VIDMODE_FLAGS,
2135c4bbdfSmrg    VIDMODE_CLOCK
2235c4bbdfSmrg} VidModeSelectMode;
2335c4bbdfSmrg
2435c4bbdfSmrgtypedef enum {
2535c4bbdfSmrg    VIDMODE_MON_VENDOR,
2635c4bbdfSmrg    VIDMODE_MON_MODEL,
2735c4bbdfSmrg    VIDMODE_MON_NHSYNC,
2835c4bbdfSmrg    VIDMODE_MON_NVREFRESH,
2935c4bbdfSmrg    VIDMODE_MON_HSYNC_LO,
3035c4bbdfSmrg    VIDMODE_MON_HSYNC_HI,
3135c4bbdfSmrg    VIDMODE_MON_VREFRESH_LO,
3235c4bbdfSmrg    VIDMODE_MON_VREFRESH_HI
3335c4bbdfSmrg} VidModeSelectMonitor;
3435c4bbdfSmrg
3535c4bbdfSmrgtypedef union {
3635c4bbdfSmrg    const void *ptr;
3735c4bbdfSmrg    int i;
3835c4bbdfSmrg    float f;
3935c4bbdfSmrg} vidMonitorValue;
4035c4bbdfSmrg
4135c4bbdfSmrgtypedef Bool            (*VidModeExtensionInitProcPtr)       (ScreenPtr pScreen);
4235c4bbdfSmrgtypedef vidMonitorValue (*VidModeGetMonitorValueProcPtr)     (ScreenPtr pScreen,
4335c4bbdfSmrg                                                              int valtyp,
4435c4bbdfSmrg                                                              int indx);
4535c4bbdfSmrgtypedef Bool            (*VidModeGetEnabledProcPtr)          (void);
4635c4bbdfSmrgtypedef Bool            (*VidModeGetAllowNonLocalProcPtr)    (void);
4735c4bbdfSmrgtypedef Bool            (*VidModeGetCurrentModelineProcPtr)  (ScreenPtr pScreen,
4835c4bbdfSmrg                                                              DisplayModePtr *mode,
4935c4bbdfSmrg                                                              int *dotClock);
5035c4bbdfSmrgtypedef Bool            (*VidModeGetFirstModelineProcPtr)    (ScreenPtr pScreen,
5135c4bbdfSmrg                                                              DisplayModePtr *mode,
5235c4bbdfSmrg                                                              int *dotClock);
5335c4bbdfSmrgtypedef Bool            (*VidModeGetNextModelineProcPtr)     (ScreenPtr pScreen,
5435c4bbdfSmrg                                                              DisplayModePtr *mode,
5535c4bbdfSmrg                                                              int *dotClock);
5635c4bbdfSmrgtypedef Bool            (*VidModeDeleteModelineProcPtr)      (ScreenPtr pScreen,
5735c4bbdfSmrg                                                              DisplayModePtr mode);
5835c4bbdfSmrgtypedef Bool            (*VidModeZoomViewportProcPtr)        (ScreenPtr pScreen,
5935c4bbdfSmrg                                                              int zoom);
6035c4bbdfSmrgtypedef Bool            (*VidModeGetViewPortProcPtr)         (ScreenPtr pScreen,
6135c4bbdfSmrg                                                              int *x,
6235c4bbdfSmrg                                                              int *y);
6335c4bbdfSmrgtypedef Bool            (*VidModeSetViewPortProcPtr)         (ScreenPtr pScreen,
6435c4bbdfSmrg                                                              int x,
6535c4bbdfSmrg                                                              int y);
6635c4bbdfSmrgtypedef Bool            (*VidModeSwitchModeProcPtr)          (ScreenPtr pScreen,
6735c4bbdfSmrg                                                              DisplayModePtr mode);
6835c4bbdfSmrgtypedef Bool            (*VidModeLockZoomProcPtr)            (ScreenPtr pScreen,
6935c4bbdfSmrg                                                              Bool lock);
7035c4bbdfSmrgtypedef int             (*VidModeGetNumOfClocksProcPtr)      (ScreenPtr pScreen,
7135c4bbdfSmrg                                                              Bool *progClock);
7235c4bbdfSmrgtypedef Bool            (*VidModeGetClocksProcPtr)           (ScreenPtr pScreen,
7335c4bbdfSmrg                                                              int *Clocks);
7435c4bbdfSmrgtypedef ModeStatus      (*VidModeCheckModeForMonitorProcPtr) (ScreenPtr pScreen,
7535c4bbdfSmrg                                                              DisplayModePtr mode);
7635c4bbdfSmrgtypedef ModeStatus      (*VidModeCheckModeForDriverProcPtr)  (ScreenPtr pScreen,
7735c4bbdfSmrg                                                              DisplayModePtr mode);
7835c4bbdfSmrgtypedef void            (*VidModeSetCrtcForModeProcPtr)      (ScreenPtr pScreen,
7935c4bbdfSmrg                                                              DisplayModePtr mode);
8035c4bbdfSmrgtypedef Bool            (*VidModeAddModelineProcPtr)         (ScreenPtr pScreen,
8135c4bbdfSmrg                                                              DisplayModePtr mode);
8235c4bbdfSmrgtypedef int             (*VidModeGetDotClockProcPtr)         (ScreenPtr pScreen,
8335c4bbdfSmrg                                                              int Clock);
8435c4bbdfSmrgtypedef int             (*VidModeGetNumOfModesProcPtr)       (ScreenPtr pScreen);
8535c4bbdfSmrgtypedef Bool            (*VidModeSetGammaProcPtr)            (ScreenPtr pScreen,
8635c4bbdfSmrg                                                              float red,
8735c4bbdfSmrg                                                              float green,
8835c4bbdfSmrg                                                              float blue);
8935c4bbdfSmrgtypedef Bool            (*VidModeGetGammaProcPtr)            (ScreenPtr pScreen,
9035c4bbdfSmrg                                                              float *red,
9135c4bbdfSmrg                                                              float *green,
9235c4bbdfSmrg                                                              float *blue);
9335c4bbdfSmrgtypedef Bool            (*VidModeSetGammaRampProcPtr)        (ScreenPtr pScreen,
9435c4bbdfSmrg                                                              int size,
9535c4bbdfSmrg                                                              CARD16 *red,
9635c4bbdfSmrg                                                              CARD16 *green,
9735c4bbdfSmrg                                                              CARD16 *blue);
9835c4bbdfSmrgtypedef Bool            (*VidModeGetGammaRampProcPtr)        (ScreenPtr pScreen,
9935c4bbdfSmrg                                                              int size,
10035c4bbdfSmrg                                                              CARD16 *red,
10135c4bbdfSmrg                                                              CARD16 *green,
10235c4bbdfSmrg                                                              CARD16 *blue);
10335c4bbdfSmrgtypedef int             (*VidModeGetGammaRampSizeProcPtr)    (ScreenPtr pScreen);
10435c4bbdfSmrg
10535c4bbdfSmrgtypedef struct {
10635c4bbdfSmrg    DisplayModePtr First;
10735c4bbdfSmrg    DisplayModePtr Next;
10835c4bbdfSmrg    int Flags;
10935c4bbdfSmrg
11035c4bbdfSmrg    VidModeExtensionInitProcPtr       ExtensionInit;
11135c4bbdfSmrg    VidModeGetMonitorValueProcPtr     GetMonitorValue;
11235c4bbdfSmrg    VidModeGetCurrentModelineProcPtr  GetCurrentModeline;
11335c4bbdfSmrg    VidModeGetFirstModelineProcPtr    GetFirstModeline;
11435c4bbdfSmrg    VidModeGetNextModelineProcPtr     GetNextModeline;
11535c4bbdfSmrg    VidModeDeleteModelineProcPtr      DeleteModeline;
11635c4bbdfSmrg    VidModeZoomViewportProcPtr        ZoomViewport;
11735c4bbdfSmrg    VidModeGetViewPortProcPtr         GetViewPort;
11835c4bbdfSmrg    VidModeSetViewPortProcPtr         SetViewPort;
11935c4bbdfSmrg    VidModeSwitchModeProcPtr          SwitchMode;
12035c4bbdfSmrg    VidModeLockZoomProcPtr            LockZoom;
12135c4bbdfSmrg    VidModeGetNumOfClocksProcPtr      GetNumOfClocks;
12235c4bbdfSmrg    VidModeGetClocksProcPtr           GetClocks;
12335c4bbdfSmrg    VidModeCheckModeForMonitorProcPtr CheckModeForMonitor;
12435c4bbdfSmrg    VidModeCheckModeForDriverProcPtr  CheckModeForDriver;
12535c4bbdfSmrg    VidModeSetCrtcForModeProcPtr      SetCrtcForMode;
12635c4bbdfSmrg    VidModeAddModelineProcPtr         AddModeline;
12735c4bbdfSmrg    VidModeGetDotClockProcPtr         GetDotClock;
12835c4bbdfSmrg    VidModeGetNumOfModesProcPtr       GetNumOfModes;
12935c4bbdfSmrg    VidModeSetGammaProcPtr            SetGamma;
13035c4bbdfSmrg    VidModeGetGammaProcPtr            GetGamma;
13135c4bbdfSmrg    VidModeSetGammaRampProcPtr        SetGammaRamp;
13235c4bbdfSmrg    VidModeGetGammaRampProcPtr        GetGammaRamp;
13335c4bbdfSmrg    VidModeGetGammaRampSizeProcPtr    GetGammaRampSize;
13435c4bbdfSmrg} VidModeRec, *VidModePtr;
13535c4bbdfSmrg
13635c4bbdfSmrg#ifdef XF86VIDMODE
13735c4bbdfSmrgvoid VidModeAddExtension(Bool allow_non_local);
13835c4bbdfSmrgVidModePtr VidModeGetPtr(ScreenPtr pScreen);
13935c4bbdfSmrgVidModePtr VidModeInit(ScreenPtr pScreen);
14035c4bbdfSmrg#endif /* XF86VIDMODE */
14135c4bbdfSmrg
14235c4bbdfSmrg#endif
143