LibreOffice Module cppcanvas (master) 1
Functions
cppcanvas::internal::TextActionFactory Namespace Reference

Creates encapsulated converters between GDIMetaFile and XCanvas. More...

Functions

std::shared_ptr< ActioncreateTextAction (const ::Point &rStartPoint, const ::Size &rReliefOffset, const ::Color &rReliefColor, const ::Size &rShadowOffset, const ::Color &rShadowColor, const ::Color &rTextFillColor, const OUString &rText, sal_Int32 nStartPos, sal_Int32 nLen, KernArraySpan pDXArray, o3tl::span< const sal_Bool > pKashidaArray, VirtualDevice &rVDev, const CanvasSharedPtr &rCanvas, const OutDevState &rState, const Renderer::Parameters &rParms, bool bSubsettable)
 Create text action, optionally shadow/relief effect. More...
 

Detailed Description

Creates encapsulated converters between GDIMetaFile and XCanvas.

The Canvas argument is deliberately placed at the constructor, to force reconstruction of this object for a new canvas. This considerably eases internal state handling, since a lot of the internal state (e.g. fonts, text layout) is Canvas-dependent.

Function Documentation

◆ createTextAction()

std::shared_ptr< Action > cppcanvas::internal::TextActionFactory::createTextAction ( const ::Point rStartPoint,
const ::Size rReliefOffset,
const ::Color rReliefColor,
const ::Size rShadowOffset,
const ::Color rShadowColor,
const ::Color rTextFillColor,
const OUString &  rText,
sal_Int32  nStartPos,
sal_Int32  nLen,
KernArraySpan  pDXArray,
o3tl::span< const sal_Bool pKashidaArray,
VirtualDevice rVDev,
const CanvasSharedPtr rCanvas,
const OutDevState rState,
const Renderer::Parameters rParms,
bool  bSubsettable 
)

Create text action, optionally shadow/relief effect.

Note that this method accepts all coordinates in logical coordinates.

Parameters
pDXArrayPointer to array of logical character offsets (or NULL)
bSubsettableWhen this parameter is set to true, the generated action might consume slightly more memory, but is subsettable (Action::render( Subset ) works on characters)

Definition at line 2109 of file textaction.cxx.

References vcl::unotools::b2DSizeFromSize(), COL_AUTO(), o3tl::span< typename T >::data(), KernArraySpan::empty(), cppcanvas::tools::getBaselineOffset(), cppcanvas::internal::OutDevState::isTextOutlineModeSet, cppcanvas::internal::OutDevState::mapModeTransform, cppcanvas::Renderer::Parameters::maTextTransformation, o3tl::span< typename T >::size(), cppcanvas::internal::OutDevState::textOverlineStyle, cppcanvas::internal::OutDevState::textStrikeoutStyle, and cppcanvas::internal::OutDevState::textUnderlineStyle.

Referenced by cppcanvas::internal::ImplRenderer::createTextAction().