static void
xf86RotateBlockHandler(pointer data, OSTimePtr pTimeout, pointer pRead)
{
    ScreenPtr pScreen = (ScreenPtr) data;

    xf86RotateRedisplay(pScreen);
}
Exemple #2
0
static void
xf86RotateBlockHandler(ScreenPtr pScreen,
                       pointer pTimeout, pointer pReadmask)
{
    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
    xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);
    Bool rotation_active;

    rotation_active = xf86RotateRedisplay(pScreen);
    pScreen->BlockHandler = xf86_config->BlockHandler;
    (*pScreen->BlockHandler) (pScreen, pTimeout, pReadmask);
    /* cannot avoid re-wrapping until all wrapping is audited */
    xf86_config->BlockHandler = pScreen->BlockHandler;
    pScreen->BlockHandler = xf86RotateBlockHandler;
}
static void
xf86RotateBlockHandler(int screenNum, pointer blockData,
		       pointer pTimeout, pointer pReadmask)
{
    ScreenPtr		pScreen = screenInfo.screens[screenNum];
    ScrnInfoPtr		pScrn = xf86Screens[screenNum];
    xf86CrtcConfigPtr   xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);

    pScreen->BlockHandler = xf86_config->BlockHandler;
    (*pScreen->BlockHandler) (screenNum, blockData, pTimeout, pReadmask);
    if (xf86RotateRedisplay(pScreen))
    {
	/* Re-wrap if rotation is still happening */
	xf86_config->BlockHandler = pScreen->BlockHandler;
	pScreen->BlockHandler = xf86RotateBlockHandler;
    }
}
Exemple #4
0
static void
xf86RotateBlockHandler(ScreenPtr pScreen,
                       void *pTimeout, void *pReadmask)
{
    ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
    xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(pScrn);

    /* Unwrap before redisplay in case the software
     * cursor layer wants to add its block handler to the
     * chain
     */
    pScreen->BlockHandler = xf86_config->BlockHandler;

    xf86RotateRedisplay(pScreen);

    (*pScreen->BlockHandler) (pScreen, pTimeout, pReadmask);

    /* Re-wrap if we still need this hook */
    if (xf86_config->rotation_damage != NULL) {
        xf86_config->BlockHandler = pScreen->BlockHandler;
        pScreen->BlockHandler = xf86RotateBlockHandler;
    } else
        xf86_config->BlockHandler = NULL;
}