LibreOffice Module drawinglayer (master) 1
|
PatternFillPrimitive2D class. More...
#include <patternfillprimitive2d.hxx>
Public Member Functions | |
PatternFillPrimitive2D (basegfx::B2DPolyPolygon aMask, Primitive2DContainer &&rChildren, const basegfx::B2DRange &rReferenceRange) | |
constructor More... | |
const basegfx::B2DPolyPolygon & | getMask () const |
data read access More... | |
const Primitive2DContainer & | getChildren () const |
const basegfx::B2DRange & | getReferenceRange () 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 void | get2DDecomposition (Primitive2DDecompositionVisitor &rVisitor, const geometry::ViewInformation2D &rViewInformation) const override |
overload to react on evtl. buffered content More... | |
virtual sal_uInt32 | getPrimitive2DID () const override |
provide unique ID More... | |
virtual sal_Int64 | estimateUsage () override |
BitmapEx | createTileImage (sal_uInt32 nWidth, sal_uInt32 nHeight) const |
helper which creates the content - checks if clipping is needed and eventually creates buffered content to speed up rendering More... | |
void | getTileSize (sal_uInt32 &rWidth, sal_uInt32 &rHeight, const geometry::ViewInformation2D &rViewInformation) const |
helper that is capable to calculate the needed discrete buffer size for eventually buffered content 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 () |
Private Member Functions | |
void | calculateNeededDiscreteBufferSize (sal_uInt32 &rWidth, sal_uInt32 &rHeight, const geometry::ViewInformation2D &rViewInformation) const |
helper that is capable to calculate the needed discrete buffer size for eventually buffered content More... | |
Primitive2DContainer | createContent (const geometry::ViewInformation2D &rViewInformation) const |
helper which creates the content - checks if clipping is needed and eventually creates buffered content to speed up rendering More... | |
virtual void | create2DDecomposition (Primitive2DContainer &rContainer, const geometry::ViewInformation2D &rViewInformation) const override |
create local decomposition More... | |
Private Attributes | |
const basegfx::B2DPolyPolygon | maMask |
const Primitive2DContainer | maChildren |
const basegfx::B2DRange | maReferenceRange |
sal_uInt32 | mnDiscreteWidth |
values holding the discrete buffer size More... | |
sal_uInt32 | mnDiscreteHeight |
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 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 |
Protected Attributes inherited from salhelper::SimpleReferenceObject | |
oslInterlockedCount | m_nCount |
PatternFillPrimitive2D class.
This primitive allows filling a given tools::PolyPolygon with a pattern defined by a sequence of primitives which are mapped to the unit range. The pattern is defined using a reference range which defines a rectangular area relative to the tools::PolyPolygon (in unit coordinates) which is virtually infinitely repeated.
Definition at line 38 of file patternfillprimitive2d.hxx.
drawinglayer::primitive2d::PatternFillPrimitive2D::PatternFillPrimitive2D | ( | basegfx::B2DPolyPolygon | aMask, |
Primitive2DContainer && | rChildren, | ||
const basegfx::B2DRange & | rReferenceRange | ||
) |
|
private |
helper that is capable to calculate the needed discrete buffer size for eventually buffered content
Definition at line 42 of file patternfillprimitive2d.cxx.
References basegfx::utils::createScaleTranslateB2DHomMatrix(), basegfx::fround(), basegfx::B2DPolyPolygon::getB2DRange(), getLength(), getMask(), basegfx::B2DRange::getMinimum(), drawinglayer::texture::GeoTexSvxTiled::getNumberOfTiles(), drawinglayer::geometry::ViewInformation2D::getObjectToViewTransformation(), basegfx::B2DRange::getRange(), getReferenceRange(), MAXIMUM_SQUARE_LENGTH, MINIMUM_SQUARE_LENGTH, and MINIMUM_TILES_LENGTH.
Referenced by get2DDecomposition().
|
overrideprivatevirtual |
create local decomposition
Implements drawinglayer::primitive2d::BufferedDecompositionPrimitive2D.
Definition at line 205 of file patternfillprimitive2d.cxx.
References a, drawinglayer::texture::GeoTexSvxTiled::appendTransformations(), createContent(), basegfx::utils::createScaleTranslateB2DHomMatrix(), getB2DRange(), getChildren(), basegfx::Range2D< typename TYPE, typename TRAITS >::getHeight(), getMask(), basegfx::B2DRange::getMinimum(), basegfx::B2DRange::getRange(), getReferenceRange(), basegfx::Range2D< typename TYPE, typename TRAITS >::getWidth(), and basegfx::Range2D< typename TYPE, typename TRAITS >::isEmpty().
|
private |
helper which creates the content - checks if clipping is needed and eventually creates buffered content to speed up rendering
Definition at line 121 of file patternfillprimitive2d.cxx.
References drawinglayer::convertToBitmapEx(), basegfx::utils::createPolygonFromRect(), basegfx::utils::createScaleB2DHomMatrix(), drawinglayer::primitive2d::Primitive2DContainer::getB2DRange(), getChildren(), BitmapEx::GetSizePixel(), Size::Height(), BitmapEx::IsEmpty(), basegfx::Range2D< typename TYPE, typename TRAITS >::isInside(), mnDiscreteHeight, mnDiscreteWidth, and Size::Width().
Referenced by create2DDecomposition(), and createTileImage().
BitmapEx drawinglayer::primitive2d::PatternFillPrimitive2D::createTileImage | ( | sal_uInt32 | nWidth, |
sal_uInt32 | nHeight | ||
) | const |
helper which creates the content - checks if clipping is needed and eventually creates buffered content to speed up rendering
Definition at line 187 of file patternfillprimitive2d.cxx.
References drawinglayer::convertToBitmapEx(), createContent(), and basegfx::utils::createScaleB2DHomMatrix().
Referenced by drawinglayer::processor2d::VclPixelProcessor2D::processPatternFillPrimitive2D().
|
overridevirtual |
Reimplemented from drawinglayer::primitive2d::BasePrimitive2D.
Definition at line 354 of file patternfillprimitive2d.cxx.
References getChildren().
|
overridevirtual |
overload to react on evtl. buffered content
Reimplemented from drawinglayer::primitive2d::BufferedDecompositionPrimitive2D.
Definition at line 295 of file patternfillprimitive2d.cxx.
References calculateNeededDiscreteBufferSize(), drawinglayer::primitive2d::BufferedDecompositionPrimitive2D::get2DDecomposition(), mnDiscreteHeight, mnDiscreteWidth, and drawinglayer::primitive2d::BufferedDecompositionPrimitive2D::setBuffered2DDecomposition().
|
overridevirtual |
get range
Reimplemented from drawinglayer::primitive2d::BasePrimitive2D.
Definition at line 290 of file patternfillprimitive2d.cxx.
References basegfx::B2DPolyPolygon::getB2DRange(), and getMask().
Referenced by create2DDecomposition(), and getTileSize().
|
inline |
Definition at line 72 of file patternfillprimitive2d.hxx.
References maChildren.
Referenced by create2DDecomposition(), createContent(), estimateUsage(), and operator==().
|
inline |
data read access
Definition at line 71 of file patternfillprimitive2d.hxx.
Referenced by calculateNeededDiscreteBufferSize(), create2DDecomposition(), getB2DRange(), getTileSize(), operator==(), and drawinglayer::processor2d::VclPixelProcessor2D::processPatternFillPrimitive2D().
|
overridevirtual |
provide unique ID
Implements drawinglayer::primitive2d::BasePrimitive2D.
Definition at line 364 of file patternfillprimitive2d.cxx.
References PRIMITIVE2D_ID_PATTERNFILLPRIMITIVE2D.
|
inline |
Definition at line 73 of file patternfillprimitive2d.hxx.
Referenced by calculateNeededDiscreteBufferSize(), create2DDecomposition(), getTileSize(), operator==(), and drawinglayer::processor2d::VclPixelProcessor2D::processPatternFillPrimitive2D().
void drawinglayer::primitive2d::PatternFillPrimitive2D::getTileSize | ( | sal_uInt32 & | rWidth, |
sal_uInt32 & | rHeight, | ||
const geometry::ViewInformation2D & | rViewInformation | ||
) | const |
helper that is capable to calculate the needed discrete buffer size for eventually buffered content
Definition at line 97 of file patternfillprimitive2d.cxx.
References basegfx::utils::createScaleTranslateB2DHomMatrix(), basegfx::fround(), getB2DRange(), getLength(), getMask(), basegfx::B2DRange::getMinimum(), drawinglayer::geometry::ViewInformation2D::getObjectToViewTransformation(), basegfx::B2DRange::getRange(), and getReferenceRange().
Referenced by drawinglayer::processor2d::VclPixelProcessor2D::processPatternFillPrimitive2D().
|
overridevirtual |
compare operator
Reimplemented from drawinglayer::primitive2d::BasePrimitive2D.
Definition at line 276 of file patternfillprimitive2d.cxx.
References getChildren(), getMask(), and getReferenceRange().
|
private |
Definition at line 42 of file patternfillprimitive2d.hxx.
|
private |
Definition at line 41 of file patternfillprimitive2d.hxx.
|
private |
Definition at line 43 of file patternfillprimitive2d.hxx.
|
private |
Definition at line 47 of file patternfillprimitive2d.hxx.
Referenced by createContent(), and get2DDecomposition().
|
private |
values holding the discrete buffer size
Definition at line 46 of file patternfillprimitive2d.hxx.
Referenced by createContent(), and get2DDecomposition().