LibreOffice Module drawinglayer (master) 1
|
TransparencePrimitive2D class. More...
#include <transparenceprimitive2d.hxx>
Public Member Functions | |
TransparencePrimitive2D (Primitive2DContainer &&rChildren, Primitive2DContainer &&aTransparence) | |
constructor More... | |
const Primitive2DContainer & | getTransparence () const |
data read access More... | |
virtual bool | operator== (const BasePrimitive2D &rPrimitive) const override |
compare operator More... | |
virtual sal_uInt32 | getPrimitive2DID () const override |
provide unique ID More... | |
Public Member Functions inherited from drawinglayer::primitive2d::GroupPrimitive2D | |
GroupPrimitive2D (Primitive2DContainer &&aChildren) | |
constructor More... | |
const Primitive2DContainer & | getChildren () const |
data read access More... | |
void | getChildren (Primitive2DDecompositionVisitor &rVisitor) const |
virtual bool | operator== (const BasePrimitive2D &rPrimitive) const override |
compare operator More... | |
virtual void | get2DDecomposition (Primitive2DDecompositionVisitor &rVisitor, const geometry::ViewInformation2D &rViewInformation) const override |
local decomposition. Implementation will just return children More... | |
virtual sal_uInt32 | getPrimitive2DID () const override |
provide unique ID More... | |
virtual sal_Int64 | estimateUsage () override |
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 Attributes | |
Primitive2DContainer | maTransparence |
The transparence-Mask who's RGB-Values are interpreted as Luminance. 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 salhelper::SimpleReferenceObject | |
virtual | ~SimpleReferenceObject () COVERITY_NOEXCEPT_FALSE |
Protected Attributes inherited from salhelper::SimpleReferenceObject | |
oslInterlockedCount | m_nCount |
TransparencePrimitive2D class.
This is the basic primitive for applying freely defined transparence to freely defined content. The basic idea is to associate a content which is defined as a sequence of primitives and hold as child content in the GroupPrimitive2D with a transparence channel also defined as a sequence of primitives and hold in the transparence member.
The basic definition is to use the transparence content as transparence-Mask by interpreting the transparence-content not as RGB, but as Luminance transparence mask using the common RGB_to_luminance definition as e.g. used by VCL.
The defining geometry is the Range of the child primitive sequence, this means the renderers will/shall use this geometric information for rendering, not the transparent one. The transparent one should/will be clipped accordingly.
Definition at line 46 of file transparenceprimitive2d.hxx.
drawinglayer::primitive2d::TransparencePrimitive2D::TransparencePrimitive2D | ( | Primitive2DContainer && | rChildren, |
Primitive2DContainer && | aTransparence | ||
) |
constructor
rChildren | The content which is defined to have a transparency. The range of this primitive is defined by this content |
rTransparence | The definition of the Transparence-channel for this primitive. It will be interpreted as mask by interpreting as gray values using the common RGB_to_luminance definitions |
Definition at line 29 of file transparenceprimitive2d.cxx.
|
overridevirtual |
provide unique ID
Reimplemented from drawinglayer::primitive2d::GroupPrimitive2D.
Definition at line 50 of file transparenceprimitive2d.cxx.
References PRIMITIVE2D_ID_TRANSPARENCEPRIMITIVE2D.
|
inline |
data read access
Definition at line 69 of file transparenceprimitive2d.hxx.
Referenced by drawinglayer::processor2d::D2DPixelProcessor2D::implCreateAlpha_B2DBitmap(), drawinglayer::processor2d::D2DPixelProcessor2D::implCreateAlpha_Direct(), operator==(), drawinglayer::processor2d::CairoPixelProcessor2D::processTransparencePrimitive2D(), drawinglayer::processor2d::D2DPixelProcessor2D::processTransparencePrimitive2D(), drawinglayer::processor2d::VclMetafileProcessor2D::processTransparencePrimitive2D(), and drawinglayer::processor2d::VclProcessor2D::RenderTransparencePrimitive2D().
|
overridevirtual |
compare operator
Reimplemented from drawinglayer::primitive2d::GroupPrimitive2D.
Definition at line 37 of file transparenceprimitive2d.cxx.
References getTransparence().
|
private |
The transparence-Mask who's RGB-Values are interpreted as Luminance.
Definition at line 50 of file transparenceprimitive2d.hxx.