LibreOffice Module vcl (master) 1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MultiSalLayout Class Referencefinal

#include <sallayout.hxx>

Inheritance diagram for MultiSalLayout:
[legend]
Collaboration diagram for MultiSalLayout:
[legend]

Public Member Functions

void DrawText (SalGraphics &) const override
 
sal_Int32 GetTextBreak (double nMaxWidth, double nCharExtra, int nFactor) const override
 
double GetTextWidth () const final override
 
double FillDXArray (std::vector< double > *pDXArray, const OUString &rStr) const override
 
void GetCaretPositions (std::vector< double > &rCaretPositions, const OUString &rStr) const override
 
bool GetNextGlyph (const GlyphItem **pGlyph, basegfx::B2DPoint &rPos, int &nStart, const LogicalFontInstance **ppGlyphFont=nullptr) const override
 
bool GetOutline (basegfx::B2DPolyPolygonVector &) const override
 
bool IsKashidaPosValid (int nCharPos, int nNextCharPos) const override
 
SalLayoutGlyphs GetGlyphs () const final override
 
 MultiSalLayout (std::unique_ptr< SalLayout > pBaseLayout)
 
void AddFallback (std::unique_ptr< SalLayout > pFallbackLayout, ImplLayoutRuns const &)
 
std::unique_ptr< SalLayoutReleaseBaseLayout ()
 
bool LayoutText (vcl::text::ImplLayoutArgs &, const SalLayoutGlyphsImpl *) override
 
void AdjustLayout (vcl::text::ImplLayoutArgs &) override
 
void InitFont () const override
 
void SetIncomplete (bool bIncomplete)
 
void ImplAdjustMultiLayout (vcl::text::ImplLayoutArgs &rArgs, vcl::text::ImplLayoutArgs &rMultiArgs, const double *pMultiDXArray)
 
virtual ~MultiSalLayout () override
 
- Public Member Functions inherited from SalLayout
virtual ~SalLayout ()
 
basegfx::B2DPointDrawBase ()
 
const basegfx::B2DPointDrawBase () const
 
PointDrawOffset ()
 
const PointDrawOffset () const
 
basegfx::B2DPoint GetDrawPosition (const basegfx::B2DPoint &rRelative=basegfx::B2DPoint(0, 0)) const
 
virtual bool LayoutText (vcl::text::ImplLayoutArgs &, const SalLayoutGlyphsImpl *)=0
 
virtual void AdjustLayout (vcl::text::ImplLayoutArgs &)
 
virtual void InitFont () const
 
virtual void DrawText (SalGraphics &) const =0
 
Degree10 GetOrientation () const
 
void SetSubpixelPositioning (bool bSubpixelPositioning)
 
bool GetSubpixelPositioning () const
 
virtual sal_Int32 GetTextBreak (double nMaxWidth, double nCharExtra, int nFactor) const =0
 
virtual double FillDXArray (std::vector< double > *pDXArray, const OUString &rStr) const =0
 
virtual double GetTextWidth () const
 
virtual void GetCaretPositions (std::vector< double > &rCaretPositions, const OUString &rStr) const =0
 
virtual bool IsKashidaPosValid (int, int) const =0
 
virtual bool GetNextGlyph (const GlyphItem **pGlyph, basegfx::B2DPoint &rPos, int &nStart, const LogicalFontInstance **ppGlyphFont=nullptr) const =0
 
virtual bool GetOutline (basegfx::B2DPolyPolygonVector &) const
 
bool GetBoundRect (tools::Rectangle &) const
 
virtual SalLayoutGlyphs GetGlyphs () const
 

Private Member Functions

 MultiSalLayout (const MultiSalLayout &)=delete
 
MultiSalLayoutoperator= (const MultiSalLayout &)=delete
 

Private Attributes

std::unique_ptr< GenericSalLayoutmpLayouts [MAX_FALLBACK]
 
ImplLayoutRuns maFallbackRuns [MAX_FALLBACK]
 
int mnLevel
 
bool mbIncomplete
 

Additional Inherited Members

- Protected Member Functions inherited from SalLayout
 SalLayout ()
 
- Protected Attributes inherited from SalLayout
int mnMinCharPos
 
int mnEndCharPos
 
LanguageTag maLanguageTag
 
Degree10 mnOrientation
 
Point maDrawOffset
 
basegfx::B2DPoint maDrawBase
 
bool mbSubpixelPositioning
 

Detailed Description

Definition at line 60 of file sallayout.hxx.

Constructor & Destructor Documentation

◆ MultiSalLayout() [1/2]

MultiSalLayout::MultiSalLayout ( std::unique_ptr< SalLayout pBaseLayout)
explicit

Definition at line 612 of file sallayout.cxx.

References mnLevel, and mpLayouts.

◆ ~MultiSalLayout()

MultiSalLayout::~MultiSalLayout ( )
overridevirtual

Definition at line 632 of file sallayout.cxx.

◆ MultiSalLayout() [2/2]

MultiSalLayout::MultiSalLayout ( const MultiSalLayout )
privatedelete

