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

PolygonStrokePrimitive2D class. More...

#include <PolygonStrokePrimitive2D.hxx>

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

Public Member Functions

 PolygonStrokePrimitive2D (basegfx::B2DPolygon aPolygon, const attribute::LineAttribute &rLineAttribute, attribute::StrokeAttribute aStrokeAttribute)
 constructor More...
 
 PolygonStrokePrimitive2D (basegfx::B2DPolygon aPolygon, const attribute::LineAttribute &rLineAttribute)
 constructor without stroking More...
 
const basegfx::B2DPolygongetB2DPolygon () const
 data read access More...
 
const attribute::LineAttributegetLineAttribute () const
 
const attribute::StrokeAttributegetStrokeAttribute () 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 sal_uInt32 getPrimitive2DID () const override
 provide unique ID 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 ()
 

Protected Member Functions

virtual void create2DDecomposition (Primitive2DContainer &rContainer, const geometry::ViewInformation2D &rViewInformation) const override
 local decomposition. More...
 
- 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
 

Private Attributes

basegfx::B2DPolygon maPolygon
 the line geometry More...
 
attribute::LineAttribute maLineAttribute
 the line attributes like width, join and color More...
 
attribute::StrokeAttribute maStrokeAttribute
 the line stroking (if used) More...
 
basegfx::B2DRange maBufferedRange
 the buffered result of PolygonStrokePrimitive2D::getB2DRange 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 Attributes inherited from salhelper::SimpleReferenceObject
oslInterlockedCount m_nCount
 

Detailed Description

PolygonStrokePrimitive2D class.

This primitive defines a line with line width, line join, line color and stroke attributes. It will be decomposed dependent on the definition to the needed primitives, e.g. filled PolyPolygons for fat lines.

Definition at line 37 of file PolygonStrokePrimitive2D.hxx.

Constructor & Destructor Documentation

◆ PolygonStrokePrimitive2D() [1/2]

drawinglayer::primitive2d::PolygonStrokePrimitive2D::PolygonStrokePrimitive2D ( basegfx::B2DPolygon  aPolygon,
const attribute::LineAttribute rLineAttribute,
attribute::StrokeAttribute  aStrokeAttribute 
)

◆ PolygonStrokePrimitive2D() [2/2]

drawinglayer::primitive2d::PolygonStrokePrimitive2D::PolygonStrokePrimitive2D ( basegfx::B2DPolygon  aPolygon,
const attribute::LineAttribute rLineAttribute 
)

constructor without stroking

Definition at line 413 of file polygonprimitive2d.cxx.

References maPolygon, maPolygon, and basegfx::utils::simplifyCurveSegments().

Member Function Documentation

◆ create2DDecomposition()

void drawinglayer::primitive2d::PolygonStrokePrimitive2D::create2DDecomposition ( Primitive2DContainer rContainer,
const geometry::ViewInformation2D rViewInformation 
) const
overrideprotectedvirtual

◆ getB2DPolygon()

const basegfx::B2DPolygon & drawinglayer::primitive2d::PolygonStrokePrimitive2D::getB2DPolygon ( ) const
inline

◆ getB2DRange()

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

◆ getLineAttribute()

const attribute::LineAttribute & drawinglayer::primitive2d::PolygonStrokePrimitive2D::getLineAttribute ( ) const
inline

◆ getPrimitive2DID()

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

◆ getStrokeAttribute()

const attribute::StrokeAttribute & drawinglayer::primitive2d::PolygonStrokePrimitive2D::getStrokeAttribute ( ) const
inline

◆ operator==()

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

Member Data Documentation

◆ maBufferedRange

basegfx::B2DRange drawinglayer::primitive2d::PolygonStrokePrimitive2D::maBufferedRange
mutableprivate

the buffered result of PolygonStrokePrimitive2D::getB2DRange

Definition at line 50 of file PolygonStrokePrimitive2D.hxx.

Referenced by getB2DRange().

◆ maLineAttribute

attribute::LineAttribute drawinglayer::primitive2d::PolygonStrokePrimitive2D::maLineAttribute
private

the line attributes like width, join and color

Definition at line 44 of file PolygonStrokePrimitive2D.hxx.

◆ maPolygon

basegfx::B2DPolygon drawinglayer::primitive2d::PolygonStrokePrimitive2D::maPolygon
private

the line geometry

Definition at line 41 of file PolygonStrokePrimitive2D.hxx.

Referenced by PolygonStrokePrimitive2D().

◆ maStrokeAttribute

attribute::StrokeAttribute drawinglayer::primitive2d::PolygonStrokePrimitive2D::maStrokeAttribute
private

the line stroking (if used)

Definition at line 47 of file PolygonStrokePrimitive2D.hxx.


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