Bool VidModeGetFirstModeline(int scrnIndex, void **mode, int *dotClock) { ScrnInfoPtr pScrn; VidModePtr pVidMode; if (!VidModeAvailable(scrnIndex)) return FALSE; pScrn = xf86Screens[scrnIndex]; if (pScrn->modes == NULL) return FALSE; pVidMode = VMPTR(pScrn->pScreen); pVidMode->First = pScrn->modes; pVidMode->Next = pVidMode->First->next; if (pVidMode->First->status == MODE_OK) { *mode = (void *) (pVidMode->First); *dotClock = VidModeGetDotClock(scrnIndex, pVidMode->First->Clock); return TRUE; } return VidModeGetNextModeline(scrnIndex, mode, dotClock); }
_X_EXPORT Bool VidModeGetNextModeline(int scrnIndex, pointer *mode, int *dotClock) { ScrnInfoPtr pScrn; VidModePtr pVidMode; DisplayModePtr p; DEBUG_P("VidModeGetNextModeline"); if (!VidModeAvailable(scrnIndex)) return FALSE; pScrn = xf86Screens[scrnIndex]; pVidMode = VMPTR(pScrn->pScreen); for (p = pVidMode->Next; p != NULL && p != pVidMode->First; p = p->next) { if (p->status == MODE_OK) { pVidMode->Next = p->next; *mode = (pointer)p; *dotClock = VidModeGetDotClock(scrnIndex, p->Clock); return TRUE; } } return FALSE; }
int VidModeGetGammaRampSize(int scrnIndex) { if (!VidModeAvailable(scrnIndex)) return 0; return xf86GetGammaRampSize(xf86Screens[scrnIndex]->pScreen); }
Bool VidModeZoomViewport(int scrnIndex, int zoom) { ScrnInfoPtr pScrn; if (!VidModeAvailable(scrnIndex)) return FALSE; pScrn = xf86Screens[scrnIndex]; xf86ZoomViewport(pScrn->pScreen, zoom); return TRUE; }
Bool VidModeDeleteModeline(int scrnIndex, void *mode) { ScrnInfoPtr pScrn; if ((mode == NULL) || (!VidModeAvailable(scrnIndex))) return FALSE; pScrn = xf86Screens[scrnIndex]; xf86DeleteMode(&(pScrn->modes), (DisplayModePtr) mode); return TRUE; }
ModeStatus VidModeCheckModeForDriver(int scrnIndex, void *mode) { ScrnInfoPtr pScrn; if ((mode == NULL) || (!VidModeAvailable(scrnIndex))) return MODE_ERROR; pScrn = xf86Screens[scrnIndex]; return xf86CheckModeForDriver(pScrn, (DisplayModePtr) mode, 0); }
Bool VidModeGetGammaRamp(int scrnIndex, int size, CARD16 *r, CARD16 *g, CARD16 *b) { ScrnInfoPtr pScrn; if (!VidModeAvailable(scrnIndex)) return FALSE; pScrn = xf86Screens[scrnIndex]; xf86GetGammaRamp(pScrn->pScreen, size, r, g, b); return TRUE; }
Bool VidModeGetMonitor(int scrnIndex, void **monitor) { ScrnInfoPtr pScrn; if (!VidModeAvailable(scrnIndex)) return FALSE; pScrn = xf86Screens[scrnIndex]; *monitor = (void *) (pScrn->monitor); return TRUE; }
Bool VidModeGetViewPort(int scrnIndex, int *x, int *y) { ScrnInfoPtr pScrn; if (!VidModeAvailable(scrnIndex)) return FALSE; pScrn = xf86Screens[scrnIndex]; *x = pScrn->frameX0; *y = pScrn->frameY0; return TRUE; }
_X_EXPORT Bool VidModeDeleteModeline(int scrnIndex, pointer mode) { ScrnInfoPtr pScrn; DEBUG_P("VidModeDeleteModeline"); if ((mode == NULL) || (!VidModeAvailable(scrnIndex))) return FALSE; pScrn = xf86Screens[scrnIndex]; xf86DeleteMode(&(pScrn->modes), (DisplayModePtr)mode); return TRUE; }
Bool VidModeGetGamma(int scrnIndex, float *red, float *green, float *blue) { ScrnInfoPtr pScrn; if (!VidModeAvailable(scrnIndex)) return FALSE; pScrn = xf86Screens[scrnIndex]; *red = pScrn->gamma.red; *green = pScrn->gamma.green; *blue = pScrn->gamma.blue; return TRUE; }
int VidModeGetDotClock(int scrnIndex, int Clock) { ScrnInfoPtr pScrn; if (!VidModeAvailable(scrnIndex)) return 0; pScrn = xf86Screens[scrnIndex]; if ((pScrn->progClock) || (Clock >= MAXCLOCKS)) return Clock; else return pScrn->clock[Clock]; }
_X_EXPORT ModeStatus VidModeCheckModeForDriver(int scrnIndex, pointer mode) { ScrnInfoPtr pScrn; DEBUG_P("VidModeCheckModeForDriver"); if ((mode == NULL) || (!VidModeAvailable(scrnIndex))) return MODE_ERROR; pScrn = xf86Screens[scrnIndex]; return xf86CheckModeForDriver(pScrn, (DisplayModePtr)mode, 0); }
_X_EXPORT Bool VidModeGetMonitor(int scrnIndex, pointer *monitor) { ScrnInfoPtr pScrn; DEBUG_P("VidModeGetMonitor"); if (!VidModeAvailable(scrnIndex)) return FALSE; pScrn = xf86Screens[scrnIndex]; *monitor = (pointer)(pScrn->monitor); return TRUE; }
Bool VidModeLockZoom(int scrnIndex, Bool lock) { ScrnInfoPtr pScrn; if (!VidModeAvailable(scrnIndex)) return FALSE; pScrn = xf86Screens[scrnIndex]; if (xf86Info.dontZoom) return FALSE; xf86LockZoom(pScrn->pScreen, lock); return TRUE; }
_X_EXPORT Bool VidModeGetCurrentModeline(int scrnIndex, pointer *mode, int *dotClock) { ScrnInfoPtr pScrn; DEBUG_P("VidModeGetCurrentModeline"); if (!VidModeAvailable(scrnIndex)) return FALSE; pScrn = xf86Screens[scrnIndex]; *mode = (pointer)(pScrn->currentMode); *dotClock = pScrn->currentMode->Clock; return TRUE; }
Bool VidModeGetCurrentModeline(int scrnIndex, void **mode, int *dotClock) { ScrnInfoPtr pScrn; if (!VidModeAvailable(scrnIndex)) return FALSE; pScrn = xf86Screens[scrnIndex]; if (pScrn->currentMode) { *mode = (void *) (pScrn->currentMode); *dotClock = pScrn->currentMode->Clock; return TRUE; } return FALSE; }
int VidModeGetNumOfClocks(int scrnIndex, Bool *progClock) { ScrnInfoPtr pScrn; if (!VidModeAvailable(scrnIndex)) return 0; pScrn = xf86Screens[scrnIndex]; if (pScrn->progClock) { *progClock = TRUE; return 0; } else { *progClock = FALSE; return pScrn->numClocks; } }
Bool VidModeSetGamma(int scrnIndex, float red, float green, float blue) { ScrnInfoPtr pScrn; Gamma gamma; if (!VidModeAvailable(scrnIndex)) return FALSE; pScrn = xf86Screens[scrnIndex]; gamma.red = red; gamma.green = green; gamma.blue = blue; if (xf86ChangeGamma(pScrn->pScreen, gamma) != Success) return FALSE; else return TRUE; }
void VidModeSetCrtcForMode(int scrnIndex, void *mode) { ScrnInfoPtr pScrn; DisplayModePtr ScreenModes; if ((mode == NULL) || (!VidModeAvailable(scrnIndex))) return; /* Ugly hack so that the xf86Mode.c function can be used without change */ pScrn = xf86Screens[scrnIndex]; ScreenModes = pScrn->modes; pScrn->modes = (DisplayModePtr) mode; xf86SetCrtcForModes(pScrn, pScrn->adjustFlags); pScrn->modes = ScreenModes; return; }
Bool VidModeGetClocks(int scrnIndex, int *Clocks) { ScrnInfoPtr pScrn; int i; if (!VidModeAvailable(scrnIndex)) return FALSE; pScrn = xf86Screens[scrnIndex]; if (pScrn->progClock) return FALSE; for (i = 0; i < pScrn->numClocks; i++) *Clocks++ = pScrn->clock[i]; return TRUE; }
Bool VidModeAddModeline(int scrnIndex, void *mode) { ScrnInfoPtr pScrn; if ((mode == NULL) || (!VidModeAvailable(scrnIndex))) return FALSE; pScrn = xf86Screens[scrnIndex]; ((DisplayModePtr) mode)->name = strdup(""); /* freed by deletemode */ ((DisplayModePtr) mode)->status = MODE_OK; ((DisplayModePtr) mode)->next = pScrn->modes->next; ((DisplayModePtr) mode)->prev = pScrn->modes; pScrn->modes->next = (DisplayModePtr) mode; if (((DisplayModePtr) mode)->next != NULL) ((DisplayModePtr) mode)->next->prev = (DisplayModePtr) mode; return TRUE; }
Bool VidModeSetViewPort(int scrnIndex, int x, int y) { ScrnInfoPtr pScrn; if (!VidModeAvailable(scrnIndex)) return FALSE; pScrn = xf86Screens[scrnIndex]; pScrn->frameX0 = min(max(x, 0), pScrn->virtualX - pScrn->currentMode->HDisplay); pScrn->frameX1 = pScrn->frameX0 + pScrn->currentMode->HDisplay - 1; pScrn->frameY0 = min(max(y, 0), pScrn->virtualY - pScrn->currentMode->VDisplay); pScrn->frameY1 = pScrn->frameY0 + pScrn->currentMode->VDisplay - 1; if (pScrn->AdjustFrame != NULL) (pScrn->AdjustFrame) (pScrn, pScrn->frameX0, pScrn->frameY0); return TRUE; }
Bool VidModeSwitchMode(int scrnIndex, void *mode) { ScrnInfoPtr pScrn; DisplayModePtr pTmpMode; Bool retval; if (!VidModeAvailable(scrnIndex)) return FALSE; pScrn = xf86Screens[scrnIndex]; /* save in case we fail */ pTmpMode = pScrn->currentMode; /* Force a mode switch */ pScrn->currentMode = NULL; retval = xf86SwitchMode(pScrn->pScreen, mode); /* we failed: restore it */ if (retval == FALSE) pScrn->currentMode = pTmpMode; return retval; }
_X_EXPORT Bool VidModeGetFirstModeline(int scrnIndex, pointer *mode, int *dotClock) { ScrnInfoPtr pScrn; VidModePtr pVidMode; DEBUG_P("VidModeGetFirstModeline"); if (!VidModeAvailable(scrnIndex)) return FALSE; pScrn = xf86Screens[scrnIndex]; pVidMode = VMPTR(pScrn->pScreen); pVidMode->First = pScrn->modes; pVidMode->Next = pVidMode->First->next; if (pVidMode->First->status == MODE_OK) { *mode = (pointer)(pVidMode->First); *dotClock = VidModeGetDotClock(scrnIndex, pVidMode->First->Clock); return TRUE; } return VidModeGetNextModeline(scrnIndex, mode, dotClock); }