LibreOffice Module drawinglayer (master) 1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
drawinglayer::primitive2d::ControlPrimitive2D Class Referencefinal

ControlPrimitive2D class. More...

#include <controlprimitive2d.hxx>

Inheritance diagram for drawinglayer::primitive2d::ControlPrimitive2D:
[legend]
Collaboration diagram for drawinglayer::primitive2d::ControlPrimitive2D:
[legend]

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::B2DHomMatrixgetTransform () 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 Primitive2DContainergetBuffered2DDecomposition () 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
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ControlPrimitive2D()

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.

Member Function Documentation

◆ create2DDecomposition()

void drawinglayer::primitive2d::ControlPrimitive2D::create2DDecomposition ( Primitive2DContainer rContainer,
const geometry::ViewInformation2D rViewInformation 
) const
overrideprivatevirtual

◆ createBitmapDecomposition()

Primitive2DReference drawinglayer::primitive2d::ControlPrimitive2D::createBitmapDecomposition ( const geometry::ViewInformation2D rViewInformation) const
private

◆ createPlaceholderDecomposition()

Primitive2DReference drawinglayer::primitive2d::ControlPrimitive2D::createPlaceholderDecomposition ( ) const
private

◆ createXControl()

void drawinglayer::primitive2d::ControlPrimitive2D::createXControl ( )
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().

◆ get2DDecomposition()

void drawinglayer::primitive2d::ControlPrimitive2D::get2DDecomposition ( Primitive2DDecompositionVisitor rVisitor,
const geometry::ViewInformation2D rViewInformation 
) const
overridevirtual

◆ GetAltText()

OUString const & drawinglayer::primitive2d::ControlPrimitive2D::GetAltText ( ) const
inline

◆ getB2DRange()

basegfx::B2DRange drawinglayer::primitive2d::ControlPrimitive2D::getB2DRange ( const geometry::ViewInformation2D rViewInformation) const
overridevirtual

◆ getControlModel()

const css::uno::Reference< css::awt::XControlModel > & drawinglayer::primitive2d::ControlPrimitive2D::getControlModel ( ) const
inline

Definition at line 88 of file controlprimitive2d.hxx.

Referenced by createXControl(), and operator==().

◆ getPrimitive2DID()

sal_uInt32 drawinglayer::primitive2d::ControlPrimitive2D::getPrimitive2DID ( ) const
overridevirtual

provide unique ID

Implements drawinglayer::primitive2d::BasePrimitive2D.

Definition at line 340 of file controlprimitive2d.cxx.

References PRIMITIVE2D_ID_CONTROLPRIMITIVE2D.

◆ getTransform()

const basegfx::B2DHomMatrix & drawinglayer::primitive2d::ControlPrimitive2D::getTransform ( ) const
inline

◆ getXControl()

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().

◆ operator==()

bool drawinglayer::primitive2d::ControlPrimitive2D::operator== ( const BasePrimitive2D rPrimitive) const
overridevirtual

compare operator

Reimplemented from drawinglayer::primitive2d::BasePrimitive2D.

Definition at line 270 of file controlprimitive2d.cxx.

References getControlModel(), getTransform(), and getXControl().

Member Data Documentation

◆ m_AltText

OUString drawinglayer::primitive2d::ControlPrimitive2D::m_AltText
private

yet another special snowflake way to generate PDF Alt text

Definition at line 59 of file controlprimitive2d.hxx.

Referenced by ControlPrimitive2D().

◆ maLastViewScaling

basegfx::B2DVector drawinglayer::primitive2d::ControlPrimitive2D::maLastViewScaling
private

the last used scaling, used from getDecomposition for buffering

Definition at line 56 of file controlprimitive2d.hxx.

Referenced by get2DDecomposition().

◆ maTransform

basegfx::B2DHomMatrix drawinglayer::primitive2d::ControlPrimitive2D::maTransform
private

object's base data

Definition at line 49 of file controlprimitive2d.hxx.

◆ mxControlModel

css::uno::Reference<css::awt::XControlModel> drawinglayer::primitive2d::ControlPrimitive2D::mxControlModel
private

Definition at line 50 of file controlprimitive2d.hxx.

◆ mxXControl

css::uno::Reference<css::awt::XControl> drawinglayer::primitive2d::ControlPrimitive2D::mxXControl
private

the created and cached awt::XControl

Definition at line 53 of file controlprimitive2d.hxx.

Referenced by createXControl(), and getXControl().


The documentation for this class was generated from the following files: