LibreOffice Module sd (master) 1
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
sd::slidesorter::view::PageObjectPainter Class Reference

#include <SlsPageObjectPainter.hxx>

Collaboration diagram for sd::slidesorter::view::PageObjectPainter:
[legend]

Public Member Functions

 PageObjectPainter (const SlideSorter &rSlideSorter)
 
 ~PageObjectPainter ()
 
void PaintPageObject (OutputDevice &rDevice, const model::SharedPageDescriptor &rpDescriptor)
 
void SetTheme (const std::shared_ptr< view::Theme > &rpTheme)
 Called when the theme changes, either because it is replaced with another or because the system colors have changed. More...
 
BitmapEx GetPreviewBitmap (const model::SharedPageDescriptor &rpDescriptor, const OutputDevice *pReferenceDevice) const
 Return a preview bitmap for the given page descriptor. More...
 

Private Member Functions

void PaintBackground (PageObjectLayouter *pPageObjectLayouter, OutputDevice &rDevice, const model::SharedPageDescriptor &rpDescriptor) const
 
void PaintPreview (PageObjectLayouter *pPageObjectLayouter, OutputDevice &rDevice, const model::SharedPageDescriptor &rpDescriptor) const
 
void PaintPageNumber (PageObjectLayouter *pPageObjectLayouter, OutputDevice &rDevice, const model::SharedPageDescriptor &rpDescriptor) const
 
void PaintBorder (OutputDevice &rDevice, const Theme::GradientColorType eColorType, const ::tools::Rectangle &rBox) const
 
void PaintBackgroundDetail (PageObjectLayouter *pPageObjectLayouter, OutputDevice &rDevice, const model::SharedPageDescriptor &rpDescriptor) const
 
bool UpdatePageObjectLayouter ()
 Update the local pointer to the page object layouter to the one owned by the general layouter. More...
 

Static Private Member Functions

static void PaintTransitionEffect (PageObjectLayouter *pPageObjectLayouter, OutputDevice &rDevice, const model::SharedPageDescriptor &rpDescriptor)
 
static void PaintCustomAnimationEffect (PageObjectLayouter *pPageObjectLayouter, OutputDevice &rDevice, const model::SharedPageDescriptor &rpDescriptor)
 
static BitmapEx CreateMarkedPreview (const Size &rSize, const BitmapEx &rPreview, const BitmapEx &rOverlay, const OutputDevice *pReferenceDevice)
 

Private Attributes

const LayoutermrLayouter
 
std::shared_ptr< cache::PageCachempCache
 
std::shared_ptr< view::ThemempTheme
 
std::shared_ptr< vcl::FontmpPageNumberFont
 
std::unique_ptr< FramePaintermpShadowPainter
 
std::unique_ptr< FramePaintermpFocusBorderPainter
 

Detailed Description

Definition at line 35 of file SlsPageObjectPainter.hxx.

Constructor & Destructor Documentation

◆ PageObjectPainter()

sd::slidesorter::view::PageObjectPainter::PageObjectPainter ( const SlideSorter rSlideSorter)

◆ ~PageObjectPainter()

sd::slidesorter::view::PageObjectPainter::~PageObjectPainter ( )

Definition at line 61 of file SlsPageObjectPainter.cxx.

Member Function Documentation

◆ CreateMarkedPreview()

BitmapEx sd::slidesorter::view::PageObjectPainter::CreateMarkedPreview ( const Size rSize,
const BitmapEx rPreview,
const BitmapEx rOverlay,
const OutputDevice pReferenceDevice 
)
staticprivate

◆ GetPreviewBitmap()

BitmapEx sd::slidesorter::view::PageObjectPainter::GetPreviewBitmap ( const model::SharedPageDescriptor rpDescriptor,
const OutputDevice pReferenceDevice 
) const

Return a preview bitmap for the given page descriptor.

When the page is excluded from the show then the preview is marked accordingly. @rpDescriptor Defines the page for which to return the preview. @pReferenceDevice When not <NULL> then this reference device is used to created a compatible bitmap.

Returns
The returned bitmap may have a different size then the preview area.

Definition at line 181 of file SlsPageObjectPainter.cxx.

References CreateMarkedPreview(), sd::slidesorter::view::PageObjectLayouter::GetBoundingBox(), sd::slidesorter::view::Layouter::GetPageObjectLayouter(), BitmapEx::GetSizePixel(), sd::slidesorter::view::Theme::Icon_HideSlideOverlay, BitmapEx::IsEmpty(), sd::slidesorter::view::PageObjectLayouter::ModelCoordinateSystem, mpCache, mpTheme, mrLayouter, sd::slidesorter::view::PageObjectLayouter::Preview, and sd::slidesorter::model::PageDescriptor::ST_Excluded.