Member Function Documentation

◆ AddFallback()

void MultiSalLayout::AddFallback ( std::unique_ptr< SalLayout pFallbackLayout,
ImplLayoutRuns const &  rFallbackRuns 
)

Definition at line 636 of file sallayout.cxx.

References maFallbackRuns, MAX_FALLBACK, mnLevel, and mpLayouts.

◆ AdjustLayout()

void MultiSalLayout::AdjustLayout ( vcl::text::ImplLayoutArgs rArgs)
overridevirtual

◆ DrawText()

void MultiSalLayout::DrawText ( SalGraphics rGraphics) const
overridevirtual

◆ FillDXArray()

double MultiSalLayout::FillDXArray ( std::vector< double > *  pDXArray,
const OUString &  rStr 
) const
overridevirtual

Implements SalLayout.

Definition at line 1048 of file sallayout.cxx.

References GetTextWidth(), i, SalLayout::mnEndCharPos, mnLevel, SalLayout::mnMinCharPos, mpLayouts, and n.

Referenced by AdjustLayout().

◆ GetCaretPositions()

void MultiSalLayout::GetCaretPositions ( std::vector< double > &  rCaretPositions,
const OUString &  rStr 
) const
overridevirtual

Implements SalLayout.

Definition at line 1081 of file sallayout.cxx.

References i, SalLayout::mnEndCharPos, mnLevel, SalLayout::mnMinCharPos, mpLayouts, and n.

◆ GetGlyphs()

SalLayoutGlyphs MultiSalLayout::GetGlyphs ( ) const
finaloverridevirtual

Reimplemented from SalLayout.

Definition at line 1174 of file sallayout.cxx.

References SalLayoutGlyphs::AppendImpl(), mnLevel, mpLayouts, and n.

◆ GetNextGlyph()

bool MultiSalLayout::GetNextGlyph ( const GlyphItem **  pGlyph,
basegfx::B2DPoint rPos,
int nStart,
const LogicalFontInstance **  ppGlyphFont = nullptr 
) const
overridevirtual

◆ GetOutline()

bool MultiSalLayout::GetOutline ( basegfx::B2DPolyPolygonVector rPPV) const
overridevirtual

◆ GetTextBreak()

sal_Int32 MultiSalLayout::GetTextBreak ( double  nMaxWidth,
double  nCharExtra,
int  nFactor 
) const
overridevirtual

◆ GetTextWidth()

double MultiSalLayout::GetTextWidth ( ) const
finaloverridevirtual

Reimplemented from SalLayout.

Definition at line 1032 of file sallayout.cxx.

References GetNextGlyph(), and GlyphItem::newWidth().

Referenced by FillDXArray().

◆ ImplAdjustMultiLayout()

void MultiSalLayout::ImplAdjustMultiLayout ( vcl::text::ImplLayoutArgs rArgs,
vcl::text::ImplLayoutArgs rMultiArgs,
const double *  pMultiDXArray 
)

◆ InitFont()

void MultiSalLayout::InitFont ( ) const
overridevirtual

Reimplemented from SalLayout.

Definition at line 978 of file sallayout.cxx.

References mnLevel, and mpLayouts.

◆ IsKashidaPosValid()

bool MultiSalLayout::IsKashidaPosValid ( int  nCharPos,
int  nNextCharPos 
) const
overridevirtual

Implements SalLayout.

Definition at line 1150 of file sallayout.cxx.

References i, maFallbackRuns, mnLevel, and mpLayouts.

◆ LayoutText()

bool MultiSalLayout::LayoutText ( vcl::text::ImplLayoutArgs rArgs,
const SalLayoutGlyphsImpl  
)
overridevirtual

Implements SalLayout.

Definition at line 648 of file sallayout.cxx.

References maFallbackRuns, vcl::text::ImplLayoutArgs::maRuns, mbIncomplete, and mnLevel.

◆ operator=()

MultiSalLayout & MultiSalLayout::operator= ( const MultiSalLayout )
privatedelete

◆ ReleaseBaseLayout()

std::unique_ptr< SalLayout > MultiSalLayout::ReleaseBaseLayout ( )

Definition at line 621 of file sallayout.cxx.

References mpLayouts.

◆ SetIncomplete()

void MultiSalLayout::SetIncomplete ( bool  bIncomplete)

Definition at line 626 of file sallayout.cxx.

References maFallbackRuns, mbIncomplete, and mnLevel.

Member Data Documentation

◆ maFallbackRuns

ImplLayoutRuns MultiSalLayout::maFallbackRuns[MAX_FALLBACK]
private

◆ mbIncomplete

bool MultiSalLayout::mbIncomplete
private

Definition at line 98 of file sallayout.hxx.

Referenced by ImplAdjustMultiLayout(), LayoutText(), and SetIncomplete().

◆ mnLevel

int MultiSalLayout::mnLevel
private

◆ mpLayouts

std::unique_ptr<GenericSalLayout> MultiSalLayout::mpLayouts[MAX_FALLBACK]
private

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