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

PatternFillPrimitive2D class. More...

#include <patternfillprimitive2d.hxx>

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

Public Member Functions

 PatternFillPrimitive2D (basegfx::B2DPolyPolygon aMask, Primitive2DContainer &&rChildren, const basegfx::B2DRange &rReferenceRange)
 constructor More...
 
const basegfx::B2DPolyPolygongetMask () const
 data read access More...
 
const Primitive2DContainergetChildren () const
 
const basegfx::B2DRangegetReferenceRange () const
 
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 void get2DDecomposition (Primitive2DDecompositionVisitor &rVisitor, const geometry::ViewInformation2D &rViewInformation) const override
 overload to react on evtl. buffered content More...
 
virtual sal_uInt32 getPrimitive2DID () const override
 provide unique ID More...
 
virtual sal_Int64 estimateUsage () override
 
BitmapEx createTileImage (sal_uInt32 nWidth, sal_uInt32 nHeight) const
 helper which creates the content - checks if clipping is needed and eventually creates buffered content to speed up rendering More...
 
void getTileSize (sal_uInt32 &rWidth, sal_uInt32 &rHeight, const geometry::ViewInformation2D &rViewInformation) const
 helper that is capable to calculate the needed discrete buffer size for eventually buffered content More...
 
- Public Member Functions inherited from drawinglayer::primitive2d::BufferedDecompositionPrimitive2D
 BufferedDecompositionPrimitive2D ()
 
virtual void get2DDecomposition (Primitive2DDecompositionVisitor &rVisitor, const geometry::ViewInformation2D &rViewInformation) const override
 The getDecomposition default implementation will on demand use create2DDecomposition() if maBuffered2DDecomposition is empty. More...
 
void setTransparenceForShadow (sal_uInt16 nTransparenceForShadow)
 
sal_uInt16 getTransparenceForShadow () const
 
- 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 Member Functions

void calculateNeededDiscreteBufferSize (sal_uInt32 &rWidth, sal_uInt32 &rHeight, const geometry::ViewInformation2D &rViewInformation) const
 helper that is capable to calculate the needed discrete buffer size for eventually buffered content More...
 
Primitive2DContainer createContent (const geometry::ViewInformation2D &rViewInformation) const
 helper which creates the content - checks if clipping is needed and eventually creates buffered content to speed up rendering More...
 
virtual void create2DDecomposition (Primitive2DContainer &rContainer, const geometry::ViewInformation2D &rViewInformation) const override
 create local decomposition More...
 

Private Attributes

const basegfx::B2DPolyPolygon maMask
 
const Primitive2DContainer maChildren
 
const basegfx::B2DRange maReferenceRange
 
sal_uInt32 mnDiscreteWidth
 values holding the discrete buffer size More...
 
sal_uInt32 mnDiscreteHeight
 

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 drawinglayer::primitive2d::BufferedDecompositionPrimitive2D
const Primitive2DContainergetBuffered2DDecomposition () const
 access methods to maBuffered2DDecomposition. More...
 
void setBuffered2DDecomposition (Primitive2DContainer &&rNew)
 
virtual void create2DDecomposition (Primitive2DContainer &rContainer, const geometry::ViewInformation2D &rViewInformation) const =0
 method which is to be used to implement the local decomposition of a 2D primitive. More...
 
- Protected Member Functions inherited from salhelper::SimpleReferenceObject
virtual ~SimpleReferenceObject () COVERITY_NOEXCEPT_FALSE
 
- Protected Attributes inherited from salhelper::SimpleReferenceObject
oslInterlockedCount m_nCount
 

Detailed Description

PatternFillPrimitive2D class.

This primitive allows filling a given tools::PolyPolygon with a pattern defined by a sequence of primitives which are mapped to the unit range. The pattern is defined using a reference range which defines a rectangular area relative to the tools::PolyPolygon (in unit coordinates) which is virtually infinitely repeated.

Definition at line 38 of file patternfillprimitive2d.hxx.

Constructor & Destructor Documentation

◆ PatternFillPrimitive2D()

drawinglayer::primitive2d::PatternFillPrimitive2D::PatternFillPrimitive2D ( basegfx::B2DPolyPolygon  aMask,
Primitive2DContainer &&  rChildren,
const basegfx::B2DRange rReferenceRange 
)

constructor

Definition at line 264 of file patternfillprimitive2d.cxx.

References maChildren.

Member Function Documentation

◆ calculateNeededDiscreteBufferSize()

