27#include <osl/diagnose.h>
40 mbBackgroundLayer(true),
50 mbBackgroundLayer(false),
57 OSL_ASSERT( rNewView );
59 ViewEntryVector::iterator aIter;
63 [&rNewView](
const ViewEntry& rViewEntry )
64 { return rViewEntry.getView() == rNewView; } ) ) != aEnd )
67 return aIter->mpViewLayer;
76 pNewLayer = rNewView->createViewLayer(
maBounds);
89 ViewEntryVector::iterator aIter;
94 { return rViewEntry.getView() == rView; } ) ) == aEnd )
103 { return rViewEntry.getView() == rView; } ) == 1,
104 "Layer::removeView(): view added multiple times" );
114 rShape->clearAllViewLayers();
117 rShape->addViewLayer( rViewEntry.getViewLayer(),
false );
125 rViewEntry.getViewLayer()->setPriority( rPrioRange );
164 { return rViewEntry.getViewLayer()->resize( this->maBounds ); }
186 rViewEntry.getViewLayer()->clearAll();
216 aClip = ::basegfx::utils::stripNeutralPolygons(aClip);
217 aClip = ::basegfx::utils::stripDispensablePolygons(aClip);
229 pViewLayer->setClip( aClip );
239 return std::make_shared<LayerEndUpdate>(shared_from_this());
250 rViewEntry.getViewLayer()->setClip( aEmptyClip );
::basegfx::B2DRectangle maBounds
B2DPolyPolygon solveCrossovers() const
void appendElement(const B2DRange &rRange, B2VectorOrientation eOrient)
bool overlaps(const B2DRange &rRange) const
void expand(const Tuple2D< TYPE > &rTuple)
LayerEndUpdate(const LayerEndUpdate &)=delete
LayerEndUpdate(LayerSharedPtr xLayer)
LayerEndUpdate & operator=(const LayerEndUpdate &)=delete
This class represents one layer of output on a Slide.
void updateBounds(ShapeSharedPtr const &rShape)
Update layer bound rect from shape bounds.
basegfx::B2DPolyRange maUpdateAreas
Layer()
Create non-background layer.
ViewLayerSharedPtr addView(const ViewSharedPtr &rNewView)
Add a view to this layer.
ViewLayerSharedPtr removeView(const ViewSharedPtr &rView)
Remove a view.
void endUpdate()
Finish layer update.
bool isInsideUpdateArea(ShapeSharedPtr const &rShape) const
Check whether given shape is inside current update area.
static LayerSharedPtr createBackgroundLayer()
Create background layer.
bool commitBounds()
Commit collected layer bounds to ViewLayer.
basegfx::B2DRange maNewBounds
void clearUpdateRanges()
Clear all registered update ranges.
void addUpdateRange(::basegfx::B2DRange const &rUpdateRange)
Add an area that needs update.
std::shared_ptr< LayerEndUpdate > EndUpdater
basegfx::B2DRange maBounds
void setShapeViews(ShapeSharedPtr const &rShape) const
Init shape with this layer's views.
void clearContent()
Clear whole layer content.
void setPriority(const ::basegfx::B1DRange &rPrioRange)
Change layer priority range.
ViewEntryVector maViewEntries
static LayerSharedPtr createLayer()
Create non-background layer.
EndUpdater beginUpdate()
Init layer update.
std::shared_ptr< View > ViewSharedPtr
std::shared_ptr< ViewLayer > ViewLayerSharedPtr
::std::shared_ptr< Layer > LayerSharedPtr
::std::shared_ptr< Shape > ShapeSharedPtr