Referenced by PaintPreview().

◆ PaintBackground()

void sd::slidesorter::view::PageObjectPainter::PaintBackground ( PageObjectLayouter pPageObjectLayouter,
OutputDevice rDevice,
const model::SharedPageDescriptor rpDescriptor 
) const
private

◆ PaintBackgroundDetail()

void sd::slidesorter::view::PageObjectPainter::PaintBackgroundDetail ( PageObjectLayouter pPageObjectLayouter,
OutputDevice rDevice,
const model::SharedPageDescriptor rpDescriptor 
) const
private

◆ PaintBorder()

void sd::slidesorter::view::PageObjectPainter::PaintBorder ( OutputDevice rDevice,
const Theme::GradientColorType  eColorType,
const ::tools::Rectangle rBox 
) const
private

◆ PaintCustomAnimationEffect()

void sd::slidesorter::view::PageObjectPainter::PaintCustomAnimationEffect ( PageObjectLayouter pPageObjectLayouter,
OutputDevice rDevice,
const model::SharedPageDescriptor rpDescriptor 
)
staticprivate

◆ PaintPageNumber()

void sd::slidesorter::view::PageObjectPainter::PaintPageNumber ( PageObjectLayouter pPageObjectLayouter,
OutputDevice rDevice,
const model::SharedPageDescriptor rpDescriptor 
) const
private

◆ PaintPageObject()

void sd::slidesorter::view::PageObjectPainter::PaintPageObject ( OutputDevice rDevice,
const model::SharedPageDescriptor rpDescriptor 
)

◆ PaintPreview()

void sd::slidesorter::view::PageObjectPainter::PaintPreview ( PageObjectLayouter pPageObjectLayouter,
OutputDevice rDevice,
const model::SharedPageDescriptor rpDescriptor 
) const
private

◆ PaintTransitionEffect()

void sd::slidesorter::view::PageObjectPainter::PaintTransitionEffect ( PageObjectLayouter pPageObjectLayouter,
OutputDevice rDevice,
const model::SharedPageDescriptor rpDescriptor 
)
staticprivate

◆ SetTheme()

void sd::slidesorter::view::PageObjectPainter::SetTheme ( const std::shared_ptr< view::Theme > &  rpTheme)

Called when the theme changes, either because it is replaced with another or because the system colors have changed.

So, even when the given theme is the same object as the one already in use by this painter everything that depends on the theme is updated.

Definition at line 101 of file SlsPageObjectPainter.cxx.

References mpTheme.

◆ UpdatePageObjectLayouter()

bool sd::slidesorter::view::PageObjectPainter::UpdatePageObjectLayouter ( )
private

Update the local pointer to the page object layouter to the one owned by the general layouter.

Return <TRUE> when after the call we have a valid page object layouter.

Definition at line 87 of file SlsPageObjectPainter.cxx.

References sd::slidesorter::view::Layouter::GetPageObjectLayouter(), and mrLayouter.

Referenced by PaintPageObject().

Member Data Documentation

◆ mpCache

std::shared_ptr<cache::PageCache> sd::slidesorter::view::PageObjectPainter::mpCache
private

Definition at line 69 of file SlsPageObjectPainter.hxx.

Referenced by GetPreviewBitmap(), and PaintPreview().

◆ mpFocusBorderPainter

std::unique_ptr<FramePainter> sd::slidesorter::view::PageObjectPainter::mpFocusBorderPainter
private

Definition at line 73 of file SlsPageObjectPainter.hxx.

Referenced by PageObjectPainter(), and PaintBackgroundDetail().

◆ mpPageNumberFont

std::shared_ptr<vcl::Font> sd::slidesorter::view::PageObjectPainter::mpPageNumberFont
private

Definition at line 71 of file SlsPageObjectPainter.hxx.

Referenced by PaintPageNumber().

◆ mpShadowPainter

std::unique_ptr<FramePainter> sd::slidesorter::view::PageObjectPainter::mpShadowPainter
private

Definition at line 72 of file SlsPageObjectPainter.hxx.

Referenced by PaintBackgroundDetail().

◆ mpTheme

std::shared_ptr<view::Theme> sd::slidesorter::view::PageObjectPainter::mpTheme
private

◆ mrLayouter

const Layouter& sd::slidesorter::view::PageObjectPainter::mrLayouter
private

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