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

TransformPrimitive2D class. More...

#include <transformprimitive2d.hxx>

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

Public Member Functions

 TransformPrimitive2D (basegfx::B2DHomMatrix aTransformation, Primitive2DContainer &&rChildren)
 constructor More...
 
const basegfx::B2DHomMatrixgetTransformation () 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::B2DHomMatrix maTransformation
 

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

TransformPrimitive2D class.

This is one of the basic grouping primitives and it provides embedding a sequence of primitives (a geometry) into a transformation. All renderers have to handle this, usually by building a current transformation stack (linear combination) and applying this to all to-be-rendered geometry. If not handling this, the output will be mostly wrong since this primitive is widely used.

It does transform by embedding an existing geometry into a transformation as Child-content. This allows re-usage of the refcounted Uno-Api primitives and their existing, buffered decompositions.

It could e.g. be used to show a single object geometry in 1000 different, transformed states without the need to create those thousand primitive contents.

Definition at line 49 of file transformprimitive2d.hxx.

Constructor & Destructor Documentation

◆ TransformPrimitive2D()

drawinglayer::primitive2d::TransformPrimitive2D::TransformPrimitive2D ( basegfx::B2DHomMatrix  aTransformation,
Primitive2DContainer &&  rChildren 
)

constructor

Definition at line 30 of file transformprimitive2d.cxx.

References maTransformation.

Member Function Documentation

◆ getB2DRange()

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

◆ getPrimitive2DID()

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

provide unique ID

Reimplemented from drawinglayer::primitive2d::GroupPrimitive2D.

Definition at line 58 of file transformprimitive2d.cxx.

References PRIMITIVE2D_ID_TRANSFORMPRIMITIVE2D.

◆ getTransformation()

const basegfx::B2DHomMatrix & drawinglayer::primitive2d::TransformPrimitive2D::getTransformation ( ) const
inline

◆ operator==()

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

compare operator

Reimplemented from drawinglayer::primitive2d::GroupPrimitive2D.

Definition at line 38 of file transformprimitive2d.cxx.

References getTransformation().

Member Data Documentation

◆ maTransformation

basegfx::B2DHomMatrix drawinglayer::primitive2d::TransformPrimitive2D::maTransformation
private

Definition at line 53 of file transformprimitive2d.hxx.


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