LibreOffice Module drawinglayer (master) 1
|
PolygonStrokePrimitive2D class. More...
#include <PolygonStrokePrimitive2D.hxx>
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::B2DPolygon & | getB2DPolygon () const |
data read access More... | |
const attribute::LineAttribute & | getLineAttribute () const |
const attribute::StrokeAttribute & | getStrokeAttribute () 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 Primitive2DContainer & | getBuffered2DDecomposition () 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 |
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.
drawinglayer::primitive2d::PolygonStrokePrimitive2D::PolygonStrokePrimitive2D | ( | basegfx::B2DPolygon | aPolygon, |
const attribute::LineAttribute & | rLineAttribute, | ||
attribute::StrokeAttribute | aStrokeAttribute | ||
) |
constructor
Definition at line 399 of file polygonprimitive2d.cxx.
References maPolygon, maPolygon, and basegfx::utils::simplifyCurveSegments().
Referenced by drawinglayer::primitive2d::PolygonStrokeArrowPrimitive2D::create2DDecomposition(), and drawinglayer::primitive2d::PolygonWavePrimitive2D::create2DDecomposition().
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().
|
overrideprotectedvirtual |
local decomposition.
Implements drawinglayer::primitive2d::BufferedDecompositionPrimitive2D.
Reimplemented in drawinglayer::primitive2d::PolygonStrokeArrowPrimitive2D, and drawinglayer::primitive2d::PolygonWavePrimitive2D.
Definition at line 337 of file polygonprimitive2d.cxx.
References a, basegfx::B2DPolyPolygon::append(), basegfx::utils::applyLineDashing(), basegfx::B2DPolyPolygon::count(), count, basegfx::utils::createAreaGeometry(), basegfx::deg2rad(), getB2DPolygon(), basegfx::B2DPolyPolygon::getB2DPolygon(), getLineAttribute(), getStrokeAttribute(), nCount, and basegfx::utils::simplifyCurveSegments().
|
inline |
data read access
Definition at line 69 of file PolygonStrokePrimitive2D.hxx.
References maPolygon.
Referenced by drawinglayer::primitive2d::PolygonStrokeArrowPrimitive2D::create2DDecomposition(), create2DDecomposition(), drawinglayer::primitive2d::PolygonWavePrimitive2D::create2DDecomposition(), drawinglayer::Primitive2dXmlDump::decomposeAndWrite(), getB2DRange(), operator==(), drawinglayer::processor2d::HitTestProcessor2D::processBasePrimitive2D(), drawinglayer::processor2d::VclMetafileProcessor2D::processPolygonStrokeArrowPrimitive2D(), drawinglayer::processor2d::CairoPixelProcessor2D::processPolygonStrokePrimitive2D(), drawinglayer::processor2d::D2DPixelProcessor2D::processPolygonStrokePrimitive2D(), drawinglayer::processor2d::VclMetafileProcessor2D::processPolygonStrokePrimitive2D(), drawinglayer::processor2d::VclProcessor2D::RenderPolygonStrokePrimitive2D(), and drawinglayer::processor2d::VclPixelProcessor2D::tryDrawPolygonStrokePrimitive2DDirect().
|
overridevirtual |
get range
Reimplemented from drawinglayer::primitive2d::BasePrimitive2D.
Reimplemented in drawinglayer::primitive2d::PolygonStrokeArrowPrimitive2D, and drawinglayer::primitive2d::PolygonWavePrimitive2D.
Definition at line 441 of file polygonprimitive2d.cxx.
References getB2DPolygon(), basegfx::B2DPolygon::getB2DRange(), drawinglayer::primitive2d::BasePrimitive2D::getB2DRange(), drawinglayer::geometry::ViewInformation2D::getInverseObjectToViewTransformation(), basegfx::B2DVector::getLength(), getLineAttribute(), getStrokeAttribute(), basegfx::Range2D< typename TYPE, typename TRAITS >::grow(), basegfx::Range2D< typename TYPE, typename TRAITS >::isEmpty(), maBufferedRange, basegfx::Miter, and basegfx::fTools::more().
Referenced by drawinglayer::primitive2d::PolygonStrokeArrowPrimitive2D::getB2DRange(), and drawinglayer::primitive2d::PolygonWavePrimitive2D::getB2DRange().
|
inline |
Definition at line 70 of file PolygonStrokePrimitive2D.hxx.
Referenced by drawinglayer::primitive2d::PolygonStrokeArrowPrimitive2D::create2DDecomposition(), create2DDecomposition(), drawinglayer::primitive2d::PolygonWavePrimitive2D::create2DDecomposition(), drawinglayer::Primitive2dXmlDump::decomposeAndWrite(), getB2DRange(), drawinglayer::primitive2d::PolygonWavePrimitive2D::getB2DRange(), operator==(), drawinglayer::processor2d::HitTestProcessor2D::processBasePrimitive2D(), drawinglayer::processor2d::VclMetafileProcessor2D::processPolygonStrokeArrowPrimitive2D(), drawinglayer::processor2d::CairoPixelProcessor2D::processPolygonStrokePrimitive2D(), drawinglayer::processor2d::D2DPixelProcessor2D::processPolygonStrokePrimitive2D(), drawinglayer::processor2d::VclMetafileProcessor2D::processPolygonStrokePrimitive2D(), drawinglayer::processor2d::VclProcessor2D::RenderPolygonStrokePrimitive2D(), and drawinglayer::processor2d::VclPixelProcessor2D::tryDrawPolygonStrokePrimitive2DDirect().
|
overridevirtual |
provide unique ID
Implements drawinglayer::primitive2d::BasePrimitive2D.
Reimplemented in drawinglayer::primitive2d::PolygonStrokeArrowPrimitive2D, and drawinglayer::primitive2d::PolygonWavePrimitive2D.
Definition at line 593 of file polygonprimitive2d.cxx.
References PRIMITIVE2D_ID_POLYGONSTROKEPRIMITIVE2D.
|
inline |
Definition at line 71 of file PolygonStrokePrimitive2D.hxx.
Referenced by drawinglayer::primitive2d::PolygonStrokeArrowPrimitive2D::create2DDecomposition(), create2DDecomposition(), drawinglayer::primitive2d::PolygonWavePrimitive2D::create2DDecomposition(), drawinglayer::Primitive2dXmlDump::decomposeAndWrite(), getB2DRange(), operator==(), drawinglayer::processor2d::VclMetafileProcessor2D::processPolygonStrokeArrowPrimitive2D(), drawinglayer::processor2d::CairoPixelProcessor2D::processPolygonStrokePrimitive2D(), drawinglayer::processor2d::D2DPixelProcessor2D::processPolygonStrokePrimitive2D(), drawinglayer::processor2d::VclMetafileProcessor2D::processPolygonStrokePrimitive2D(), drawinglayer::processor2d::VclProcessor2D::RenderPolygonStrokePrimitive2D(), and drawinglayer::processor2d::VclPixelProcessor2D::tryDrawPolygonStrokePrimitive2DDirect().
|
overridevirtual |
compare operator
Reimplemented from drawinglayer::primitive2d::BasePrimitive2D.
Reimplemented in drawinglayer::primitive2d::PolygonStrokeArrowPrimitive2D, and drawinglayer::primitive2d::PolygonWavePrimitive2D.
Definition at line 425 of file polygonprimitive2d.cxx.
References getB2DPolygon(), getLineAttribute(), and getStrokeAttribute().
|
mutableprivate |
the buffered result of PolygonStrokePrimitive2D::getB2DRange
Definition at line 50 of file PolygonStrokePrimitive2D.hxx.
Referenced by getB2DRange().
|
private |
the line attributes like width, join and color
Definition at line 44 of file PolygonStrokePrimitive2D.hxx.
|
private |
the line geometry
Definition at line 41 of file PolygonStrokePrimitive2D.hxx.
Referenced by PolygonStrokePrimitive2D().
|
private |
the line stroking (if used)
Definition at line 47 of file PolygonStrokePrimitive2D.hxx.