void drawinglayer::primitive2d::PatternFillPrimitive2D::calculateNeededDiscreteBufferSize ( sal_uInt32 &  rWidth,
sal_uInt32 &  rHeight,
const geometry::ViewInformation2D rViewInformation 
) const
private

◆ create2DDecomposition()

void drawinglayer::primitive2d::PatternFillPrimitive2D::create2DDecomposition ( Primitive2DContainer rContainer,
const geometry::ViewInformation2D rViewInformation 
) const
overrideprivatevirtual

◆ createContent()

Primitive2DContainer drawinglayer::primitive2d::PatternFillPrimitive2D::createContent ( const geometry::ViewInformation2D rViewInformation) const
private

◆ createTileImage()

BitmapEx drawinglayer::primitive2d::PatternFillPrimitive2D::createTileImage ( sal_uInt32  nWidth,
sal_uInt32  nHeight 
) const

helper which creates the content - checks if clipping is needed and eventually creates buffered content to speed up rendering

Definition at line 187 of file patternfillprimitive2d.cxx.

References drawinglayer::convertToBitmapEx(), createContent(), and basegfx::utils::createScaleB2DHomMatrix().

Referenced by drawinglayer::processor2d::VclPixelProcessor2D::processPatternFillPrimitive2D().

◆ estimateUsage()

sal_Int64 drawinglayer::primitive2d::PatternFillPrimitive2D::estimateUsage ( )
overridevirtual

Reimplemented from drawinglayer::primitive2d::BasePrimitive2D.

Definition at line 354 of file patternfillprimitive2d.cxx.

References getChildren().

◆ get2DDecomposition()

void drawinglayer::primitive2d::PatternFillPrimitive2D::get2DDecomposition ( Primitive2DDecompositionVisitor rVisitor,
const geometry::ViewInformation2D rViewInformation 
) const
overridevirtual

◆ getB2DRange()

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

get range

Reimplemented from drawinglayer::primitive2d::BasePrimitive2D.

Definition at line 290 of file patternfillprimitive2d.cxx.

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

Referenced by create2DDecomposition(), and getTileSize().

◆ getChildren()

const Primitive2DContainer & drawinglayer::primitive2d::PatternFillPrimitive2D::getChildren ( ) const
inline

Definition at line 72 of file patternfillprimitive2d.hxx.

References maChildren.

Referenced by create2DDecomposition(), createContent(), estimateUsage(), and operator==().

◆ getMask()

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

◆ getPrimitive2DID()

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

provide unique ID

Implements drawinglayer::primitive2d::BasePrimitive2D.

Definition at line 364 of file patternfillprimitive2d.cxx.

References PRIMITIVE2D_ID_PATTERNFILLPRIMITIVE2D.

◆ getReferenceRange()

const basegfx::B2DRange & drawinglayer::primitive2d::PatternFillPrimitive2D::getReferenceRange ( ) const
inline

◆ getTileSize()

void drawinglayer::primitive2d::PatternFillPrimitive2D::getTileSize ( sal_uInt32 &  rWidth,
sal_uInt32 &  rHeight,
const geometry::ViewInformation2D rViewInformation 
) const

◆ operator==()

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

compare operator

Reimplemented from drawinglayer::primitive2d::BasePrimitive2D.

Definition at line 276 of file patternfillprimitive2d.cxx.

References getChildren(), getMask(), and getReferenceRange().

Member Data Documentation

◆ maChildren

const Primitive2DContainer drawinglayer::primitive2d::PatternFillPrimitive2D::maChildren
private

Definition at line 42 of file patternfillprimitive2d.hxx.

◆ maMask

const basegfx::B2DPolyPolygon drawinglayer::primitive2d::PatternFillPrimitive2D::maMask
private

Definition at line 41 of file patternfillprimitive2d.hxx.

◆ maReferenceRange

const basegfx::B2DRange drawinglayer::primitive2d::PatternFillPrimitive2D::maReferenceRange
private

Definition at line 43 of file patternfillprimitive2d.hxx.

◆ mnDiscreteHeight

sal_uInt32 drawinglayer::primitive2d::PatternFillPrimitive2D::mnDiscreteHeight
private

Definition at line 47 of file patternfillprimitive2d.hxx.

Referenced by createContent(), and get2DDecomposition().

◆ mnDiscreteWidth

sal_uInt32 drawinglayer::primitive2d::PatternFillPrimitive2D::mnDiscreteWidth
private

values holding the discrete buffer size

Definition at line 46 of file patternfillprimitive2d.hxx.

Referenced by createContent(), and get2DDecomposition().


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