LibreOffice Module drawinglayer (master) 1
|
GroupPrimitive2D class. More...
#include <groupprimitive2d.hxx>
Public Member Functions | |
GroupPrimitive2D (Primitive2DContainer &&aChildren) | |
constructor More... | |
const Primitive2DContainer & | getChildren () 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 |
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.
|
explicit |
|
overridevirtual |
Reimplemented from drawinglayer::primitive2d::BasePrimitive2D.
Definition at line 56 of file groupprimitive2d.cxx.
References getChildren().
|
overridevirtual |
local decomposition. Implementation will just return children
default: just return children, so all renderers not supporting group will use its content
Reimplemented from drawinglayer::primitive2d::BasePrimitive2D.
Reimplemented in drawinglayer::primitive2d::CropPrimitive2D, drawinglayer::primitive2d::AnimatedSwitchPrimitive2D, drawinglayer::primitive2d::AnimatedBlinkPrimitive2D, drawinglayer::primitive2d::AnimatedInterpolatePrimitive2D, drawinglayer::primitive2d::BufferedDecompositionGroupPrimitive2D, drawinglayer::primitive2d::GlowPrimitive2D, drawinglayer::primitive2d::HiddenGeometryPrimitive2D, drawinglayer::primitive2d::ShadowPrimitive2D, drawinglayer::primitive2d::SoftEdgePrimitive2D, and drawinglayer::primitive2d::UnifiedTransparencePrimitive2D.
Definition at line 51 of file groupprimitive2d.cxx.
References getChildren().
Referenced by drawinglayer::processor2d::VclMetafileProcessor2D::processTextHierarchyFieldPrimitive2D().
|
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().
|
inline |
Definition at line 76 of file groupprimitive2d.hxx.
References maChildren, and drawinglayer::primitive2d::Primitive2DDecompositionVisitor::visit().
|
overridevirtual |
provide unique ID
Implements drawinglayer::primitive2d::BasePrimitive2D.
Reimplemented in drawinglayer::primitive2d::CropPrimitive2D, drawinglayer::primitive2d::AnimatedSwitchPrimitive2D, drawinglayer::primitive2d::AnimatedBlinkPrimitive2D, drawinglayer::primitive2d::AnimatedInterpolatePrimitive2D, drawinglayer::primitive2d::GlowPrimitive2D, drawinglayer::primitive2d::HiddenGeometryPrimitive2D, drawinglayer::primitive2d::InvertPrimitive2D, drawinglayer::primitive2d::MaskPrimitive2D, drawinglayer::primitive2d::ModifiedColorPrimitive2D, drawinglayer::primitive2d::ObjectInfoPrimitive2D, drawinglayer::primitive2d::PageHierarchyPrimitive2D, drawinglayer::primitive2d::ShadowPrimitive2D, drawinglayer::primitive2d::SoftEdgePrimitive2D, drawinglayer::primitive2d::StructureTagPrimitive2D, drawinglayer::primitive2d::TextHierarchyLinePrimitive2D, drawinglayer::primitive2d::TextHierarchyBulletPrimitive2D, drawinglayer::primitive2d::TextHierarchyParagraphPrimitive2D, drawinglayer::primitive2d::TextHierarchyBlockPrimitive2D, drawinglayer::primitive2d::TextHierarchyFieldPrimitive2D, drawinglayer::primitive2d::TransformPrimitive2D, drawinglayer::primitive2d::TransparencePrimitive2D, and drawinglayer::primitive2d::UnifiedTransparencePrimitive2D.
Definition at line 68 of file groupprimitive2d.cxx.
References PRIMITIVE2D_ID_GROUPPRIMITIVE2D.
|
overridevirtual |
compare operator
The compare opertator uses the Sequence::==operator, so only checking if the references are equal.
All non-equal references are interpreted as non-equal.
Reimplemented from drawinglayer::primitive2d::BasePrimitive2D.
Reimplemented in drawinglayer::primitive2d::CropPrimitive2D, drawinglayer::primitive2d::AnimatedSwitchPrimitive2D, drawinglayer::primitive2d::GlowPrimitive2D, drawinglayer::primitive2d::MaskPrimitive2D, drawinglayer::primitive2d::ModifiedColorPrimitive2D, drawinglayer::primitive2d::ObjectInfoPrimitive2D, drawinglayer::primitive2d::ShadowPrimitive2D, drawinglayer::primitive2d::SoftEdgePrimitive2D, drawinglayer::primitive2d::StructureTagPrimitive2D, drawinglayer::primitive2d::TextHierarchyParagraphPrimitive2D, drawinglayer::primitive2d::TextHierarchyFieldPrimitive2D, drawinglayer::primitive2d::TransformPrimitive2D, drawinglayer::primitive2d::TransparencePrimitive2D, and drawinglayer::primitive2d::UnifiedTransparencePrimitive2D.
Definition at line 38 of file groupprimitive2d.cxx.
References getChildren().
|
private |
the children. Declared private since this shall never be changed at all after construction
Definition at line 67 of file groupprimitive2d.hxx.