diff options
author | Chris Sherlock <chris.sherlock79@gmail.com> | 2014-04-28 22:53:28 +1000 |
---|---|---|
committer | Chris Sherlock <chris.sherlock79@gmail.com> | 2014-05-01 19:37:45 +1000 |
commit | 5b86e33b5fb5f8250b88bf14e579cddd98fec36a (patch) | |
tree | b6a1b69e46f558da51ac895e6b0d446b0d802119 /vcl | |
parent | 5a6b71547ff8312960087e031fe2b25d20d64c2a (diff) |
VCL: move native widget rendering functions out of OutputDevice
The following functions should be in the Window class, not in
OutputDevice:
+ IsNativeControlSupported
+ HitTestNativeControl
+ DrawNativeControl
+ GetNativeControlRegion
Additionally, moved nativecontrols.cxx to vcl/source/window/ and whilst
we are about it, it turns out that VirtualDevice isn't used by these
functions. Therefore the 'orrible check to for the type of class can be
removed and in fact as VirtualDevice doesn't use it at all then we can
just remove the function and replace it with a call to
IsNativeWidgetEnabled().
Change-Id: Idd0bfb1cba1c2902f7a6d55d258efb38b67fb827
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/Library_vcl.mk | 2 | ||||
-rw-r--r-- | vcl/source/window/nativecontrols.cxx (renamed from vcl/source/outdev/nativecontrols.cxx) | 40 |
2 files changed, 10 insertions, 32 deletions
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk index d630017e0ae5..c331fdfb82b8 100644 --- a/vcl/Library_vcl.mk +++ b/vcl/Library_vcl.mk @@ -146,6 +146,7 @@ $(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 \ @@ -195,7 +196,6 @@ $(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/outdev/nativecontrols.cxx b/vcl/source/window/nativecontrols.cxx index 28e2d35921f5..38c84981c64f 100644 --- a/vcl/source/outdev/nativecontrols.cxx +++ b/vcl/source/window/nativecontrols.cxx @@ -25,29 +25,6 @@ #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() { } @@ -141,9 +118,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 OutputDevice::IsNativeControlSupported( ControlType nType, ControlPart nPart ) const +bool Window::IsNativeControlSupported( ControlType nType, ControlPart nPart ) const { - if( !EnableNativeWidget( *this ) ) + if( !IsNativeWidgetEnabled() ) return false; if ( !mpGraphics ) @@ -153,13 +130,13 @@ bool OutputDevice::IsNativeControlSupported( ControlType nType, ControlPart nPar return( mpGraphics->IsNativeControlSupported(nType, nPart) ); } -bool OutputDevice::HitTestNativeControl( ControlType nType, +bool Window::HitTestNativeControl( ControlType nType, ControlPart nPart, const Rectangle& rControlRegion, const Point& aPos, bool& rIsInside ) const { - if( !EnableNativeWidget( *this ) ) + if( !IsNativeWidgetEnabled() ) return false; if ( !mpGraphics ) @@ -252,14 +229,15 @@ static boost::shared_ptr< ImplControlValue > TransformControlValue( const ImplCo } return aResult; } -bool OutputDevice::DrawNativeControl( ControlType nType, + +bool Window::DrawNativeControl( ControlType nType, ControlPart nPart, const Rectangle& rControlRegion, ControlState nState, const ImplControlValue& aValue, const OUString& aCaption ) { - if( !EnableNativeWidget( *this ) ) + if( !IsNativeWidgetEnabled() ) return false; // make sure the current clip region is initialized correctly @@ -292,7 +270,7 @@ bool OutputDevice::DrawNativeControl( ControlType nType, return bRet; } -bool OutputDevice::GetNativeControlRegion( ControlType nType, +bool Window::GetNativeControlRegion( ControlType nType, ControlPart nPart, const Rectangle& rControlRegion, ControlState nState, @@ -301,7 +279,7 @@ bool OutputDevice::GetNativeControlRegion( ControlType nType, Rectangle &rNativeBoundingRegion, Rectangle &rNativeContentRegion ) const { - if( !EnableNativeWidget( *this ) ) + if( !IsNativeWidgetEnabled() ) return false; if ( !mpGraphics ) |