LibreOffice Module sd (master) 1
|
A simple wrapper around an OutputDevice that provides support for independent layers and buffering. More...
#include <SlsLayeredDevice.hxx>
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::Window > | mpTargetWindow |
std::unique_ptr< LayerContainer > | mpLayers |
ScopedVclPtr< VirtualDevice > | mpBackBuffer |
MapMode | maSavedMapMode |
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.
|
explicit |
Definition at line 162 of file SlsLayeredDevice.cxx.
References Create(), mpBackBuffer, and mpTargetWindow.
sd::slidesorter::view::LayeredDevice::~LayeredDevice | ( | ) |
Definition at line 171 of file SlsLayeredDevice.cxx.
void sd::slidesorter::view::LayeredDevice::Dispose | ( | ) |
Definition at line 303 of file SlsLayeredDevice.cxx.
References mpLayers.
bool sd::slidesorter::view::LayeredDevice::HandleMapModeChange | ( | ) |
Definition at line 312 of file SlsLayeredDevice.cxx.
References MapMode::GetMapUnit(), MapMode::GetOrigin(), MapMode::GetScaleX(), MapMode::GetScaleY(), InvalidateAllLayers(), maSavedMapMode, mpBackBuffer, mpTargetWindow, Point::X(), and Point::Y().
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.
void sd::slidesorter::view::LayeredDevice::InvalidateAllLayers | ( | const ::tools::Rectangle & | rInvalidationBox | ) |
Definition at line 188 of file SlsLayeredDevice.cxx.
References mpLayers.
Referenced by HandleMapModeChange().
void sd::slidesorter::view::LayeredDevice::InvalidateAllLayers | ( | const vcl::Region & | rInvalidationRegion | ) |
Definition at line 194 of file SlsLayeredDevice.cxx.
References mpLayers.
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.
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.
void sd::slidesorter::view::LayeredDevice::Repaint | ( | const vcl::Region & | rRepaintRegion | ) |
Definition at line 258 of file SlsLayeredDevice.cxx.
References mpLayers, mpTargetWindow, and RepaintRectangle().
|
private |
Definition at line 270 of file SlsLayeredDevice.cxx.
References mpBackBuffer, mpLayers, and mpTargetWindow.
Referenced by Repaint().
void sd::slidesorter::view::LayeredDevice::Resize | ( | ) |
Definition at line 293 of file SlsLayeredDevice.cxx.
References mpBackBuffer, mpLayers, and mpTargetWindow.
|
private |
Definition at line 77 of file SlsLayeredDevice.hxx.
Referenced by HandleMapModeChange().
|
private |
Definition at line 76 of file SlsLayeredDevice.hxx.
Referenced by HandleMapModeChange(), LayeredDevice(), RepaintRectangle(), and Resize().
|
private |
Definition at line 75 of file SlsLayeredDevice.hxx.
Referenced by Dispose(), Invalidate(), InvalidateAllLayers(), RegisterPainter(), RemovePainter(), Repaint(), RepaintRectangle(), and Resize().
|
private |
Definition at line 73 of file SlsLayeredDevice.hxx.
Referenced by HandleMapModeChange(), LayeredDevice(), RegisterPainter(), Repaint(), RepaintRectangle(), and Resize().