LibreOffice Module sd (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

◆ PresenterPaneBorderPainter() [1/2]

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

◆ ~PresenterPaneBorderPainter()

sdext::presenter::PresenterPaneBorderPainter::~PresenterPaneBorderPainter ( )
overridevirtual

Definition at line 153 of file PresenterPaneBorderPainter.cxx.

◆ PresenterPaneBorderPainter() [2/2]

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

Member Function Documentation

◆ 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 159 of file PresenterPaneBorderPainter.cxx.

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

◆ AddBorder()

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 326 of file PresenterPaneBorderPainter.cxx.

References mpRenderer.

Referenced by addBorder().

◆ getCalloutOffset()

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

Definition at line 253 of file PresenterPaneBorderPainter.cxx.

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

◆ operator=()

PresenterPaneBorderPainter & sdext::presenter::PresenterPaneBorderPainter::operator= ( const PresenterPaneBorderPainter )
delete

◆ paintBorder()

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 183 of file PresenterPaneBorderPainter.cxx.

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

◆ paintBorderWithCallout()

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 217 of file PresenterPaneBorderPainter.cxx.

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

◆ ProvideTheme() [1/2]

void sdext::presenter::PresenterPaneBorderPainter::ProvideTheme ( )
private

◆ ProvideTheme() [2/2]

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.

◆ 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 171 of file PresenterPaneBorderPainter.cxx.

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

◆ RemoveBorder()

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 340 of file PresenterPaneBorderPainter.cxx.

References mpRenderer.

Referenced by removeBorder().

◆ SetTheme()

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

Definition at line 319 of file PresenterPaneBorderPainter.cxx.

References mpRenderer, mpTheme, and mxContext.

◆ ThrowIfDisposed()

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

Definition at line 354 of file PresenterPaneBorderPainter.cxx.

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

Member Data Documentation

◆ mpRenderer

std::unique_ptr<Renderer> sdext::presenter::PresenterPaneBorderPainter::mpRenderer
private

◆ mpTheme

std::shared_ptr<PresenterTheme> sdext::presenter::PresenterPaneBorderPainter::mpTheme
private

◆ mxContext

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: