Kaydet (Commit) 34f19860 authored tarafından Tomaž Vajngerl's avatar Tomaž Vajngerl

refactor ToolPanelDrawer to use RenderContext

Change-Id: Iee3d2801a257f26673cae5abf5614ed4382b5e6b
üst 373edbd7
......@@ -56,10 +56,10 @@ namespace svt
}
void DrawerVisualization::Paint( vcl::RenderContext& rRenderContext, const Rectangle& i_rBoundingBox )
void DrawerVisualization::Paint(vcl::RenderContext& rRenderContext, const Rectangle& i_rBoundingBox)
{
Window::Paint(rRenderContext, i_rBoundingBox);
m_rDrawer.Paint();
m_rDrawer.Paint(rRenderContext);
}
......@@ -105,29 +105,25 @@ namespace svt
}
void ToolPanelDrawer::Paint()
void ToolPanelDrawer::Paint(vcl::RenderContext& rRenderContext)
{
m_pPaintDevice->SetMapMode( GetMapMode() );
m_pPaintDevice->SetOutputSize( GetOutputSizePixel() );
m_pPaintDevice->SetSettings( GetSettings() );
m_pPaintDevice->SetDrawMode( GetDrawMode() );
m_pPaintDevice->SetMapMode(rRenderContext.GetMapMode());
m_pPaintDevice->SetOutputSize(rRenderContext.GetOutputSizePixel());
m_pPaintDevice->SetSettings(rRenderContext.GetSettings());
m_pPaintDevice->SetDrawMode(rRenderContext.GetDrawMode());
const Rectangle aTextBox( impl_calcTextBoundingBox() );
impl_paintBackground( impl_calcTitleBarBox( aTextBox ) );
const Rectangle aTextBox(impl_calcTextBoundingBox());
impl_paintBackground(impl_calcTitleBarBox(aTextBox));
Rectangle aFocusBox( impl_paintExpansionIndicator( aTextBox ) );
Rectangle aFocusBox(impl_paintExpansionIndicator(aTextBox));
m_pPaintDevice->DrawText( aTextBox, GetText(), impl_getTextStyle() );
m_pPaintDevice->DrawText(aTextBox, GetText(), impl_getTextStyle());
aFocusBox.Union( aTextBox );
aFocusBox.Union(aTextBox);
aFocusBox.Left() += 2;
impl_paintFocusIndicator( aFocusBox );
impl_paintFocusIndicator(aFocusBox);
m_aVisualization->DrawOutDev(
Point(), GetOutputSizePixel(),
Point(), GetOutputSizePixel(),
*m_pPaintDevice
);
rRenderContext.DrawOutDev(Point(), GetOutputSizePixel(), Point(), GetOutputSizePixel(), *m_pPaintDevice);
}
......
......@@ -24,15 +24,10 @@
#include <vcl/virdev.hxx>
#include <vcl/vclptr.hxx>
namespace svt
{
class ToolPanelDrawer;
//= DrawerVisualization
/** serves a single purpose - let ZoomText read the drawers ...
Strange enough, ZoomText does not read the drawers when they get the focus (in none of the combinations
......@@ -45,32 +40,31 @@ namespace svt
class DrawerVisualization : public vcl::Window
{
public:
DrawerVisualization( ToolPanelDrawer& i_rParent );
DrawerVisualization(ToolPanelDrawer& i_rParent);
protected:
// Window overridables
virtual void Paint( vcl::RenderContext& rRenderContext, const Rectangle& i_rBoundingBox ) SAL_OVERRIDE;
virtual void Paint(vcl::RenderContext& rRenderContext, const Rectangle& i_rBoundingBox) SAL_OVERRIDE;
private:
ToolPanelDrawer& m_rDrawer;
ToolPanelDrawer& m_rDrawer;
};
//= ToolPanelDrawer
class ToolPanelDrawer : public vcl::Window
{
public:
ToolPanelDrawer( vcl::Window& i_rParent, const OUString& i_rTitle );
ToolPanelDrawer(vcl::Window& i_rParent, const OUString& i_rTitle);
virtual ~ToolPanelDrawer();
virtual void dispose() SAL_OVERRIDE;
long GetPreferredHeightPixel() const;
void SetExpanded( const bool i_bExpanded );
bool IsExpanded() const { return m_bExpanded; }
long GetPreferredHeightPixel() const;
void SetExpanded(const bool i_bExpanded);
bool IsExpanded() const
{
return m_bExpanded;
}
void Paint();
void Paint(vcl::RenderContext& rRenderContext);
protected:
// Window overridables
......@@ -97,16 +91,13 @@ namespace svt
using Window::Paint;
private:
ScopedVclPtr< VirtualDevice > m_pPaintDevice;
VclPtr<DrawerVisualization> m_aVisualization;
bool m_bFocused;
bool m_bExpanded;
ScopedVclPtr<VirtualDevice> m_pPaintDevice;
VclPtr<DrawerVisualization> m_aVisualization;
bool m_bFocused : 1;
bool m_bExpanded : 1;
};
} // namespace svt
#endif // INCLUDED_SVTOOLS_SOURCE_TOOLPANEL_TOOLPANELDRAWER_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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