LibreOffice Module drawinglayer (master) 1
|
GridPrimitive2D class. More...
#include <gridprimitive2d.hxx>
Public Member Functions | |
GridPrimitive2D (basegfx::B2DHomMatrix aTransform, double fWidth, double fHeight, double fSmallestViewDistance, double fSmallestSubdivisionViewDistance, sal_uInt32 nSubdivisionsX, sal_uInt32 nSubdivisionsY, const basegfx::BColor &rBColor, const BitmapEx &rCrossMarker) | |
constructor More... | |
const basegfx::B2DHomMatrix & | getTransform () const |
data read access More... | |
double | getWidth () const |
double | getHeight () const |
double | getSmallestViewDistance () const |
double | getSmallestSubdivisionViewDistance () const |
sal_uInt32 | getSubdivisionsX () const |
sal_uInt32 | getSubdivisionsY () const |
const basegfx::BColor & | getBColor () const |
const BitmapEx & | getCrossMarker () const |
virtual bool | operator== (const BasePrimitive2D &rPrimitive) const override |
compare operator More... | |
virtual basegfx::B2DRange | getB2DRange (const geometry::ViewInformation2D &rViewInformation) const override |
get 2d range More... | |
virtual sal_uInt32 | getPrimitive2DID () const override |
provide unique ID More... | |
virtual void | get2DDecomposition (Primitive2DDecompositionVisitor &rVisitor, const geometry::ViewInformation2D &rViewInformation) const override |
Override standard getDecomposition to be view-dependent here. 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 | |
virtual void | create2DDecomposition (Primitive2DContainer &rContainer, const geometry::ViewInformation2D &rViewInformation) const override |
create local decomposition More... | |
Private Attributes | |
basegfx::B2DHomMatrix | maTransform |
The geometry definition for the grid area. More... | |
double | mfWidth |
grid layout definitions More... | |
double | mfHeight |
double | mfSmallestViewDistance |
double | mfSmallestSubdivisionViewDistance |
sal_uInt32 | mnSubdivisionsX |
sal_uInt32 | mnSubdivisionsY |
basegfx::BColor | maBColor |
Grid color for single-pixel grid points. More... | |
BitmapEx | maCrossMarker |
The Bitmap (with transparence) for grid cross points. More... | |
basegfx::B2DHomMatrix | maLastObjectToViewTransformation |
the last used object to view transformtion and the last Viewport, used from getDecomposition for decide buffering More... | |
basegfx::B2DRange | maLastViewport |
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 |
GridPrimitive2D class.
This primitive is specialized to Grid visualisation. The graphic definition (Transform) contains the whole grid area, but will of course be combined with the visible area (Viewport) when decomposed. Also a resolution-dependent point reduction is used to not create too much grid visualisation data. This makes this primitive highly view-dependent and it dynamically buffers the last decomposition dependent from the Viewport used.
Definition at line 43 of file gridprimitive2d.hxx.
drawinglayer::primitive2d::GridPrimitive2D::GridPrimitive2D | ( | basegfx::B2DHomMatrix | aTransform, |
double | fWidth, | ||
double | fHeight, | ||
double | fSmallestViewDistance, | ||
double | fSmallestSubdivisionViewDistance, | ||
sal_uInt32 | nSubdivisionsX, | ||
sal_uInt32 | nSubdivisionsY, | ||
const basegfx::BColor & | rBColor, | ||
const BitmapEx & | rCrossMarker | ||
) |
constructor
Definition at line 253 of file gridprimitive2d.cxx.
|
overrideprivatevirtual |
create local decomposition
Implements drawinglayer::primitive2d::BufferedDecompositionPrimitive2D.
Definition at line 34 of file gridprimitive2d.cxx.
References a, basegfx::utils::createShearXRotateTranslateB2DHomMatrix(), basegfx::B2DHomMatrix::decompose(), basegfx::fTools::equalZero(), getBColor(), getCrossMarker(), drawinglayer::geometry::ViewInformation2D::getDiscreteViewport(), getHeight(), drawinglayer::geometry::ViewInformation2D::getInverseObjectToViewTransformation(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMaxX(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMaxY(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMinX(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMinY(), drawinglayer::geometry::ViewInformation2D::getObjectToViewTransformation(), getSmallestSubdivisionViewDistance(), getSmallestViewDistance(), getSubdivisionsX(), getSubdivisionsY(), getTransform(), drawinglayer::geometry::ViewInformation2D::getViewport(), getWidth(), basegfx::Tuple2D< typename TYPE >::getX(), basegfx::Tuple2D< typename TYPE >::getY(), basegfx::Range2D< typename TYPE, typename TRAITS >::intersect(), basegfx::B2DHomMatrix::invert(), basegfx::Range2D< typename TYPE, typename TRAITS >::isEmpty(), basegfx::Range2D< typename TYPE, typename TRAITS >::isInside(), basegfx::fTools::less(), basegfx::Range2D< typename TYPE, typename TRAITS >::overlaps(), basegfx::B2DHomMatrix::scale(), and basegfx::B2DRange::transform().
|
overridevirtual |
Override standard getDecomposition to be view-dependent here.
Reimplemented from drawinglayer::primitive2d::BufferedDecompositionPrimitive2D.
Definition at line 307 of file gridprimitive2d.cxx.
References drawinglayer::primitive2d::BufferedDecompositionPrimitive2D::get2DDecomposition(), drawinglayer::primitive2d::BufferedDecompositionPrimitive2D::getBuffered2DDecomposition(), drawinglayer::geometry::ViewInformation2D::getObjectToViewTransformation(), drawinglayer::geometry::ViewInformation2D::getViewport(), maLastObjectToViewTransformation, maLastViewport, and drawinglayer::primitive2d::BufferedDecompositionPrimitive2D::setBuffered2DDecomposition().
|
overridevirtual |
get 2d range
Reimplemented from drawinglayer::primitive2d::BasePrimitive2D.
Definition at line 295 of file gridprimitive2d.cxx.
References getTransform(), drawinglayer::geometry::ViewInformation2D::getViewport(), basegfx::Range2D< typename TYPE, typename TRAITS >::intersect(), and basegfx::B2DRange::transform().
|
inline |
Definition at line 93 of file gridprimitive2d.hxx.
Referenced by create2DDecomposition(), and operator==().
|
inline |
Definition at line 94 of file gridprimitive2d.hxx.
Referenced by create2DDecomposition(), and operator==().
|
inline |
Definition at line 88 of file gridprimitive2d.hxx.
Referenced by create2DDecomposition(), and operator==().
|
overridevirtual |
provide unique ID
Implements drawinglayer::primitive2d::BasePrimitive2D.
Definition at line 330 of file gridprimitive2d.cxx.
References PRIMITIVE2D_ID_GRIDPRIMITIVE2D.
|
inline |
Definition at line 90 of file gridprimitive2d.hxx.
Referenced by create2DDecomposition(), and operator==().
|
inline |
Definition at line 89 of file gridprimitive2d.hxx.
Referenced by create2DDecomposition(), and operator==().
|
inline |
Definition at line 91 of file gridprimitive2d.hxx.
Referenced by create2DDecomposition(), and operator==().
|
inline |
Definition at line 92 of file gridprimitive2d.hxx.
Referenced by create2DDecomposition(), and operator==().
|
inline |
data read access
Definition at line 86 of file gridprimitive2d.hxx.
References maTransform.
Referenced by create2DDecomposition(), getB2DRange(), and operator==().
|
inline |
Definition at line 87 of file gridprimitive2d.hxx.
Referenced by create2DDecomposition(), and operator==().
|
overridevirtual |
compare operator
Reimplemented from drawinglayer::primitive2d::BasePrimitive2D.
Definition at line 275 of file gridprimitive2d.cxx.
References getBColor(), getCrossMarker(), getHeight(), getSmallestSubdivisionViewDistance(), getSmallestViewDistance(), getSubdivisionsX(), getSubdivisionsY(), getTransform(), and getWidth().
|
private |
Grid color for single-pixel grid points.
Definition at line 58 of file gridprimitive2d.hxx.
|
private |
The Bitmap (with transparence) for grid cross points.
Definition at line 61 of file gridprimitive2d.hxx.
|
private |
the last used object to view transformtion and the last Viewport, used from getDecomposition for decide buffering
Definition at line 66 of file gridprimitive2d.hxx.
Referenced by get2DDecomposition().
|
private |
Definition at line 67 of file gridprimitive2d.hxx.
Referenced by get2DDecomposition().
|
private |
The geometry definition for the grid area.
Definition at line 47 of file gridprimitive2d.hxx.
|
private |
Definition at line 51 of file gridprimitive2d.hxx.
|
private |
Definition at line 53 of file gridprimitive2d.hxx.
|
private |
Definition at line 52 of file gridprimitive2d.hxx.
|
private |
grid layout definitions
Definition at line 50 of file gridprimitive2d.hxx.
|
private |
Definition at line 54 of file gridprimitive2d.hxx.
|
private |
Definition at line 55 of file gridprimitive2d.hxx.