LibreOffice Module drawinglayer (master) 1
Public Member Functions | Private Attributes | List of all members
drawinglayer::primitive2d::MaskPrimitive2D Class Referencefinal

MaskPrimitive2D class. More...

#include <maskprimitive2d.hxx>

Inheritance diagram for drawinglayer::primitive2d::MaskPrimitive2D:
[legend]
Collaboration diagram for drawinglayer::primitive2d::MaskPrimitive2D:
[legend]

Public Member Functions

 MaskPrimitive2D (basegfx::B2DPolyPolygon aMask, Primitive2DContainer &&aChildren)
 constructor More...
 
const basegfx::B2DPolyPolygongetMask () const
 data read access More...
 
virtual bool operator== (const BasePrimitive2D &rPrimitive) const override
 compare operator More...
 
virtual basegfx::B2DRange getB2DRange (const geometry::ViewInformation2D &rViewInformation) const override
 get range More...
 
virtual sal_uInt32 getPrimitive2DID () const override
 provide unique ID More...
 
- Public Member Functions inherited from drawinglayer::primitive2d::GroupPrimitive2D
 GroupPrimitive2D (Primitive2DContainer &&aChildren)
 constructor More...
 
const Primitive2DContainergetChildren () const
 data read access More...
 
void getChildren (Primitive2DDecompositionVisitor &rVisitor) const
 
virtual bool operator== (const BasePrimitive2D &rPrimitive) const override
 compare operator More...
 
virtual void get2DDecomposition (Primitive2DDecompositionVisitor &rVisitor, const geometry::ViewInformation2D &rViewInformation) const override
 local decomposition. Implementation will just return children More...
 
virtual sal_uInt32 getPrimitive2DID () const override
 provide unique ID More...
 
virtual sal_Int64 estimateUsage () override
 
- Public Member Functions inherited from drawinglayer::primitive2d::BasePrimitive2D
 BasePrimitive2D ()
 
virtual ~BasePrimitive2D () override
 
virtual bool operator== (const BasePrimitive2D &rPrimitive) const
 the ==operator is mainly needed to allow testing newly-created primitives against their last incarnation which buffers/holds the made decompositions. More...
 
bool operator!= (const BasePrimitive2D &rPrimitive) const
 
virtual basegfx::B2DRange getB2DRange (const geometry::ViewInformation2D &rViewInformation) const
 The default implementation will use getDecomposition results to create the range. More...
 
virtual sal_uInt32 getPrimitive2DID () const =0
 provide unique ID for fast identifying of known primitive implementations in renderers. More...
 
virtual void get2DDecomposition (Primitive2DDecompositionVisitor &rVisitor, const geometry::ViewInformation2D &rViewInformation) const
 The default implementation will return an empty sequence. More...
 
Primitive2DContainer getDecomposition (const css::uno::Sequence< css::beans::PropertyValue > &rViewParameters)
 The getDecomposition implementation for UNO API will use getDecomposition from this implementation. More...
 
css::geometry::RealRectangle2D getRange (const css::uno::Sequence< css::beans::PropertyValue > &rViewParameters)
 The getRange implementation for UNO API will use getRange from this implementation. More...
 
virtual sal_Int64 estimateUsage ()
 
- Public Member Functions inherited from salhelper::SimpleReferenceObject
 SimpleReferenceObject ()
 
void acquire ()
 
void release ()
 

Private Attributes

basegfx::B2DPolyPolygon maMask
 the mask PolyPolygon More...
 

Additional Inherited Members

- Static Public Member Functions inherited from salhelper::SimpleReferenceObject
static void * operator new (std::size_t nSize)
 
static void * operator new (std::size_t nSize, std::nothrow_t const &rNothrow)
 
static void operator delete (void *pPtr)
 
static void operator delete (void *pPtr, std::nothrow_t const &rNothrow)
 
- Protected Member Functions inherited from salhelper::SimpleReferenceObject
virtual ~SimpleReferenceObject () COVERITY_NOEXCEPT_FALSE
 
- Protected Attributes inherited from salhelper::SimpleReferenceObject
oslInterlockedCount m_nCount
 

Detailed Description

MaskPrimitive2D class.

This is the central masking primitive. It's a grouping primitive and contains a tools::PolyPolygon which defines the visible area. Only visualisation parts of the Child primitive sequence inside of the mask tools::PolyPolygon is defined to be visible.

This primitive should be handled by a renderer. If it is not handled, it decomposes to its Child content, and thus the visualisation would contain no clips.

The geometry range of this primitive is completely defined by the Mask tools::PolyPolygon since by definition nothing outside of the mask is visible.

Definition at line 44 of file maskprimitive2d.hxx.

Constructor & Destructor Documentation

◆ MaskPrimitive2D()

drawinglayer::primitive2d::MaskPrimitive2D::MaskPrimitive2D ( basegfx::B2DPolyPolygon  aMask,
Primitive2DContainer &&  aChildren 
)

constructor

Definition at line 30 of file maskprimitive2d.cxx.

Member Function Documentation

◆ getB2DRange()

basegfx::B2DRange drawinglayer::primitive2d::MaskPrimitive2D::getB2DRange ( const geometry::ViewInformation2D rViewInformation) const
overridevirtual

get range

Reimplemented from drawinglayer::primitive2d::BasePrimitive2D.

Definition at line 50 of file maskprimitive2d.cxx.

References basegfx::B2DPolyPolygon::getB2DRange(), and getMask().

◆ getMask()

const basegfx::B2DPolyPolygon & drawinglayer::primitive2d::MaskPrimitive2D::getMask ( ) const
inline

◆ getPrimitive2DID()

sal_uInt32 drawinglayer::primitive2d::MaskPrimitive2D::getPrimitive2DID ( ) const
overridevirtual

provide unique ID

Reimplemented from drawinglayer::primitive2d::GroupPrimitive2D.

Definition at line 56 of file maskprimitive2d.cxx.

References PRIMITIVE2D_ID_MASKPRIMITIVE2D.

◆ operator==()

bool drawinglayer::primitive2d::MaskPrimitive2D::operator== ( const BasePrimitive2D rPrimitive) const
overridevirtual

compare operator

Reimplemented from drawinglayer::primitive2d::GroupPrimitive2D.

Definition at line 38 of file maskprimitive2d.cxx.

References getMask().

Member Data Documentation

◆ maMask

basegfx::B2DPolyPolygon drawinglayer::primitive2d::MaskPrimitive2D::maMask
private

the mask PolyPolygon

Definition at line 48 of file maskprimitive2d.hxx.


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