diff options
Diffstat (limited to 'hw/xwin/winrandr.c')
-rw-r--r-- | hw/xwin/winrandr.c | 228 |
1 files changed, 112 insertions, 116 deletions
diff --git a/hw/xwin/winrandr.c b/hw/xwin/winrandr.c index 596c1ab9d..1b340850c 100644 --- a/hw/xwin/winrandr.c +++ b/hw/xwin/winrandr.c @@ -34,163 +34,159 @@ #include <xwin-config.h> #endif #include "win.h" -#include "mivalidate.h" // for union _Validate used by windowstr.h +#include "mivalidate.h" // for union _Validate used by windowstr.h #ifndef RANDR_12_INTERFACE #error X server must have RandR 1.2 interface #endif - /* * Answer queries about the RandR features supported. */ static Bool -winRandRGetInfo (ScreenPtr pScreen, Rotation *pRotations) +winRandRGetInfo(ScreenPtr pScreen, Rotation * pRotations) { - winDebug ("winRandRGetInfo ()\n"); + winDebug("winRandRGetInfo ()\n"); - /* Don't support rotations */ - *pRotations = RR_Rotate_0; + /* Don't support rotations */ + *pRotations = RR_Rotate_0; - /* - The screen doesn't have to be limited to the actual - monitor size (we can have scrollbars :-), so what is - the upper limit? - */ - RRScreenSetSizeRange(pScreen, 0, 0, 4096, 4096); + /* + The screen doesn't have to be limited to the actual + monitor size (we can have scrollbars :-), so what is + the upper limit? + */ + RRScreenSetSizeRange(pScreen, 0, 0, 4096, 4096); - return TRUE; + return TRUE; } /* */ void -winDoRandRScreenSetSize (ScreenPtr pScreen, - CARD16 width, - CARD16 height, - CARD32 mmWidth, - CARD32 mmHeight) +winDoRandRScreenSetSize(ScreenPtr pScreen, + CARD16 width, + CARD16 height, CARD32 mmWidth, CARD32 mmHeight) { - winScreenPriv(pScreen); - winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo; - WindowPtr pRoot = pScreen->root; + winScreenPriv(pScreen); + winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo; + WindowPtr pRoot = pScreen->root; - // Prevent screen updates while we change things around - SetRootClip(pScreen, FALSE); + // Prevent screen updates while we change things around + SetRootClip(pScreen, FALSE); - /* Update the screen size as requested */ - pScreenInfo->dwWidth = width; - pScreenInfo->dwHeight = height; + /* Update the screen size as requested */ + pScreenInfo->dwWidth = width; + pScreenInfo->dwHeight = height; - /* Reallocate the framebuffer used by the drawing engine */ - (*pScreenPriv->pwinFreeFB)(pScreen); - if (!(*pScreenPriv->pwinAllocateFB)(pScreen)) - { - ErrorF ("winDoRandRScreenSetSize - Could not reallocate framebuffer\n"); + /* Reallocate the framebuffer used by the drawing engine */ + (*pScreenPriv->pwinFreeFB) (pScreen); + if (!(*pScreenPriv->pwinAllocateFB) (pScreen)) { + ErrorF("winDoRandRScreenSetSize - Could not reallocate framebuffer\n"); } - pScreen->width = width; - pScreen->height = height; - pScreen->mmWidth = mmWidth; - pScreen->mmHeight = mmHeight; + pScreen->width = width; + pScreen->height = height; + pScreen->mmWidth = mmWidth; + pScreen->mmHeight = mmHeight; - /* Update the screen pixmap to point to the new framebuffer */ - winUpdateFBPointer(pScreen, pScreenInfo->pfb); + /* Update the screen pixmap to point to the new framebuffer */ + winUpdateFBPointer(pScreen, pScreenInfo->pfb); - // pScreen->devPrivate == pScreen->GetScreenPixmap(screen) ? - // resize the root window - //pScreen->ResizeWindow(pRoot, 0, 0, width, height, NULL); - // does this emit a ConfigureNotify?? + // pScreen->devPrivate == pScreen->GetScreenPixmap(screen) ? + // resize the root window + //pScreen->ResizeWindow(pRoot, 0, 0, width, height, NULL); + // does this emit a ConfigureNotify?? - // Restore the ability to update screen, now with new dimensions - SetRootClip(pScreen, TRUE); + // Restore the ability to update screen, now with new dimensions + SetRootClip(pScreen, TRUE); - // and arrange for it to be repainted - miPaintWindow(pRoot, &pRoot->borderClip, PW_BACKGROUND); + // and arrange for it to be repainted + miPaintWindow(pRoot, &pRoot->borderClip, PW_BACKGROUND); - /* Indicate that a screen size change took place */ - RRScreenSizeNotify(pScreen); + /* Indicate that a screen size change took place */ + RRScreenSizeNotify(pScreen); } /* * Respond to resize request */ static -Bool -winRandRScreenSetSize (ScreenPtr pScreen, - CARD16 width, - CARD16 height, - CARD32 mmWidth, - CARD32 mmHeight) + Bool +winRandRScreenSetSize(ScreenPtr pScreen, + CARD16 width, + CARD16 height, CARD32 mmWidth, CARD32 mmHeight) { - winScreenPriv(pScreen); - winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo; + winScreenPriv(pScreen); + winScreenInfo *pScreenInfo = pScreenPriv->pScreenInfo; - winDebug ("winRandRScreenSetSize ()\n"); + winDebug("winRandRScreenSetSize ()\n"); - /* - It doesn't currently make sense to allow resize in fullscreen mode - (we'd actually have to list the supported resolutions) - */ - if (pScreenInfo->fFullScreen) - { - ErrorF ("winRandRScreenSetSize - resize not supported in fullscreen mode\n"); - return FALSE; + /* + It doesn't currently make sense to allow resize in fullscreen mode + (we'd actually have to list the supported resolutions) + */ + if (pScreenInfo->fFullScreen) { + ErrorF + ("winRandRScreenSetSize - resize not supported in fullscreen mode\n"); + return FALSE; } - /* - Client resize requests aren't allowed in rootless modes, even if - the X screen is monitor or virtual desktop size, we'd need to - resize the native display size - */ - if (FALSE + /* + Client resize requests aren't allowed in rootless modes, even if + the X screen is monitor or virtual desktop size, we'd need to + resize the native display size + */ + if (FALSE #ifdef XWIN_MULTIWINDOWEXTWM - || pScreenInfo->fMWExtWM + || pScreenInfo->fMWExtWM #endif - || pScreenInfo->fRootless + || pScreenInfo->fRootless #ifdef XWIN_MULTIWINDOW - || pScreenInfo->fMultiWindow + || pScreenInfo->fMultiWindow #endif - ) - { - ErrorF ("winRandRScreenSetSize - resize not supported in rootless modes\n"); - return FALSE; + ) { + ErrorF + ("winRandRScreenSetSize - resize not supported in rootless modes\n"); + return FALSE; } - winDoRandRScreenSetSize(pScreen, width, height, mmWidth, mmHeight); + winDoRandRScreenSetSize(pScreen, width, height, mmWidth, mmHeight); - /* Cause the native window for the screen to resize itself */ - { - DWORD dwStyle, dwExStyle; - RECT rcClient; + /* Cause the native window for the screen to resize itself */ + { + DWORD dwStyle, dwExStyle; + RECT rcClient; - rcClient.left = 0; - rcClient.top = 0; - rcClient.right = width; - rcClient.bottom = height; + rcClient.left = 0; + rcClient.top = 0; + rcClient.right = width; + rcClient.bottom = height; - ErrorF ("winRandRScreenSetSize new client area w: %d h: %d\n", width, height); + ErrorF("winRandRScreenSetSize new client area w: %d h: %d\n", width, + height); - /* Get the Windows window style and extended style */ - dwExStyle = GetWindowLongPtr(pScreenPriv->hwndScreen, GWL_EXSTYLE); - dwStyle = GetWindowLongPtr(pScreenPriv->hwndScreen, GWL_STYLE); + /* Get the Windows window style and extended style */ + dwExStyle = GetWindowLongPtr(pScreenPriv->hwndScreen, GWL_EXSTYLE); + dwStyle = GetWindowLongPtr(pScreenPriv->hwndScreen, GWL_STYLE); - /* - * Calculate the window size needed for the given client area - * adjusting for any decorations it will have - */ - AdjustWindowRectEx(&rcClient, dwStyle, FALSE, dwExStyle); + /* + * Calculate the window size needed for the given client area + * adjusting for any decorations it will have + */ + AdjustWindowRectEx(&rcClient, dwStyle, FALSE, dwExStyle); - ErrorF ("winRandRScreenSetSize new window area w: %ld h: %ld\n", rcClient.right-rcClient.left, rcClient.bottom-rcClient.top); + ErrorF("winRandRScreenSetSize new window area w: %ld h: %ld\n", + rcClient.right - rcClient.left, rcClient.bottom - rcClient.top); - SetWindowPos(pScreenPriv->hwndScreen, NULL, - 0, 0, rcClient.right-rcClient.left, rcClient.bottom-rcClient.top, - SWP_NOZORDER | SWP_NOMOVE); - } + SetWindowPos(pScreenPriv->hwndScreen, NULL, + 0, 0, rcClient.right - rcClient.left, + rcClient.bottom - rcClient.top, SWP_NOZORDER | SWP_NOMOVE); + } - return TRUE; + return TRUE; } /* @@ -198,24 +194,24 @@ winRandRScreenSetSize (ScreenPtr pScreen, */ Bool -winRandRInit (ScreenPtr pScreen) +winRandRInit(ScreenPtr pScreen) { - rrScrPrivPtr pRRScrPriv; - winDebug ("winRandRInit ()\n"); + rrScrPrivPtr pRRScrPriv; - if (!RRScreenInit (pScreen)) - { - ErrorF ("winRandRInit () - RRScreenInit () failed\n"); - return FALSE; + winDebug("winRandRInit ()\n"); + + if (!RRScreenInit(pScreen)) { + ErrorF("winRandRInit () - RRScreenInit () failed\n"); + return FALSE; } - /* Set some RandR function pointers */ - pRRScrPriv = rrGetScrPriv (pScreen); - pRRScrPriv->rrGetInfo = winRandRGetInfo; - pRRScrPriv->rrSetConfig = NULL; - pRRScrPriv->rrScreenSetSize = winRandRScreenSetSize; - pRRScrPriv->rrCrtcSet = NULL; - pRRScrPriv->rrCrtcSetGamma = NULL; + /* Set some RandR function pointers */ + pRRScrPriv = rrGetScrPriv(pScreen); + pRRScrPriv->rrGetInfo = winRandRGetInfo; + pRRScrPriv->rrSetConfig = NULL; + pRRScrPriv->rrScreenSetSize = winRandRScreenSetSize; + pRRScrPriv->rrCrtcSet = NULL; + pRRScrPriv->rrCrtcSetGamma = NULL; - return TRUE; + return TRUE; } |