Kaydet (Commit) f2e4bb4b authored tarafından Chris Sherlock's avatar Chris Sherlock

Revert "VCL: move native widget rendering functions out of OutputDevice"

This reverts commit 5b86e33b.
üst 4f45ec19
......@@ -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.
......
......@@ -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;
......
......@@ -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 \
......
......@@ -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 )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment