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

A simple wrapper around an OutputDevice that provides support for independent layers and buffering. More...

#include <SlsLayeredDevice.hxx>

Inheritance diagram for sd::slidesorter::view::LayeredDevice:
[legend]
Collaboration diagram for sd::slidesorter::view::LayeredDevice:
[legend]

Classes

class  LayerContainer
 

Public Member Functions

 LayeredDevice (const VclPtr< sd::Window > &pTargetWindow)
 
 ~LayeredDevice ()
 
void Invalidate (const ::tools::Rectangle &rInvalidationBox, const sal_Int32 nLayer)
 
void InvalidateAllLayers (const ::tools::Rectangle &rInvalidationBox)
 
void InvalidateAllLayers (const vcl::Region &rInvalidationRegion)
 
void RegisterPainter (const SharedILayerPainter &rPainter, const sal_Int32 nLayer)
 
void RemovePainter (const SharedILayerPainter &rPainter, const sal_Int32 nLayer)
 
bool HandleMapModeChange ()
 
void Repaint (const vcl::Region &rRepaintRegion)
 
void Resize ()
 
void Dispose ()
 

Private Member Functions

void RepaintRectangle (const ::tools::Rectangle &rRepaintRectangle)
 

Private Attributes

VclPtr< sd::WindowmpTargetWindow
 
std::unique_ptr< LayerContainermpLayers
 
ScopedVclPtr< VirtualDevicempBackBuffer
 
MapMode maSavedMapMode
 

Detailed Description

A simple wrapper around an OutputDevice that provides support for independent layers and buffering.

Each layer may contain any number of painters.

Definition at line 41 of file SlsLayeredDevice.hxx.

Constructor & Destructor Documentation

◆ LayeredDevice()

sd::slidesorter::view::LayeredDevice::LayeredDevice ( const VclPtr< sd::Window > &  pTargetWindow)
explicit

Definition at line 162 of file SlsLayeredDevice.cxx.

References Create(), mpBackBuffer, and mpTargetWindow.

◆ ~LayeredDevice()

sd::slidesorter::view::LayeredDevice::~LayeredDevice ( )

Definition at line 171 of file SlsLayeredDevice.cxx.

Member Function Documentation

◆ Dispose()

void sd::slidesorter::view::LayeredDevice::Dispose ( )

Definition at line 303 of file SlsLayeredDevice.cxx.

References mpLayers.

◆ HandleMapModeChange()

bool sd::slidesorter::view::LayeredDevice::HandleMapModeChange ( )

◆ Invalidate()

void sd::slidesorter::view::LayeredDevice::Invalidate ( const ::tools::Rectangle rInvalidationBox,
const sal_Int32  nLayer 
)

Definition at line 175 of file SlsLayeredDevice.cxx.

References o3tl::make_unsigned(), and mpLayers.

◆ InvalidateAllLayers() [1/2]

void sd::slidesorter::view::LayeredDevice::InvalidateAllLayers ( const ::tools::Rectangle rInvalidationBox)

Definition at line 188 of file SlsLayeredDevice.cxx.

References mpLayers.

Referenced by HandleMapModeChange().

◆ InvalidateAllLayers() [2/2]

void sd::slidesorter::view::LayeredDevice::InvalidateAllLayers ( const vcl::Region rInvalidationRegion)

Definition at line 194 of file SlsLayeredDevice.cxx.

References mpLayers.

◆ RegisterPainter()

void sd::slidesorter::view::LayeredDevice::RegisterPainter ( const SharedILayerPainter rPainter,
const sal_Int32  nLayer 
)

Definition at line 200 of file SlsLayeredDevice.cxx.

References o3tl::make_unsigned(), mpLayers, mpTargetWindow, and nIndex.

◆ RemovePainter()

void sd::slidesorter::view::LayeredDevice::RemovePainter ( const SharedILayerPainter rPainter,
const sal_Int32  nLayer 
)

Definition at line 234 of file SlsLayeredDevice.cxx.

References o3tl::make_unsigned(), and mpLayers.

◆ Repaint()

void sd::slidesorter::view::LayeredDevice::Repaint ( const vcl::Region rRepaintRegion)

Definition at line 258 of file SlsLayeredDevice.cxx.

References mpLayers, mpTargetWindow, and RepaintRectangle().

◆ RepaintRectangle()

void sd::slidesorter::view::LayeredDevice::RepaintRectangle ( const ::tools::Rectangle rRepaintRectangle)
private

Definition at line 270 of file SlsLayeredDevice.cxx.

References mpBackBuffer, mpLayers, and mpTargetWindow.

Referenced by Repaint().

◆ Resize()

void sd::slidesorter::view::LayeredDevice::Resize ( )

Definition at line 293 of file SlsLayeredDevice.cxx.

References mpBackBuffer, mpLayers, and mpTargetWindow.

Member Data Documentation

◆ maSavedMapMode

MapMode sd::slidesorter::view::LayeredDevice::maSavedMapMode
private

Definition at line 77 of file SlsLayeredDevice.hxx.

Referenced by HandleMapModeChange().

◆ mpBackBuffer

ScopedVclPtr<VirtualDevice> sd::slidesorter::view::LayeredDevice::mpBackBuffer
private

Definition at line 76 of file SlsLayeredDevice.hxx.

Referenced by HandleMapModeChange(), LayeredDevice(), RepaintRectangle(), and Resize().

◆ mpLayers

std::unique_ptr<LayerContainer> sd::slidesorter::view::LayeredDevice::mpLayers
private

◆ mpTargetWindow

VclPtr<sd::Window> sd::slidesorter::view::LayeredDevice::mpTargetWindow
private

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