[Libreoffice-commits] core.git: include/vcl vcl/Library_vcl.mk vcl/source
Chris Sherlock
chris.sherlock79 at gmail.com
Thu May 1 03:01:50 PDT 2014
include/vcl/outdev.hxx | 45 ++++
include/vcl/window.hxx | 49 -----
vcl/Library_vcl.mk | 2
vcl/source/outdev/nativecontrols.cxx | 329 +++++++++++++++++++++++++++++++++++
vcl/source/window/nativecontrols.cxx | 307 --------------------------------
5 files changed, 377 insertions(+), 355 deletions(-)
New commits:
commit f2e4bb4b96a7c2176a0dd1dacd9930bf9b68d895
Author: Chris Sherlock <chris.sherlock79 at gmail.com>
Date: Thu May 1 20:00:56 2014 +1000
Revert "VCL: move native widget rendering functions out of OutputDevice"
This reverts commit 5b86e33b5fb5f8250b88bf14e579cddd98fec36a.
diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx
index 7051f5a..9cc34e8 100644
--- a/include/vcl/outdev.hxx
+++ b/include/vcl/outdev.hxx
@@ -1795,6 +1795,51 @@ private:
///@}
+ /** @name Native Widget Rendering functions
+
+ These all just call through to the private mpGraphics functions of the same name.
+ */
+ ///@{
+
+public:
+
+ /** Query the platform layer for control support
+ */
+ bool IsNativeControlSupported( ControlType nType, ControlPart nPart ) const;
+
+ /** Query the native control to determine if it was acted upon
+ */
+ bool HitTestNativeControl( ControlType nType,
+ ControlPart nPart,
+ const Rectangle& rControlRegion,
+ const Point& aPos,
+ bool& rIsInside ) const;
+
+ /** Request rendering of a particular control and/or part
+ */
+ bool DrawNativeControl( ControlType nType,
+ ControlPart nPart,
+ const Rectangle& rControlRegion,
+ ControlState nState,
+ const ImplControlValue& aValue,
+ const OUString& aCaption );
+
+ /** Query the native control's actual drawing region (including adornment)
+ */
+ bool GetNativeControlRegion( ControlType nType,
+ ControlPart nPart,
+ const Rectangle& rControlRegion,
+ ControlState nState,
+ const ImplControlValue& aValue,
+ const OUString& aCaption,
+ Rectangle &rNativeBoundingRegion,
+ Rectangle &rNativeContentRegion ) const;
+ ///@}
+
+ /** @name EPS functions
+ */
+ ///@{
+
public:
/** Added return value to see if EPS could be painted directly.
diff --git a/include/vcl/window.hxx b/include/vcl/window.hxx
index 19c20d01..001dfd5 100644
--- a/include/vcl/window.hxx
+++ b/include/vcl/window.hxx
@@ -970,7 +970,7 @@ public:
bool HasChildPathFocus( bool bSystemWindow = false ) const;
bool IsActive() const;
bool HasActiveChildFrame();
- sal_uInt16 GetGetFocusFlags() const;
+ sal_uInt16 GetGetFocusFlags() const;
void GrabFocusToDocument();
/**
@@ -1033,7 +1033,7 @@ public:
Window* FindWindow( const Point& rPos ) const;
- sal_uInt16 GetChildCount() const;
+ sal_uInt16 GetChildCount() const;
Window* GetChild( sal_uInt16 nChild ) const;
Window* GetWindow( sal_uInt16 nType ) const;
bool IsChild( const Window* pWindow, bool bSystemWindow = false ) const;
@@ -1076,51 +1076,6 @@ public:
void SaveBackground( const Point& rPos, const Size& rSize,
const Point& rDestOff, VirtualDevice& rSaveDevice );
-
- /** @name Native Widget Rendering functions
-
- These all just call through to the private mpGraphics functions of the same name.
- */
- ///@{
-
- /** Query the platform layer for control support
- */
- bool IsNativeControlSupported( ControlType nType, ControlPart nPart ) const;
-
- /** @name EPS functions
- */
- ///@{
-
-
- /** Query the native control to determine if it was acted upon
- */
- bool HitTestNativeControl( ControlType nType,
- ControlPart nPart,
- const Rectangle& rControlRegion,
- const Point& aPos,
- bool& rIsInside ) const;
-
- /** Request rendering of a particular control and/or part
- */
- bool DrawNativeControl( ControlType nType,
- ControlPart nPart,
- const Rectangle& rControlRegion,
- ControlState nState,
- const ImplControlValue& aValue,
- const OUString& aCaption );
-
- /** Query the native control's actual drawing region (including adornment)
- */
- bool GetNativeControlRegion( ControlType nType,
- ControlPart nPart,
- const Rectangle& rControlRegion,
- ControlState nState,
- const ImplControlValue& aValue,
- const OUString& aCaption,
- Rectangle &rNativeBoundingRegion,
- Rectangle &rNativeContentRegion ) const;
- ///@}
-
const SystemEnvData* GetSystemData() const;
::com::sun::star::uno::Any GetSystemDataAny() const;
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index c331fdf..d630017 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -146,7 +146,6 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\
vcl/source/window/window \
vcl/source/window/winproc \
vcl/source/window/wrkwin \
- vcl/source/window/nativecontrols \
vcl/source/control/button \
vcl/source/control/combobox \
vcl/source/control/ctrl \
@@ -196,6 +195,7 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\
vcl/source/outdev/gradient \
vcl/source/outdev/curvedshapes \
vcl/source/outdev/wallpaper \
+ vcl/source/outdev/nativecontrols \
vcl/source/outdev/map \
vcl/source/gdi/alpha \
vcl/source/gdi/animate \
diff --git a/vcl/source/window/nativecontrols.cxx b/vcl/source/outdev/nativecontrols.cxx
similarity index 90%
rename from vcl/source/window/nativecontrols.cxx
rename to vcl/source/outdev/nativecontrols.cxx
index 38c8498..28e2d35 100644
--- a/vcl/source/window/nativecontrols.cxx
+++ b/vcl/source/outdev/nativecontrols.cxx
@@ -25,6 +25,29 @@
#include <salgdi.hxx>
+static bool EnableNativeWidget( const OutputDevice& i_rDevice )
+{
+ const OutDevType eType( i_rDevice.GetOutDevType() );
+ switch ( eType )
+ {
+
+ case OUTDEV_WINDOW:
+ return dynamic_cast< const Window* >( &i_rDevice )->IsNativeWidgetEnabled();
+
+ case OUTDEV_VIRDEV:
+ {
+ const ::vcl::ExtOutDevData* pOutDevData( i_rDevice.GetExtOutDevData() );
+ const ::vcl::PDFExtOutDevData* pPDFData( dynamic_cast< const ::vcl::PDFExtOutDevData* >( pOutDevData ) );
+ if ( pPDFData != NULL )
+ return false;
+ return true;
+ }
+
+ default:
+ return false;
+ }
+}
+
ImplControlValue::~ImplControlValue()
{
}
@@ -118,9 +141,9 @@ PushButtonValue* PushButtonValue::clone() const
// These functions are mainly passthrough functions that allow access to
// the SalFrame behind a Window object for native widget rendering purposes.
-bool Window::IsNativeControlSupported( ControlType nType, ControlPart nPart ) const
+bool OutputDevice::IsNativeControlSupported( ControlType nType, ControlPart nPart ) const
{
- if( !IsNativeWidgetEnabled() )
+ if( !EnableNativeWidget( *this ) )
return false;
if ( !mpGraphics )
@@ -130,13 +153,13 @@ bool Window::IsNativeControlSupported( ControlType nType, ControlPart nPart ) co
return( mpGraphics->IsNativeControlSupported(nType, nPart) );
}
-bool Window::HitTestNativeControl( ControlType nType,
+bool OutputDevice::HitTestNativeControl( ControlType nType,
ControlPart nPart,
const Rectangle& rControlRegion,
const Point& aPos,
bool& rIsInside ) const
{
- if( !IsNativeWidgetEnabled() )
+ if( !EnableNativeWidget( *this ) )
return false;
if ( !mpGraphics )
@@ -229,15 +252,14 @@ static boost::shared_ptr< ImplControlValue > TransformControlValue( const ImplCo
}
return aResult;
}
-
-bool Window::DrawNativeControl( ControlType nType,
+bool OutputDevice::DrawNativeControl( ControlType nType,
ControlPart nPart,
const Rectangle& rControlRegion,
ControlState nState,
const ImplControlValue& aValue,
const OUString& aCaption )
{
- if( !IsNativeWidgetEnabled() )
+ if( !EnableNativeWidget( *this ) )
return false;
// make sure the current clip region is initialized correctly
@@ -270,7 +292,7 @@ bool Window::DrawNativeControl( ControlType nType,
return bRet;
}
-bool Window::GetNativeControlRegion( ControlType nType,
+bool OutputDevice::GetNativeControlRegion( ControlType nType,
ControlPart nPart,
const Rectangle& rControlRegion,
ControlState nState,
@@ -279,7 +301,7 @@ bool Window::GetNativeControlRegion( ControlType nType,
Rectangle &rNativeBoundingRegion,
Rectangle &rNativeContentRegion ) const
{
- if( !IsNativeWidgetEnabled() )
+ if( !EnableNativeWidget( *this ) )
return false;
if ( !mpGraphics )
More information about the Libreoffice-commits
mailing list