diff options
author | Keith Packard <keithp@guitar.keithp.com> | 2006-10-03 21:06:11 -0700 |
---|---|---|
committer | Keith Packard <keithp@guitar.keithp.com> | 2006-10-03 21:06:11 -0700 |
commit | c4f30c63538e1451f15ed1991439869127d9b148 (patch) | |
tree | 3bf1beea337d3a60d5c057d61ef66256c8676d5a /randr/randrstr.h | |
parent | b36fde9257263fa502147df37e8331184c323e14 (diff) |
Add mode origins and output options. Fix memmoves in resource free funcs.
Output options and mode origins both affected driver ABI. memmove mistakes
were causing 'Freeing resource which isn't there' messages.
Prune unused non-user defined modes from available list now.
Diffstat (limited to 'randr/randrstr.h')
-rw-r--r-- | randr/randrstr.h | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/randr/randrstr.h b/randr/randrstr.h index 0b8c61e1f..a4e55890f 100644 --- a/randr/randrstr.h +++ b/randr/randrstr.h @@ -72,12 +72,14 @@ extern int (*SProcRandrVector[RRNumberRequests])(ClientPtr); typedef struct _rrMode RRModeRec, *RRModePtr; typedef struct _rrCrtc RRCrtcRec, *RRCrtcPtr; typedef struct _rrOutput RROutputRec, *RROutputPtr; +typedef struct _rrOutputConfig RROutputConfigRec, *RROutputConfigPtr; struct _rrMode { int refcnt; xRRModeInfo mode; char *name; void *devPrivate; + ScreenPtr screen; }; struct _rrCrtc { @@ -105,6 +107,8 @@ struct _rrOutput { CARD8 connection; CARD8 subpixelOrder; RRCrtcPtr crtc; + CARD32 currentOptions; + CARD32 possibleOptions; int numCrtcs; RRCrtcPtr *crtcs; int numClones; @@ -116,6 +120,11 @@ struct _rrOutput { void *devPrivate; }; +struct _rrOutputConfig { + RROutputPtr output; + CARD32 options; +}; + #if RANDR_12_INTERFACE typedef Bool (*RRScreenSetSizeProcPtr) (ScreenPtr pScreen, CARD16 width, @@ -130,7 +139,7 @@ typedef Bool (*RRCrtcSetProcPtr) (ScreenPtr pScreen, int y, Rotation rotation, int numOutputs, - RROutputPtr *outputs); + RROutputConfigPtr outputs); typedef Bool (*RRCrtcSetGammaProcPtr) (ScreenPtr pScreen, RRCrtcPtr crtc); @@ -352,7 +361,7 @@ miRRCrtcSet (ScreenPtr pScreen, int y, Rotation rotation, int numOutput, - RROutputPtr *outputs); + RROutputConfigPtr outputs); /* randr.c */ /* @@ -440,7 +449,7 @@ RRCrtcNotify (RRCrtcPtr crtc, int x, int y, Rotation rotation, - int numOutput, + int numOutputs, RROutputPtr *outputs); void @@ -456,7 +465,7 @@ RRCrtcSet (RRCrtcPtr crtc, int y, Rotation rotation, int numOutput, - RROutputPtr *outputs); + RROutputConfigPtr outputs); /* * Request that the Crtc gamma be changed @@ -530,6 +539,9 @@ RRModeGet (ScreenPtr pScreen, xRRModeInfo *modeInfo, const char *name); +void +RRModePruneUnused (ScreenPtr pScreen); + /* * Destroy a mode. */ @@ -584,6 +596,10 @@ RROutputSetCrtcs (RROutputPtr output, RRCrtcPtr *crtcs, int numCrtcs); +Bool +RROutputSetPossibleOptions (RROutputPtr output, + CARD32 possibleOptions); + void RROutputSetCrtc (RROutputPtr output, RRCrtcPtr crtc); @@ -595,6 +611,10 @@ Bool RROutputSetSubpixelOrder (RROutputPtr output, int subpixelOrder); +Bool +RROutputSetCurrentOptions (RROutputPtr output, + CARD32 currentOptions); + void RRDeliverOutputEvent(ClientPtr client, WindowPtr pWin, RROutputPtr output); |