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

GroupPrimitive2D class. More...

#include <groupprimitive2d.hxx>

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

Public Member Functions

 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

Primitive2DContainer maChildren
 the children. Declared private since this shall never be changed at all after construction 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

GroupPrimitive2D class.

Baseclass for all grouping 2D primitives

The grouping primitive in its basic form is capable of holding a child primitive content and returns it on decomposition on default. It is used for two main purposes, but more may apply:

In most cases the decomposition is straightforward, so by default this primitive will not buffer the result and is not derived from BufferedDecompositionPrimitive2D, but from BasePrimitive2D.

A renderer has to take GroupPrimitive2D derivations into account which are used to hold a state.

Current Basic 2D StatePrimitives are:

Definition at line 63 of file groupprimitive2d.hxx.

Constructor & Destructor Documentation

◆ GroupPrimitive2D()

drawinglayer::primitive2d::GroupPrimitive2D::GroupPrimitive2D ( Primitive2DContainer &&  aChildren)
explicit

constructor

Definition at line 29 of file groupprimitive2d.cxx.

References maChildren.

Member Function Documentation

◆ estimateUsage()

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

Reimplemented from drawinglayer::primitive2d::BasePrimitive2D.

Definition at line 56 of file groupprimitive2d.cxx.

References getChildren().

◆ get2DDecomposition()

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

◆ getChildren() [1/2]

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

data read access

Definition at line 74 of file groupprimitive2d.hxx.

References maChildren.

Referenced by drawinglayer::primitive2d::GlowPrimitive2D::create2DDecomposition(), drawinglayer::primitive2d::SoftEdgePrimitive2D::create2DDecomposition(), drawinglayer::Primitive2dXmlDump::decomposeAndWrite(), estimateUsage(), drawinglayer::primitive2d::CropPrimitive2D::get2DDecomposition(), drawinglayer::primitive2d::AnimatedSwitchPrimitive2D::get2DDecomposition(), drawinglayer::primitive2d::AnimatedBlinkPrimitive2D::get2DDecomposition(), drawinglayer::primitive2d::AnimatedInterpolatePrimitive2D::get2DDecomposition(), get2DDecomposition(), drawinglayer::primitive2d::ShadowPrimitive2D::get2DDecomposition(), drawinglayer::primitive2d::SoftEdgePrimitive2D::get2DDecomposition(), drawinglayer::primitive2d::UnifiedTransparencePrimitive2D::get2DDecomposition(), drawinglayer::primitive2d::GlowPrimitive2D::getB2DRange(), drawinglayer::primitive2d::HiddenGeometryPrimitive2D::getB2DRange(), drawinglayer::primitive2d::ShadowPrimitive2D::getB2DRange(), drawinglayer::primitive2d::SoftEdgePrimitive2D::getB2DRange(), drawinglayer::primitive2d::TransformPrimitive2D::getB2DRange(), drawinglayer::primitive2d::UnifiedTransparencePrimitive2D::getB2DRange(), drawinglayer::primitive2d::ShadowPrimitive2D::getFullyEmbeddedShadowPrimitives(), operator==(), drawinglayer::primitive2d::ShadowPrimitive2D::prepareValuesAndcheckValidity(), drawinglayer::primitive2d::GlowPrimitive2D::prepareValuesAndcheckValidity(), drawinglayer::primitive2d::SoftEdgePrimitive2D::prepareValuesAndcheckValidity(), drawinglayer::processor2d::ContourExtractor2D::processBasePrimitive2D(), drawinglayer::processor2d::HitTestProcessor2D::processBasePrimitive2D(), drawinglayer::processor2d::LineGeometryExtractor2D::processBasePrimitive2D(), drawinglayer::processor2d::ObjectInfoPrimitiveExtractor2D::processBasePrimitive2D(), drawinglayer::processor2d::TextAsPolygonExtractor2D::processBasePrimitive2D(), drawinglayer::processor2d::D2DPixelProcessor2D::processInvertPrimitive2D(), drawinglayer::processor2d::VclMetafileProcessor2D::processMaskPrimitive2D(), drawinglayer::processor2d::CairoPixelProcessor2D::processMaskPrimitive2DPixel(), drawinglayer::processor2d::D2DPixelProcessor2D::processMaskPrimitive2DPixel(), drawinglayer::processor2d::CairoPixelProcessor2D::processModifiedColorPrimitive2D(), drawinglayer::processor2d::D2DPixelProcessor2D::processModifiedColorPrimitive2D(), drawinglayer::processor2d::VclMetafileProcessor2D::processObjectInfoPrimitive2D(), drawinglayer::processor2d::VclMetafileProcessor2D::processStructureTagPrimitive2D(), drawinglayer::processor2d::CairoPixelProcessor2D::processTransformPrimitive2D(), drawinglayer::processor2d::D2DPixelProcessor2D::processTransformPrimitive2D(), drawinglayer::processor2d::CairoPixelProcessor2D::processTransparencePrimitive2D(), drawinglayer::processor2d::D2DPixelProcessor2D::processTransparencePrimitive2D(), drawinglayer::processor2d::VclMetafileProcessor2D::processTransparencePrimitive2D(), drawinglayer::processor2d::D2DPixelProcessor2D::processUnifiedTransparencePrimitive2D(), drawinglayer::processor2d::VclMetafileProcessor2D::processUnifiedTransparencePrimitive2D(), drawinglayer::processor2d::VclPixelProcessor2D::processUnifiedTransparencePrimitive2D(), drawinglayer::processor2d::VclProcessor2D::RenderMaskPrimitive2DPixel(), drawinglayer::processor2d::VclProcessor2D::RenderModifiedColorPrimitive2D(), drawinglayer::processor2d::VclProcessor2D::RenderTransformPrimitive2D(), drawinglayer::processor2d::VclProcessor2D::RenderTransparencePrimitive2D(), and drawinglayer::processor2d::VclProcessor2D::RenderUnifiedTransparencePrimitive2D().

◆ getChildren() [2/2]

void drawinglayer::primitive2d::GroupPrimitive2D::getChildren ( Primitive2DDecompositionVisitor rVisitor) const
inline

◆ getPrimitive2DID()

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

◆ operator==()

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

Member Data Documentation

◆ maChildren

Primitive2DContainer drawinglayer::primitive2d::GroupPrimitive2D::maChildren
private

the children. Declared private since this shall never be changed at all after construction

Definition at line 67 of file groupprimitive2d.hxx.


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