LibreOffice Module sdext (master)  1
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
sdext::presenter::PresenterPaneBorderPainter Class Reference

This class is responsible for painting window borders of PresenterPane objects. More...

#include <PresenterPaneBorderPainter.hxx>

Inheritance diagram for sdext::presenter::PresenterPaneBorderPainter:
[legend]
Collaboration diagram for sdext::presenter::PresenterPaneBorderPainter:
[legend]

Classes

class  Renderer
 

Public Member Functions

 PresenterPaneBorderPainter (const css::uno::Reference< css::uno::XComponentContext > &rxContext)
 
virtual ~PresenterPaneBorderPainter () override
 
 PresenterPaneBorderPainter (const PresenterPaneBorderPainter &)=delete
 
PresenterPaneBorderPainteroperator= (const PresenterPaneBorderPainter &)=delete
 
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 painted around it. More...
 
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. More...
 
void SetTheme (const std::shared_ptr< PresenterTheme > &rpTheme)
 
virtual css::awt::Rectangle SAL_CALL addBorder (const OUString &rsPaneBorderStyleName, const css::awt::Rectangle &rRectangle, css::drawing::framework::BorderType eBorderType) override
 
virtual css::awt::Rectangle SAL_CALL removeBorder (const OUString &rsPaneBorderStyleName, const css::awt::Rectangle &rRectangle, css::drawing::framework::BorderType eBorderType) override
 
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 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
 
virtual css::awt::Point SAL_CALL getCalloutOffset (const OUString &rsPaneBorderStyleName) override
 

Private Member Functions

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. More...
 
void ProvideTheme ()
 
void ThrowIfDisposed () const
 

Private Attributes

css::uno::Reference< css::uno::XComponentContext > mxContext
 
std::shared_ptr< PresenterThemempTheme
 
std::unique_ptr< RenderermpRenderer
 

Additional Inherited Members

- Protected Attributes inherited from cppu::BaseMutex
mutable::osl::Mutex m_aMutex
 

Detailed Description

This class is responsible for painting window borders of PresenterPane objects.

Definition at line 43 of file PresenterPaneBorderPainter.hxx.

Constructor & Destructor Documentation

sdext::presenter::PresenterPaneBorderPainter::PresenterPaneBorderPainter ( const css::uno::Reference< css::uno::XComponentContext > &  rxContext)
explicit
sdext::presenter::PresenterPaneBorderPainter::~PresenterPaneBorderPainter ( )
overridevirtual

Definition at line 154 of file PresenterPaneBorderPainter.cxx.

sdext::presenter::PresenterPaneBorderPainter::PresenterPaneBorderPainter ( const PresenterPaneBorderPainter )
delete

Member Function Documentation

awt::Rectangle sdext::presenter::PresenterPaneBorderPainter::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 painted around it.

Parameters
rsPaneURLSpecifies the pane style that is used to determine the border sizes.
rInnerBoxThe rectangle of the inner window content.

Definition at line 327 of file PresenterPaneBorderPainter.cxx.

References mpRenderer.

Referenced by addBorder().

awt::Rectangle SAL_CALL sdext::presenter::PresenterPaneBorderPainter::addBorder ( const OUString &  rsPaneBorderStyleName,
const css::awt::Rectangle &  rRectangle,
css::drawing::framework::BorderType  eBorderType 
)
overridevirtual

Definition at line 160 of file PresenterPaneBorderPainter.cxx.

References AddBorder(), ProvideTheme(), and ThrowIfDisposed().

awt::Point SAL_CALL sdext::presenter::PresenterPaneBorderPainter::getCalloutOffset ( const OUString &  rsPaneBorderStyleName)
overridevirtual

Definition at line 254 of file PresenterPaneBorderPainter.cxx.

References mpRenderer, ProvideTheme(), and ThrowIfDisposed().

PresenterPaneBorderPainter& sdext::presenter::PresenterPaneBorderPainter::operator= ( const PresenterPaneBorderPainter )
delete
void SAL_CALL sdext::presenter::PresenterPaneBorderPainter::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 
)
overridevirtual

Definition at line 184 of file PresenterPaneBorderPainter.cxx.

References mpRenderer, ProvideTheme(), and ThrowIfDisposed().

void SAL_CALL sdext::presenter::PresenterPaneBorderPainter::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 
)
overridevirtual

Definition at line 218 of file PresenterPaneBorderPainter.cxx.

References mpRenderer, ProvideTheme(), and ThrowIfDisposed().

bool sdext::presenter::PresenterPaneBorderPainter::ProvideTheme ( const css::uno::Reference< css::rendering::XCanvas > &  rxCanvas)
private

When the theme for the border has not yet been loaded then try again when this method is called.

Returns
Returns <TRUE> only one time when the theme is loaded and/or the renderer is initialized.
void sdext::presenter::PresenterPaneBorderPainter::ProvideTheme ( )
private
awt::Rectangle sdext::presenter::PresenterPaneBorderPainter::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.

Parameters
rsPaneURLSpecifies the pane style that is used to determine the border sizes.
rOuterBoxThe bounding box of the rectangle around the window.
bIsTitleVisibleThis flag controls whether the upper part of the frame is supposed to contain the window title.

Definition at line 341 of file PresenterPaneBorderPainter.cxx.

References mpRenderer.

Referenced by removeBorder().

awt::Rectangle SAL_CALL sdext::presenter::PresenterPaneBorderPainter::removeBorder ( const OUString &  rsPaneBorderStyleName,
const css::awt::Rectangle &  rRectangle,
css::drawing::framework::BorderType  eBorderType 
)
overridevirtual

Definition at line 172 of file PresenterPaneBorderPainter.cxx.

References ProvideTheme(), RemoveBorder(), and ThrowIfDisposed().

void sdext::presenter::PresenterPaneBorderPainter::SetTheme ( const std::shared_ptr< PresenterTheme > &  rpTheme)

Definition at line 320 of file PresenterPaneBorderPainter.cxx.

References mpRenderer, mpTheme, and mxContext.

void sdext::presenter::PresenterPaneBorderPainter::ThrowIfDisposed ( ) const
private
Exceptions
css::lang::DisposedException

Definition at line 355 of file PresenterPaneBorderPainter.cxx.

Referenced by addBorder(), getCalloutOffset(), paintBorder(), paintBorderWithCallout(), and removeBorder().

Member Data Documentation

std::unique_ptr<Renderer> sdext::presenter::PresenterPaneBorderPainter::mpRenderer
private
std::shared_ptr<PresenterTheme> sdext::presenter::PresenterPaneBorderPainter::mpTheme
private
css::uno::Reference<css::uno::XComponentContext> sdext::presenter::PresenterPaneBorderPainter::mxContext
private

Definition at line 116 of file PresenterPaneBorderPainter.hxx.

Referenced by SetTheme().


The documentation for this class was generated from the following files: