vcl/source/window/clipping.cxx | 96 ----- vcl/source/window/window.cxx | 731 +++++++++++++++++++---------------------- 2 files changed, 356 insertions(+), 471 deletions(-)
New commits: commit f0d74afc781e69e1ae4d7d51cf5259cb1fcb7945 Author: Chris Sherlock <[email protected]> Date: Sat May 24 04:43:56 2014 +1000 vcl: rearrange function location in window.cxx Change-Id: I37db5776a3cb28de2c4fd7938566f7f3b2e2b8b2 diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index 40eb76e..ea9f691 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -819,164 +819,6 @@ void Window::ReleaseGraphics( bool bRelease ) mpNextGraphics = NULL; } -void Window::CopyDeviceArea( SalTwoRect& aPosAry, sal_uInt32 nFlags ) -{ - if (aPosAry.mnSrcWidth == 0 || aPosAry.mnSrcHeight == 0 || aPosAry.mnDestWidth == 0 || aPosAry.mnDestHeight == 0) - return; - - if (nFlags & COPYAREA_WINDOWINVALIDATE) - { - const Rectangle aSrcRect(Point(aPosAry.mnSrcX, aPosAry.mnSrcY), - Size(aPosAry.mnSrcWidth, aPosAry.mnSrcHeight)); - - ImplMoveAllInvalidateRegions(aSrcRect, - aPosAry.mnDestX-aPosAry.mnSrcX, - aPosAry.mnDestY-aPosAry.mnSrcY, - false); - - mpGraphics->CopyArea(aPosAry.mnDestX, aPosAry.mnDestY, - aPosAry.mnSrcX, aPosAry.mnSrcY, - aPosAry.mnSrcWidth, aPosAry.mnSrcHeight, - SAL_COPYAREA_WINDOWINVALIDATE, this); - - return; - } - - OutputDevice::CopyDeviceArea(aPosAry, nFlags); -} - -void Window::ImplInitAppFontData( Window* pWindow ) -{ - ImplSVData* pSVData = ImplGetSVData(); - long nTextHeight = pWindow->GetTextHeight(); - long nTextWidth = pWindow->approximate_char_width() * 8; - long nSymHeight = nTextHeight*4; - // Make the basis wider if the font is too narrow - // such that the dialog looks symmetrical and does not become too narrow. - // Add some extra space when the dialog has the same width, - // as a little more space is better. - if ( nSymHeight > nTextWidth ) - nTextWidth = nSymHeight; - else if ( nSymHeight+5 > nTextWidth ) - nTextWidth = nSymHeight+5; - pSVData->maGDIData.mnAppFontX = nTextWidth * 10 / 8; - pSVData->maGDIData.mnAppFontY = nTextHeight * 10; - - // FIXME: this is currently only on OS X, check with other - // platforms - if( pSVData->maNWFData.mbNoFocusRects ) - { - // try to find out whether there is a large correction - // of control sizes, if yes, make app font scalings larger - // so dialog positioning is not completely off - ImplControlValue aControlValue; - Rectangle aCtrlRegion( Point(), Size( nTextWidth < 10 ? 10 : nTextWidth, nTextHeight < 10 ? 10 : nTextHeight ) ); - Rectangle aBoundingRgn( aCtrlRegion ); - Rectangle aContentRgn( aCtrlRegion ); - if( pWindow->GetNativeControlRegion( CTRL_EDITBOX, PART_ENTIRE_CONTROL, aCtrlRegion, - CTRL_STATE_ENABLED, aControlValue, OUString(), - aBoundingRgn, aContentRgn ) ) - { - // comment: the magical +6 is for the extra border in bordered - // (which is the standard) edit fields - if( aContentRgn.GetHeight() - nTextHeight > (nTextHeight+4)/4 ) - pSVData->maGDIData.mnAppFontY = (aContentRgn.GetHeight()-4) * 10; - } - } - - pSVData->maGDIData.mnRealAppFontX = pSVData->maGDIData.mnAppFontX; - if ( pSVData->maAppData.mnDialogScaleX ) - pSVData->maGDIData.mnAppFontX += (pSVData->maGDIData.mnAppFontX*pSVData->maAppData.mnDialogScaleX)/100; -} - -bool Window::ImplCheckUIFont( const Font& rFont ) -{ - if( ImplGetSVData()->maGDIData.mbNativeFontConfig ) - return true; - - // create a text string using the localized text of important buttons - OUString aTestText; - static const StandardButtonType aTestButtons[] = - { - BUTTON_OK, BUTTON_CANCEL, BUTTON_CLOSE, BUTTON_ABORT, - BUTTON_YES, BUTTON_NO, BUTTON_MORE, BUTTON_IGNORE, - BUTTON_RETRY, BUTTON_HELP - }; - - const int nTestButtonCount = SAL_N_ELEMENTS(aTestButtons); - for( int n = 0; n < nTestButtonCount; ++n ) - { - OUString aButtonStr = Button::GetStandardText( aTestButtons[n] ); - // #i115432# ignore mnemonic+accelerator part of each string - // TODO: use a string filtering method when it becomes available - const sal_Int32 nLen = aButtonStr.getLength(); - bool bInside = false; - for( int i = 0; i < nLen; ++i ) { - const sal_Unicode c = aButtonStr[ i ]; - if( (c == '(')) - bInside = true; - if( (c == ')')) - bInside = false; - if( (c == '~') - || (c == '(') || (c == ')') - || ((c >= 'A') && (c <= 'Z') && bInside) ) - aButtonStr = aButtonStr.replaceAt( i, 1, " " ); - } - // append sanitized button text to test string - aTestText += aButtonStr; - } - - const bool bUIFontOk = ( HasGlyphs( rFont, aTestText ) == -1 ); - return bUIFontOk; -} - -void Window::ImplInitWindowData( WindowType nType ) -{ - // We will eventually being removing the inheritance of OutputDevice from Window. - // It will be replaced with a composition relationship. A Window will use an OutputDevice, - // it will not *be* an OutputDevice - mpOutputDevice = (OutputDevice*)this; - - mpWindowImpl = new WindowImpl( nType ); - - meOutDevType = OUTDEV_WINDOW; - - mbEnableRTL = Application::GetSettings().GetLayoutRTL(); // true: this outdev will be mirrored if RTL window layout (UI mirroring) is globally active -} - -static sal_Int32 CountDPIScaleFactor(sal_Int32 nDPI) -{ - sal_Int32 nResult = 1; - -#ifndef MACOSX - // Setting of HiDPI is unfortunately all only a heuristic; and to add - // insult to an injury, the system is constantly lying to us about - // the DPI and whatnot - // eg. fdo#77059 - set the value from which we do consider the - // screen hi-dpi to greater than 168 - if (nDPI > 168) - nResult = std::max(sal_Int32(1), (nDPI + 48) / 96); -#else - (void)nDPI; -#endif - - return nResult; -} - -bool ImplDoTiledRendering() -{ -#if !HAVE_FEATURE_DESKTOP - // We do tiled rendering only for iOS at the moment, actually, but - // let's see what happens if we assume it for Android, too. - return true; -#else - // We need some way to know globally if this process will use - // tiled rendering or not. Or should this be a per-window setting? - // Or what? - return false; -#endif -} - void Window::ImplInit( Window* pParent, WinBits nStyle, SystemParentData* pSystemParentData ) { DBG_ASSERT( mpWindowImpl->mbFrame || pParent, "Window::Window(): pParent == NULL" ); @@ -1261,6 +1103,164 @@ void Window::ImplInit( Window* pParent, WinBits nStyle, SystemParentData* pSyste GetAccessibleParentWindow()->ImplCallEventListeners( VCLEVENT_WINDOW_CHILDCREATED, this ); } +void Window::CopyDeviceArea( SalTwoRect& aPosAry, sal_uInt32 nFlags ) +{ + if (aPosAry.mnSrcWidth == 0 || aPosAry.mnSrcHeight == 0 || aPosAry.mnDestWidth == 0 || aPosAry.mnDestHeight == 0) + return; + + if (nFlags & COPYAREA_WINDOWINVALIDATE) + { + const Rectangle aSrcRect(Point(aPosAry.mnSrcX, aPosAry.mnSrcY), + Size(aPosAry.mnSrcWidth, aPosAry.mnSrcHeight)); + + ImplMoveAllInvalidateRegions(aSrcRect, + aPosAry.mnDestX-aPosAry.mnSrcX, + aPosAry.mnDestY-aPosAry.mnSrcY, + false); + + mpGraphics->CopyArea(aPosAry.mnDestX, aPosAry.mnDestY, + aPosAry.mnSrcX, aPosAry.mnSrcY, + aPosAry.mnSrcWidth, aPosAry.mnSrcHeight, + SAL_COPYAREA_WINDOWINVALIDATE, this); + + return; + } + + OutputDevice::CopyDeviceArea(aPosAry, nFlags); +} + +void Window::ImplInitAppFontData( Window* pWindow ) +{ + ImplSVData* pSVData = ImplGetSVData(); + long nTextHeight = pWindow->GetTextHeight(); + long nTextWidth = pWindow->approximate_char_width() * 8; + long nSymHeight = nTextHeight*4; + // Make the basis wider if the font is too narrow + // such that the dialog looks symmetrical and does not become too narrow. + // Add some extra space when the dialog has the same width, + // as a little more space is better. + if ( nSymHeight > nTextWidth ) + nTextWidth = nSymHeight; + else if ( nSymHeight+5 > nTextWidth ) + nTextWidth = nSymHeight+5; + pSVData->maGDIData.mnAppFontX = nTextWidth * 10 / 8; + pSVData->maGDIData.mnAppFontY = nTextHeight * 10; + + // FIXME: this is currently only on OS X, check with other + // platforms + if( pSVData->maNWFData.mbNoFocusRects ) + { + // try to find out whether there is a large correction + // of control sizes, if yes, make app font scalings larger + // so dialog positioning is not completely off + ImplControlValue aControlValue; + Rectangle aCtrlRegion( Point(), Size( nTextWidth < 10 ? 10 : nTextWidth, nTextHeight < 10 ? 10 : nTextHeight ) ); + Rectangle aBoundingRgn( aCtrlRegion ); + Rectangle aContentRgn( aCtrlRegion ); + if( pWindow->GetNativeControlRegion( CTRL_EDITBOX, PART_ENTIRE_CONTROL, aCtrlRegion, + CTRL_STATE_ENABLED, aControlValue, OUString(), + aBoundingRgn, aContentRgn ) ) + { + // comment: the magical +6 is for the extra border in bordered + // (which is the standard) edit fields + if( aContentRgn.GetHeight() - nTextHeight > (nTextHeight+4)/4 ) + pSVData->maGDIData.mnAppFontY = (aContentRgn.GetHeight()-4) * 10; + } + } + + pSVData->maGDIData.mnRealAppFontX = pSVData->maGDIData.mnAppFontX; + if ( pSVData->maAppData.mnDialogScaleX ) + pSVData->maGDIData.mnAppFontX += (pSVData->maGDIData.mnAppFontX*pSVData->maAppData.mnDialogScaleX)/100; +} + +bool Window::ImplCheckUIFont( const Font& rFont ) +{ + if( ImplGetSVData()->maGDIData.mbNativeFontConfig ) + return true; + + // create a text string using the localized text of important buttons + OUString aTestText; + static const StandardButtonType aTestButtons[] = + { + BUTTON_OK, BUTTON_CANCEL, BUTTON_CLOSE, BUTTON_ABORT, + BUTTON_YES, BUTTON_NO, BUTTON_MORE, BUTTON_IGNORE, + BUTTON_RETRY, BUTTON_HELP + }; + + const int nTestButtonCount = SAL_N_ELEMENTS(aTestButtons); + for( int n = 0; n < nTestButtonCount; ++n ) + { + OUString aButtonStr = Button::GetStandardText( aTestButtons[n] ); + // #i115432# ignore mnemonic+accelerator part of each string + // TODO: use a string filtering method when it becomes available + const sal_Int32 nLen = aButtonStr.getLength(); + bool bInside = false; + for( int i = 0; i < nLen; ++i ) { + const sal_Unicode c = aButtonStr[ i ]; + if( (c == '(')) + bInside = true; + if( (c == ')')) + bInside = false; + if( (c == '~') + || (c == '(') || (c == ')') + || ((c >= 'A') && (c <= 'Z') && bInside) ) + aButtonStr = aButtonStr.replaceAt( i, 1, " " ); + } + // append sanitized button text to test string + aTestText += aButtonStr; + } + + const bool bUIFontOk = ( HasGlyphs( rFont, aTestText ) == -1 ); + return bUIFontOk; +} + +void Window::ImplInitWindowData( WindowType nType ) +{ + // We will eventually being removing the inheritance of OutputDevice from Window. + // It will be replaced with a composition relationship. A Window will use an OutputDevice, + // it will not *be* an OutputDevice + mpOutputDevice = (OutputDevice*)this; + + mpWindowImpl = new WindowImpl( nType ); + + meOutDevType = OUTDEV_WINDOW; + + mbEnableRTL = Application::GetSettings().GetLayoutRTL(); // true: this outdev will be mirrored if RTL window layout (UI mirroring) is globally active +} + +static sal_Int32 CountDPIScaleFactor(sal_Int32 nDPI) +{ + sal_Int32 nResult = 1; + +#ifndef MACOSX + // Setting of HiDPI is unfortunately all only a heuristic; and to add + // insult to an injury, the system is constantly lying to us about + // the DPI and whatnot + // eg. fdo#77059 - set the value from which we do consider the + // screen hi-dpi to greater than 168 + if (nDPI > 168) + nResult = std::max(sal_Int32(1), (nDPI + 48) / 96); +#else + (void)nDPI; +#endif + + return nResult; +} + +bool ImplDoTiledRendering() +{ +#if !HAVE_FEATURE_DESKTOP + // We do tiled rendering only for iOS at the moment, actually, but + // let's see what happens if we assume it for Android, too. + return true; +#else + // We need some way to know globally if this process will use + // tiled rendering or not. Or should this be a per-window setting? + // Or what? + return false; +#endif +} + void Window::ImplSetFrameParent( const Window* pParent ) { Window* pFrameWindow = ImplGetSVData()->maWinData.mpFirstFrame; commit 18a68697eecfe318bc88e303fed4e5e17457b0ca Author: Chris Sherlock <[email protected]> Date: Sat May 24 04:37:35 2014 +1000 vcl: tabify WindowImpl Change-Id: Id348b2d2d4003777172df1c921e7ea6db5c11762 diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index 833a0a4..40eb76e 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -564,153 +564,153 @@ Window::~Window() WindowImpl::WindowImpl( WindowType nType ) { - maZoom = Fraction( 1, 1 ); - maWinRegion = Region(true); - maWinClipRegion = Region(true); - mpWinData = NULL; // Extra Window Data, that we dont need for all windows - mpOverlapData = NULL; // Overlap Data - mpFrameData = NULL; // Frame Data - mpFrame = NULL; // Pointer to frame window - mpSysObj = NULL; - mpFrameWindow = NULL; // window to top level parent (same as frame window) - mpOverlapWindow = NULL; // first overlap parent - mpBorderWindow = NULL; // Border-Window - mpClientWindow = NULL; // Client-Window of a FrameWindow - mpParent = NULL; // parent (inkl. BorderWindow) - mpRealParent = NULL; // real parent (exkl. BorderWindow) - mpFirstChild = NULL; // first child window - mpLastChild = NULL; // last child window - mpFirstOverlap = NULL; // first overlap window (only set in overlap windows) - mpLastOverlap = NULL; // last overlap window (only set in overlap windows) - mpPrev = NULL; // prev window - mpNext = NULL; // next window - mpNextOverlap = NULL; // next overlap window of frame - mpLastFocusWindow = NULL; // window for focus restore - mpDlgCtrlDownWindow = NULL; // window for dialog control - mpFirstDel = NULL; // Dtor notification list - mpUserData = NULL; // user data - mpCursor = NULL; // cursor - mpControlFont = NULL; // font propertie - mpVCLXWindow = NULL; - mpAccessibleInfos = NULL; - maControlForeground = Color( COL_TRANSPARENT ); // no foreground set - maControlBackground = Color( COL_TRANSPARENT ); // no background set - mnLeftBorder = 0; // left border - mnTopBorder = 0; // top border - mnRightBorder = 0; // right border - mnBottomBorder = 0; // bottom border - mnWidthRequest = -1; // width request - mnHeightRequest = -1; // height request - mnX = 0; // X-Position to Parent - mnY = 0; // Y-Position to Parent - mnAbsScreenX = 0; // absolute X-position on screen, used for RTL window positioning - mpChildClipRegion = NULL; // Child-Clip-Region when ClipChildren - mpPaintRegion = NULL; // Paint-ClipRegion - mnStyle = 0; // style (init in ImplInitWindow) - mnPrevStyle = 0; // prevstyle (set in SetStyle) - mnExtendedStyle = 0; // extended style (init in ImplInitWindow) - mnPrevExtendedStyle = 0; // prevstyle (set in SetExtendedStyle) - mnType = nType; // type - mnGetFocusFlags = 0; // Flags fuer GetFocus()-Aufruf - mnWaitCount = 0; // Wait-Count (>1 == Warte-MousePointer) - mnPaintFlags = 0; // Flags for ImplCallPaint - mnParentClipMode = 0; // Flags for Parent-ClipChildren-Mode - mnActivateMode = 0; // Will be converted in System/Overlap-Windows - mnDlgCtrlFlags = 0; // DialogControl-Flags - mnLockCount = 0; // LockCount - meAlwaysInputMode = AlwaysInputNone; // neither AlwaysEnableInput nor AlwaysDisableInput called - meHalign = VCL_ALIGN_FILL; - meValign = VCL_ALIGN_FILL; - mePackType = VCL_PACK_START; - mnPadding = 0; - mnGridHeight = 1; - mnGridLeftAttach = -1; - mnGridTopAttach = -1; - mnGridWidth = 1; - mnBorderWidth = 0; - mnMarginLeft = 0; - mnMarginRight = 0; - mnMarginTop = 0; - mnMarginBottom = 0; - mbFrame = false; // true: Window is a frame window - mbBorderWin = false; // true: Window is a border window - mbOverlapWin = false; // true: Window is a overlap window - mbSysWin = false; // true: SystemWindow is the base class - mbDialog = false; // true: Dialog is the base class - mbDockWin = false; // true: DockingWindow is the base class - mbFloatWin = false; // true: FloatingWindow is the base class - mbPushButton = false; // true: PushButton is the base class - mbToolBox = false; // true: ToolBox is the base class - mbMenuFloatingWindow= false; // true: MenuFloatingWindow is the base class - mbToolbarFloatingWindow= false; // true: ImplPopupFloatWin is the base class, used for subtoolbars - mbSplitter = false; // true: Splitter is the base class - mbVisible = false; // true: Show( true ) called - mbOverlapVisible = false; // true: Hide called for visible window from ImplHideAllOverlapWindow() - mbDisabled = false; // true: Enable( false ) called - mbInputDisabled = false; // true: EnableInput( false ) called - mbDropDisabled = false; // true: Drop is enabled - mbNoUpdate = false; // true: SetUpdateMode( false ) called - mbNoParentUpdate = false; // true: SetParentUpdateMode( false ) called - mbActive = false; // true: Window Active - mbParentActive = false; // true: OverlapActive from Parent - mbReallyVisible = false; // true: this and all parents to an overlapped window are visible - mbReallyShown = false; // true: this and all parents to an overlapped window are shown - mbInInitShow = false; // true: we are in InitShow - mbChildNotify = false; // true: ChildNotify - mbChildPtrOverwrite = false; // true: PointerStyle overwrites Child-Pointer - mbNoPtrVisible = false; // true: ShowPointer( false ) called - mbMouseMove = false; // true: BaseMouseMove called - mbPaintFrame = false; // true: Paint is visible, but not painted - mbInPaint = false; // true: Inside PaintHdl - mbMouseButtonDown = false; // true: BaseMouseButtonDown called - mbMouseButtonUp = false; // true: BaseMouseButtonUp called - mbKeyInput = false; // true: BaseKeyInput called - mbKeyUp = false; // true: BaseKeyUp called - mbCommand = false; // true: BaseCommand called - mbDefPos = true; // true: Position is not Set - mbDefSize = true; // true: Size is not Set - mbCallMove = true; // true: Move must be called by Show - mbCallResize = true; // true: Resize must be called by Show - mbWaitSystemResize = true; // true: Wait for System-Resize - mbInitWinClipRegion = true; // true: Calc Window Clip Region - mbInitChildRegion = false; // true: InitChildClipRegion - mbWinRegion = false; // true: Window Region - mbClipChildren = false; // true: Child-window should be clipped - mbClipSiblings = false; // true: Adjacent Child-window should be clipped - mbChildTransparent = false; // true: Child-windows are allowed to switch to transparent (incl. Parent-CLIPCHILDREN) - mbPaintTransparent = false; // true: Paints should be executed on the Parent - mbMouseTransparent = false; // true: Window is transparent for Mouse - mbDlgCtrlStart = false; // true: From here on own Dialog-Control - mbFocusVisible = false; // true: Focus Visible - mbUseNativeFocus = false; - mbNativeFocusVisible= false; // true: native Focus Visible - mbInShowFocus = false; // prevent recursion - mbInHideFocus = false; // prevent recursion - mbTrackVisible = false; // true: Tracking Visible - mbControlForeground = false; // true: Foreground-Property set - mbControlBackground = false; // true: Background-Property set - mbAlwaysOnTop = false; // true: always visible for all others windows - mbCompoundControl = false; // true: Composite Control => Listener... - mbCompoundControlHasFocus = false; // true: Composite Control has focus somewhere - mbPaintDisabled = false; // true: Paint should not be executed - mbAllResize = false; // true: Also sent ResizeEvents with 0,0 - mbInDtor = false; // true: We're still in Window-Dtor - mbExtTextInput = false; // true: ExtTextInput-Mode is active - mbInFocusHdl = false; // true: Within GetFocus-Handler - mbCreatedWithToolkit = false; - mbSuppressAccessibilityEvents = false; // true: do not send any accessibility events - mbDrawSelectionBackground = false; // true: draws transparent window background to indicate (toolbox) selection - mbIsInTaskPaneList = false; // true: window was added to the taskpanelist in the topmost system window - mnNativeBackground = 0; // initialize later, depends on type - mbCallHandlersDuringInputDisabled = false; // true: call event handlers even if input is disabled - mbHelpTextDynamic = false; // true: append help id in HELP_DEBUG case - mbFakeFocusSet = false; // true: pretend as if the window has focus. - mbHexpand = false; - mbVexpand = false; - mbExpand = false; - mbFill = true; - mbSecondary = false; - mbNonHomogeneous = false; + maZoom = Fraction( 1, 1 ); + maWinRegion = Region(true); + maWinClipRegion = Region(true); + mpWinData = NULL; // Extra Window Data, that we dont need for all windows + mpOverlapData = NULL; // Overlap Data + mpFrameData = NULL; // Frame Data + mpFrame = NULL; // Pointer to frame window + mpSysObj = NULL; + mpFrameWindow = NULL; // window to top level parent (same as frame window) + mpOverlapWindow = NULL; // first overlap parent + mpBorderWindow = NULL; // Border-Window + mpClientWindow = NULL; // Client-Window of a FrameWindow + mpParent = NULL; // parent (inkl. BorderWindow) + mpRealParent = NULL; // real parent (exkl. BorderWindow) + mpFirstChild = NULL; // first child window + mpLastChild = NULL; // last child window + mpFirstOverlap = NULL; // first overlap window (only set in overlap windows) + mpLastOverlap = NULL; // last overlap window (only set in overlap windows) + mpPrev = NULL; // prev window + mpNext = NULL; // next window + mpNextOverlap = NULL; // next overlap window of frame + mpLastFocusWindow = NULL; // window for focus restore + mpDlgCtrlDownWindow = NULL; // window for dialog control + mpFirstDel = NULL; // Dtor notification list + mpUserData = NULL; // user data + mpCursor = NULL; // cursor + mpControlFont = NULL; // font properties + mpVCLXWindow = NULL; + mpAccessibleInfos = NULL; + maControlForeground = Color( COL_TRANSPARENT ); // no foreground set + maControlBackground = Color( COL_TRANSPARENT ); // no background set + mnLeftBorder = 0; // left border + mnTopBorder = 0; // top border + mnRightBorder = 0; // right border + mnBottomBorder = 0; // bottom border + mnWidthRequest = -1; // width request + mnHeightRequest = -1; // height request + mnX = 0; // X-Position to Parent + mnY = 0; // Y-Position to Parent + mnAbsScreenX = 0; // absolute X-position on screen, used for RTL window positioning + mpChildClipRegion = NULL; // Child-Clip-Region when ClipChildren + mpPaintRegion = NULL; // Paint-ClipRegion + mnStyle = 0; // style (init in ImplInitWindow) + mnPrevStyle = 0; // prevstyle (set in SetStyle) + mnExtendedStyle = 0; // extended style (init in ImplInitWindow) + mnPrevExtendedStyle = 0; // prevstyle (set in SetExtendedStyle) + mnType = nType; // type + mnGetFocusFlags = 0; // Flags fuer GetFocus()-Aufruf + mnWaitCount = 0; // Wait-Count (>1 == Warte-MousePointer) + mnPaintFlags = 0; // Flags for ImplCallPaint + mnParentClipMode = 0; // Flags for Parent-ClipChildren-Mode + mnActivateMode = 0; // Will be converted in System/Overlap-Windows + mnDlgCtrlFlags = 0; // DialogControl-Flags + mnLockCount = 0; // LockCount + meAlwaysInputMode = AlwaysInputNone; // neither AlwaysEnableInput nor AlwaysDisableInput called + meHalign = VCL_ALIGN_FILL; + meValign = VCL_ALIGN_FILL; + mePackType = VCL_PACK_START; + mnPadding = 0; + mnGridHeight = 1; + mnGridLeftAttach = -1; + mnGridTopAttach = -1; + mnGridWidth = 1; + mnBorderWidth = 0; + mnMarginLeft = 0; + mnMarginRight = 0; + mnMarginTop = 0; + mnMarginBottom = 0; + mbFrame = false; // true: Window is a frame window + mbBorderWin = false; // true: Window is a border window + mbOverlapWin = false; // true: Window is a overlap window + mbSysWin = false; // true: SystemWindow is the base class + mbDialog = false; // true: Dialog is the base class + mbDockWin = false; // true: DockingWindow is the base class + mbFloatWin = false; // true: FloatingWindow is the base class + mbPushButton = false; // true: PushButton is the base class + mbToolBox = false; // true: ToolBox is the base class + mbMenuFloatingWindow = false; // true: MenuFloatingWindow is the base class + mbToolbarFloatingWindow = false; // true: ImplPopupFloatWin is the base class, used for subtoolbars + mbSplitter = false; // true: Splitter is the base class + mbVisible = false; // true: Show( true ) called + mbOverlapVisible = false; // true: Hide called for visible window from ImplHideAllOverlapWindow() + mbDisabled = false; // true: Enable( false ) called + mbInputDisabled = false; // true: EnableInput( false ) called + mbDropDisabled = false; // true: Drop is enabled + mbNoUpdate = false; // true: SetUpdateMode( false ) called + mbNoParentUpdate = false; // true: SetParentUpdateMode( false ) called + mbActive = false; // true: Window Active + mbParentActive = false; // true: OverlapActive from Parent + mbReallyVisible = false; // true: this and all parents to an overlapped window are visible + mbReallyShown = false; // true: this and all parents to an overlapped window are shown + mbInInitShow = false; // true: we are in InitShow + mbChildNotify = false; // true: ChildNotify + mbChildPtrOverwrite = false; // true: PointerStyle overwrites Child-Pointer + mbNoPtrVisible = false; // true: ShowPointer( false ) called + mbMouseMove = false; // true: BaseMouseMove called + mbPaintFrame = false; // true: Paint is visible, but not painted + mbInPaint = false; // true: Inside PaintHdl + mbMouseButtonDown = false; // true: BaseMouseButtonDown called + mbMouseButtonUp = false; // true: BaseMouseButtonUp called + mbKeyInput = false; // true: BaseKeyInput called + mbKeyUp = false; // true: BaseKeyUp called + mbCommand = false; // true: BaseCommand called + mbDefPos = true; // true: Position is not Set + mbDefSize = true; // true: Size is not Set + mbCallMove = true; // true: Move must be called by Show + mbCallResize = true; // true: Resize must be called by Show + mbWaitSystemResize = true; // true: Wait for System-Resize + mbInitWinClipRegion = true; // true: Calc Window Clip Region + mbInitChildRegion = false; // true: InitChildClipRegion + mbWinRegion = false; // true: Window Region + mbClipChildren = false; // true: Child-window should be clipped + mbClipSiblings = false; // true: Adjacent Child-window should be clipped + mbChildTransparent = false; // true: Child-windows are allowed to switch to transparent (incl. Parent-CLIPCHILDREN) + mbPaintTransparent = false; // true: Paints should be executed on the Parent + mbMouseTransparent = false; // true: Window is transparent for Mouse + mbDlgCtrlStart = false; // true: From here on own Dialog-Control + mbFocusVisible = false; // true: Focus Visible + mbUseNativeFocus = false; + mbNativeFocusVisible = false; // true: native Focus Visible + mbInShowFocus = false; // prevent recursion + mbInHideFocus = false; // prevent recursion + mbTrackVisible = false; // true: Tracking Visible + mbControlForeground = false; // true: Foreground-Property set + mbControlBackground = false; // true: Background-Property set + mbAlwaysOnTop = false; // true: always visible for all others windows + mbCompoundControl = false; // true: Composite Control => Listener... + mbCompoundControlHasFocus = false; // true: Composite Control has focus somewhere + mbPaintDisabled = false; // true: Paint should not be executed + mbAllResize = false; // true: Also sent ResizeEvents with 0,0 + mbInDtor = false; // true: We're still in Window-Dtor + mbExtTextInput = false; // true: ExtTextInput-Mode is active + mbInFocusHdl = false; // true: Within GetFocus-Handler + mbCreatedWithToolkit = false; + mbSuppressAccessibilityEvents = false; // true: do not send any accessibility events + mbDrawSelectionBackground = false; // true: draws transparent window background to indicate (toolbox) selection + mbIsInTaskPaneList = false; // true: window was added to the taskpanelist in the topmost system window + mnNativeBackground = 0; // initialize later, depends on type + mbCallHandlersDuringInputDisabled = false; // true: call event handlers even if input is disabled + mbHelpTextDynamic = false; // true: append help id in HELP_DEBUG case + mbFakeFocusSet = false; // true: pretend as if the window has focus. + mbHexpand = false; + mbVexpand = false; + mbExpand = false; + mbFill = true; + mbSecondary = false; + mbNonHomogeneous = false; } WindowImpl::~WindowImpl() commit 94261e6382951f9d71f4ca30ccae97fb034c0007 Author: Chris Sherlock <[email protected]> Date: Sat May 24 04:28:04 2014 +1000 vcl: remove unnecessary headers from window.cxx Change-Id: I80d9d456dc9cf99bf9bfa05571d42774f43ce577 diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index 513eb6f..833a0a4 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -19,82 +19,51 @@ #include <config_features.h> -#include <i18nlangtag/mslangid.hxx> - -#include "tools/time.hxx" -#include "tools/debug.hxx" -#include "tools/rc.h" - -#include "unotools/fontcfg.hxx" -#include "unotools/confignode.hxx" - -#include "vcl/layout.hxx" -#include "vcl/salgtype.hxx" -#include "vcl/event.hxx" -#include "vcl/fixed.hxx" -#include "vcl/help.hxx" -#include "vcl/cursor.hxx" -#include "vcl/svapp.hxx" -#include "vcl/window.hxx" -#include "vcl/syswin.hxx" -#include "vcl/syschild.hxx" -#include "vcl/dockwin.hxx" -#include "vcl/menu.hxx" -#include "vcl/wrkwin.hxx" -#include "vcl/wall.hxx" -#include "vcl/gradient.hxx" -#include "vcl/button.hxx" -#include "vcl/taskpanelist.hxx" -#include "vcl/dialog.hxx" -#include "vcl/unowrap.hxx" -#include "vcl/gdimtf.hxx" -#include "vcl/pdfextoutdevdata.hxx" -#include "vcl/popupmenuwindow.hxx" -#include "vcl/lazydelete.hxx" -#include "vcl/virdev.hxx" -#include "vcl/settings.hxx" - -// declare system types in sysdata.hxx -#include "svsys.h" -#include "vcl/sysdata.hxx" - -#include "salframe.hxx" -#include "salobj.hxx" -#include "salinst.hxx" -#include "salgdi.hxx" -#include "svdata.hxx" -#include "dbggui.hxx" -#include "outfont.hxx" -#include "window.h" -#include "toolbox.h" -#include "outdev.h" -#include "PhysicalFontCollection.hxx" -#include "brdwin.hxx" -#include "helpwin.hxx" -#include "sallayout.hxx" -#include "dndlcon.hxx" -#include "dndevdis.hxx" - -#include "com/sun/star/accessibility/XAccessible.hpp" -#include "com/sun/star/accessibility/AccessibleRole.hpp" -#include "com/sun/star/awt/XWindowPeer.hpp" -#include "com/sun/star/awt/XTopWindow.hpp" -#include "com/sun/star/awt/XWindow.hpp" -#include "com/sun/star/awt/XDisplayConnection.hpp" -#include "com/sun/star/datatransfer/dnd/XDragSource.hpp" -#include "com/sun/star/datatransfer/dnd/XDropTarget.hpp" -#include "com/sun/star/datatransfer/clipboard/XClipboard.hpp" -#include "com/sun/star/datatransfer/clipboard/SystemClipboard.hpp" -#include "com/sun/star/lang/XInitialization.hpp" -#include "com/sun/star/lang/XComponent.hpp" -#include "com/sun/star/lang/XServiceName.hpp" -#include "com/sun/star/rendering/CanvasFactory.hpp" -#include "com/sun/star/rendering/XCanvas.hpp" -#include "com/sun/star/rendering/XSpriteCanvas.hpp" -#include "comphelper/processfactory.hxx" - -#include <sal/macros.h> -#include <rtl/strbuf.hxx> +#include <tools/rc.h> + +#include <sal/types.h> + +#include <vcl/salgtype.hxx> +#include <vcl/event.hxx> +#include <vcl/help.hxx> +#include <vcl/cursor.hxx> +#include <vcl/svapp.hxx> +#include <vcl/window.hxx> +#include <vcl/syswin.hxx> +#include <vcl/syschild.hxx> +#include <vcl/dockwin.hxx> +#include <vcl/wall.hxx> +#include <vcl/gradient.hxx> +#include <vcl/button.hxx> +#include <vcl/taskpanelist.hxx> +#include <vcl/dialog.hxx> +#include <vcl/unowrap.hxx> +#include <vcl/gdimtf.hxx> +#include <vcl/lazydelete.hxx> +#include <vcl/virdev.hxx> +#include <vcl/settings.hxx> +#include <vcl/sysdata.hxx> + +#include <salframe.hxx> +#include <salobj.hxx> +#include <salinst.hxx> +#include <salgdi.hxx> +#include <svdata.hxx> +#include <dbggui.hxx> +#include <window.h> +#include <toolbox.h> +#include <outdev.h> +#include <brdwin.hxx> +#include <helpwin.hxx> +#include <dndlcon.hxx> + +#include <com/sun/star/awt/XTopWindow.hpp> +#include <com/sun/star/awt/XDisplayConnection.hpp> +#include <com/sun/star/datatransfer/clipboard/XClipboard.hpp> +#include <com/sun/star/datatransfer/clipboard/SystemClipboard.hpp> +#include <com/sun/star/rendering/CanvasFactory.hpp> +#include <com/sun/star/rendering/XSpriteCanvas.hpp> +#include <comphelper/processfactory.hxx> #include <set> #include <typeinfo> commit 91c8afc0650884ac82cb5625dd0c9b5af45dd377 Author: Chris Sherlock <[email protected]> Date: Sat May 24 03:53:31 2014 +1000 vcl: remove unnecessary headers in clipping.cxx Change-Id: I9b654b9ce51509bb84c7ac22c0e008e47adf1921 diff --git a/vcl/source/window/clipping.cxx b/vcl/source/window/clipping.cxx index 51ea523..a7c2eba 100644 --- a/vcl/source/window/clipping.cxx +++ b/vcl/source/window/clipping.cxx @@ -17,96 +17,12 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#include <config_features.h> - -#include <i18nlangtag/mslangid.hxx> - -#include "tools/time.hxx" -#include "tools/debug.hxx" -#include "tools/rc.h" - -#include "unotools/fontcfg.hxx" -#include "unotools/confignode.hxx" - -#include "vcl/layout.hxx" -#include "vcl/salgtype.hxx" -#include "vcl/event.hxx" -#include "vcl/fixed.hxx" -#include "vcl/help.hxx" -#include "vcl/cursor.hxx" -#include "vcl/svapp.hxx" -#include "vcl/window.hxx" -#include "vcl/syswin.hxx" -#include "vcl/syschild.hxx" -#include "vcl/dockwin.hxx" -#include "vcl/menu.hxx" -#include "vcl/wrkwin.hxx" -#include "vcl/wall.hxx" -#include "vcl/gradient.hxx" -#include "vcl/button.hxx" -#include "vcl/taskpanelist.hxx" -#include "vcl/dialog.hxx" -#include "vcl/unowrap.hxx" -#include "vcl/gdimtf.hxx" -#include "vcl/pdfextoutdevdata.hxx" -#include "vcl/popupmenuwindow.hxx" -#include "vcl/lazydelete.hxx" -#include "vcl/virdev.hxx" -#include "vcl/settings.hxx" - -// declare system types in sysdata.hxx -#include "svsys.h" -#include "vcl/sysdata.hxx" - -#include "salframe.hxx" -#include "salobj.hxx" -#include "salinst.hxx" -#include "salgdi.hxx" -#include "svdata.hxx" -#include "dbggui.hxx" -#include "outfont.hxx" -#include "window.h" -#include "toolbox.h" -#include "outdev.h" -#include "PhysicalFontCollection.hxx" -#include "brdwin.hxx" -#include "helpwin.hxx" -#include "sallayout.hxx" -#include "dndlcon.hxx" -#include "dndevdis.hxx" - -#include "com/sun/star/accessibility/XAccessible.hpp" -#include "com/sun/star/accessibility/AccessibleRole.hpp" -#include "com/sun/star/awt/XWindowPeer.hpp" -#include "com/sun/star/awt/XTopWindow.hpp" -#include "com/sun/star/awt/XWindow.hpp" -#include "com/sun/star/awt/XDisplayConnection.hpp" -#include "com/sun/star/datatransfer/dnd/XDragSource.hpp" -#include "com/sun/star/datatransfer/dnd/XDropTarget.hpp" -#include "com/sun/star/datatransfer/clipboard/XClipboard.hpp" -#include "com/sun/star/datatransfer/clipboard/SystemClipboard.hpp" -#include "com/sun/star/lang/XInitialization.hpp" -#include "com/sun/star/lang/XComponent.hpp" -#include "com/sun/star/lang/XServiceName.hpp" -#include "com/sun/star/rendering/CanvasFactory.hpp" -#include "com/sun/star/rendering/XCanvas.hpp" -#include "com/sun/star/rendering/XSpriteCanvas.hpp" -#include "comphelper/processfactory.hxx" - -#include <sal/macros.h> -#include <rtl/strbuf.hxx> - -#include <set> -#include <typeinfo> - -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::lang; -using namespace ::com::sun::star::datatransfer::clipboard; -using namespace ::com::sun::star::datatransfer::dnd; -using namespace ::com::sun::star; -using namespace com::sun; - -using ::com::sun::star::awt::XTopWindow; +#include <vcl/window.hxx> + +#include <sal/types.h> + +#include <salobj.hxx> +#include <window.h> void Window::InitClipRegion() { _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
