LibreOffice Module drawinglayer (master) 1
|
ControlPrimitive2D class. More...
#include <controlprimitive2d.hxx>
Public Member Functions | |
ControlPrimitive2D (basegfx::B2DHomMatrix aTransform, css::uno::Reference< css::awt::XControlModel > xControlModel, css::uno::Reference< css::awt::XControl > xXControl, ::std::u16string_view rTitle, ::std::u16string_view rDescription) | |
constructor with an optional XControl as parameter to allow to hand it over at incarnation time if it exists. More... | |
const basegfx::B2DHomMatrix & | getTransform () const |
data read access More... | |
const css::uno::Reference< css::awt::XControlModel > & | getControlModel () const |
const css::uno::Reference< css::awt::XControl > & | getXControl () const |
mxControl access. More... | |
OUString const & | GetAltText () 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... | |
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 | |
void | createXControl () |
used from getXControl() to create a local awt::XControl which is remembered in mxXControl and from thereon always used and returned by getXControl() More... | |
Primitive2DReference | createBitmapDecomposition (const geometry::ViewInformation2D &rViewInformation) const |
single local decompositions, used from create2DDecomposition() More... | |
Primitive2DReference | createPlaceholderDecomposition () const |
virtual void | create2DDecomposition (Primitive2DContainer &rContainer, const geometry::ViewInformation2D &rViewInformation) const override |
local decomposition More... | |
Private Attributes | |
basegfx::B2DHomMatrix | maTransform |
object's base data More... | |
css::uno::Reference< css::awt::XControlModel > | mxControlModel |
css::uno::Reference< css::awt::XControl > | mxXControl |
the created and cached awt::XControl More... | |
basegfx::B2DVector | maLastViewScaling |
the last used scaling, used from getDecomposition for buffering More... | |
OUString | m_AltText |
yet another special snowflake way to generate PDF Alt text 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 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 |
ControlPrimitive2D class.
Base class for ControlPrimitive handling. It decomposes to a graphical representation (Bitmap data) of the control. This representation is limited to a quadratic pixel maximum defined in the application settings.
Definition at line 45 of file controlprimitive2d.hxx.
drawinglayer::primitive2d::ControlPrimitive2D::ControlPrimitive2D | ( | basegfx::B2DHomMatrix | aTransform, |
css::uno::Reference< css::awt::XControlModel > | xControlModel, | ||
css::uno::Reference< css::awt::XControl > | xXControl, | ||
::std::u16string_view | rTitle, | ||
::std::u16string_view | rDescription | ||
) |
constructor with an optional XControl as parameter to allow to hand it over at incarnation time if it exists.
This will avoid to create a 2nd one on demand in createXControl() and thus double the XControls.
Definition at line 241 of file controlprimitive2d.cxx.
References m_AltText.
|
overrideprivatevirtual |
local decomposition
Implements drawinglayer::primitive2d::BufferedDecompositionPrimitive2D.
Definition at line 227 of file controlprimitive2d.cxx.
References createBitmapDecomposition(), and createPlaceholderDecomposition().
|
private |
single local decompositions, used from create2DDecomposition()
Definition at line 81 of file controlprimitive2d.cxx.
References basegfx::absolute(), basegfx::utils::createScaleTranslateB2DHomMatrix(), DBG_UNHANDLED_EXCEPTION, basegfx::B2DHomMatrix::decompose(), basegfx::fTools::equalZero(), basegfx::fround(), Application::GetDefaultDevice(), Size::getHeight(), drawinglayer::geometry::ViewInformation2D::getInverseObjectToViewTransformation(), drawinglayer::geometry::ViewInformation2D::getObjectToViewTransformation(), SvtOptionsDrawinglayer::GetQuadraticFormControlRenderLimit(), BitmapEx::GetSizePixel(), getTransform(), Size::getWidth(), basegfx::Tuple2D< typename TYPE >::getX(), getXControl(), and basegfx::Tuple2D< typename TYPE >::getY().
Referenced by create2DDecomposition().
|
private |
Definition at line 213 of file controlprimitive2d.cxx.
References basegfx::utils::createPolygonFromRect(), getTransform(), and basegfx::B2DRange::transform().
Referenced by create2DDecomposition().
|
private |
used from getXControl() to create a local awt::XControl which is remembered in mxXControl and from thereon always used and returned by getXControl()
Definition at line 49 of file controlprimitive2d.cxx.
References getControlModel(), and mxXControl.
Referenced by getXControl().
|
overridevirtual |
Override standard getDecomposition to be view-dependent here.
Reimplemented from drawinglayer::primitive2d::BufferedDecompositionPrimitive2D.
Definition at line 314 of file controlprimitive2d.cxx.
References basegfx::Tuple2D< typename TYPE >::equal(), drawinglayer::primitive2d::BufferedDecompositionPrimitive2D::get2DDecomposition(), drawinglayer::primitive2d::BufferedDecompositionPrimitive2D::getBuffered2DDecomposition(), drawinglayer::geometry::ViewInformation2D::getObjectToViewTransformation(), maLastViewScaling, and drawinglayer::primitive2d::BufferedDecompositionPrimitive2D::setBuffered2DDecomposition().
|
inline |
Definition at line 99 of file controlprimitive2d.hxx.
Referenced by drawinglayer::processor2d::VclMetafileProcessor2D::processControlPrimitive2D().
|
overridevirtual |
get range
Reimplemented from drawinglayer::primitive2d::BasePrimitive2D.
Definition at line 306 of file controlprimitive2d.cxx.
References getTransform(), and basegfx::B2DRange::transform().
Referenced by drawinglayer::processor2d::VclMetafileProcessor2D::processControlPrimitive2D().
|
inline |
Definition at line 88 of file controlprimitive2d.hxx.
Referenced by createXControl(), and operator==().
|
overridevirtual |
provide unique ID
Implements drawinglayer::primitive2d::BasePrimitive2D.
Definition at line 340 of file controlprimitive2d.cxx.
References PRIMITIVE2D_ID_CONTROLPRIMITIVE2D.
|
inline |
data read access
Definition at line 87 of file controlprimitive2d.hxx.
References maTransform.
Referenced by createBitmapDecomposition(), createPlaceholderDecomposition(), getB2DRange(), operator==(), drawinglayer::processor2d::VclMetafileProcessor2D::processControlPrimitive2D(), and drawinglayer::processor2d::VclPixelProcessor2D::processControlPrimitive2D().
const uno::Reference< awt::XControl > & drawinglayer::primitive2d::ControlPrimitive2D::getXControl | ( | ) | const |
mxControl access.
This will on demand create the awt::XControl using createXControl() if it does not exist. It may already have been created or even handed over at incarnation
Definition at line 260 of file controlprimitive2d.cxx.
References createXControl(), and mxXControl.
Referenced by createBitmapDecomposition(), operator==(), drawinglayer::processor2d::VclMetafileProcessor2D::processControlPrimitive2D(), and drawinglayer::processor2d::VclPixelProcessor2D::processControlPrimitive2D().
|
overridevirtual |
compare operator
Reimplemented from drawinglayer::primitive2d::BasePrimitive2D.
Definition at line 270 of file controlprimitive2d.cxx.
References getControlModel(), getTransform(), and getXControl().
|
private |
yet another special snowflake way to generate PDF Alt text
Definition at line 59 of file controlprimitive2d.hxx.
Referenced by ControlPrimitive2D().
|
private |
the last used scaling, used from getDecomposition for buffering
Definition at line 56 of file controlprimitive2d.hxx.
Referenced by get2DDecomposition().
|
private |
object's base data
Definition at line 49 of file controlprimitive2d.hxx.
|
private |
Definition at line 50 of file controlprimitive2d.hxx.
|
private |
the created and cached awt::XControl
Definition at line 53 of file controlprimitive2d.hxx.
Referenced by createXControl(), and getXControl().