20#ifndef INCLUDED_SDEXT_SOURCE_PRESENTER_PRESENTERPANEBORDERPAINTER_HXX
21#define INCLUDED_SDEXT_SOURCE_PRESENTER_PRESENTERPANEBORDERPAINTER_HXX
23#include <com/sun/star/uno/XComponentContext.hpp>
24#include <com/sun/star/awt/Rectangle.hpp>
25#include <com/sun/star/drawing/framework/XPaneBorderPainter.hpp>
26#include <com/sun/star/rendering/XCanvas.hpp>
36typedef ::cppu::WeakComponentImplHelper<
37 css::drawing::framework::XPaneBorderPainter
49 const css::uno::Reference<css::uno::XComponentContext>& rxContext);
62 const OUString& rsPaneURL,
63 const css::awt::Rectangle& rInnerBox,
64 const css::drawing::framework::BorderType eBorderType)
const;
77 const OUString& rsPaneURL,
78 const css::awt::Rectangle& rOuterBox,
79 const css::drawing::framework::BorderType eBorderType)
const;
81 void SetTheme (
const std::shared_ptr<PresenterTheme>& rpTheme);
87 virtual css::awt::Rectangle SAL_CALL
addBorder (
88 const OUString& rsPaneBorderStyleName,
89 const css::awt::Rectangle& rRectangle,
90 css::drawing::framework::BorderType eBorderType)
override;
93 const OUString& rsPaneBorderStyleName,
94 const css::awt::Rectangle& rRectangle,
95 css::drawing::framework::BorderType eBorderType)
override;
98 const OUString& rsPaneBorderStyleName,
99 const css::uno::Reference<css::rendering::XCanvas>& rxCanvas,
100 const css::awt::Rectangle& rOuterBorderRectangle,
101 const css::awt::Rectangle& rRepaintArea,
102 const OUString& rsTitle)
override;
105 const OUString& rsPaneBorderStyleName,
106 const css::uno::Reference<css::rendering::XCanvas>& rxCanvas,
107 const css::awt::Rectangle& rOuterBorderRectangle,
108 const css::awt::Rectangle& rRepaintArea,
109 const OUString& rsTitle,
110 const css::awt::Point& rCalloutAnchor)
override;
113 const OUString& rsPaneBorderStyleName)
override;
116 css::uno::Reference<css::uno::XComponentContext>
mxContext;
127 const css::uno::Reference<css::rendering::XCanvas>& rxCanvas);
This class is responsible for painting window borders of PresenterPane objects.
PresenterPaneBorderPainter(const css::uno::Reference< css::uno::XComponentContext > &rxContext)
virtual css::awt::Point SAL_CALL getCalloutOffset(const OUString &rsPaneBorderStyleName) override
void ThrowIfDisposed() const
css::awt::Rectangle AddBorder(const OUString &rsPaneURL, const css::awt::Rectangle &rInnerBox, const css::drawing::framework::BorderType eBorderType) const
Transform the bounding box of the window content to the outer bounding box of the border that is pain...
std::unique_ptr< Renderer > mpRenderer
void SetTheme(const std::shared_ptr< PresenterTheme > &rpTheme)
PresenterPaneBorderPainter & operator=(const PresenterPaneBorderPainter &)=delete
css::awt::Rectangle RemoveBorder(const OUString &rsPaneURL, const css::awt::Rectangle &rOuterBox, const css::drawing::framework::BorderType eBorderType) const
Transform the outer bounding box of a window to the bounding box of the inner content area.
PresenterPaneBorderPainter(const PresenterPaneBorderPainter &)=delete
virtual void SAL_CALL paintBorder(const OUString &rsPaneBorderStyleName, const css::uno::Reference< css::rendering::XCanvas > &rxCanvas, const css::awt::Rectangle &rOuterBorderRectangle, const css::awt::Rectangle &rRepaintArea, const OUString &rsTitle) override
virtual css::awt::Rectangle SAL_CALL removeBorder(const OUString &rsPaneBorderStyleName, const css::awt::Rectangle &rRectangle, css::drawing::framework::BorderType eBorderType) override
virtual ~PresenterPaneBorderPainter() override
virtual css::awt::Rectangle SAL_CALL addBorder(const OUString &rsPaneBorderStyleName, const css::awt::Rectangle &rRectangle, css::drawing::framework::BorderType eBorderType) override
std::shared_ptr< PresenterTheme > mpTheme
bool ProvideTheme(const css::uno::Reference< css::rendering::XCanvas > &rxCanvas)
When the theme for the border has not yet been loaded then try again when this method is called.
css::uno::Reference< css::uno::XComponentContext > mxContext
virtual void SAL_CALL paintBorderWithCallout(const OUString &rsPaneBorderStyleName, const css::uno::Reference< css::rendering::XCanvas > &rxCanvas, const css::awt::Rectangle &rOuterBorderRectangle, const css::awt::Rectangle &rRepaintArea, const OUString &rsTitle, const css::awt::Point &rCalloutAnchor) override
::cppu::WeakComponentImplHelper< css::drawing::framework::XPaneBorderPainter > PresenterPaneBorderPainterInterfaceBase