summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorChris Sherlock <chris.sherlock79@gmail.com>2014-04-28 22:53:28 +1000
committerChris Sherlock <chris.sherlock79@gmail.com>2014-05-01 19:37:45 +1000
commit5b86e33b5fb5f8250b88bf14e579cddd98fec36a (patch)
treeb6a1b69e46f558da51ac895e6b0d446b0d802119 /vcl
parent5a6b71547ff8312960087e031fe2b25d20d64c2a (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.mk2
-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 )