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 (DeviceCoordinate nMaxWidth, DeviceCoordinate nCharExtra, int nFactor) const override
 
DeviceCoordinate FillDXArray (std::vector< DeviceCoordinate > *pDXArray) const override
 
void GetCaretPositions (int nArraySize, sal_Int32 *pCaretXArray) const override
 
bool GetNextGlyph (const GlyphItem **pGlyph, DevicePoint &rPos, int &nStart, const LogicalFontInstance **ppGlyphFont=nullptr, const vcl::font::PhysicalFontFace **pFallbackFont=nullptr) const override
 
bool GetOutline (basegfx::B2DPolyPolygonVector &) const override
 
bool IsKashidaPosValid (int nCharPos) 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)
 
template<typename DC >
void ImplAdjustMultiLayout (vcl::text::ImplLayoutArgs &rArgs, vcl::text::ImplLayoutArgs &rMultiArgs, const DC *pMultiDXArray)
 
virtual ~MultiSalLayout () override
 
- Public Member Functions inherited from SalLayout
virtual ~SalLayout ()
 
DevicePointDrawBase ()
 
const DevicePointDrawBase () const
 
PointDrawOffset ()
 
const PointDrawOffset () const
 
DevicePoint GetDrawPosition (const DevicePoint &rRelative=DevicePoint(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
 
int GetUnitsPerPixel () const
 
Degree10 GetOrientation () const
 
void SetTextRenderModeForResolutionIndependentLayout (bool bTextRenderModeForResolutionIndependentLayout)
 
virtual sal_Int32 GetTextBreak (DeviceCoordinate nMaxWidth, DeviceCoordinate nCharExtra, int nFactor) const =0
 
virtual DeviceCoordinate FillDXArray (std::vector< DeviceCoordinate > *pDXArray) const =0
 
virtual DeviceCoordinate GetTextWidth () const
 
virtual void GetCaretPositions (int nArraySize, sal_Int32 *pCaretXArray) const =0
 
virtual bool IsKashidaPosValid (int) const
 
virtual bool GetNextGlyph (const GlyphItem **pGlyph, DevicePoint &rPos, int &nStart, const LogicalFontInstance **ppGlyphFont=nullptr, const vcl::font::PhysicalFontFace **pFallbackFont=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
 
int mnUnitsPerPixel
 
Degree10 mnOrientation
 
Point maDrawOffset
 
DevicePoint maDrawBase
 
bool mbTextRenderModeForResolutionIndependentLayout
 

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, SalLayout::mnUnitsPerPixel, and mpLayouts.

◆ ~MultiSalLayout()

MultiSalLayout::~MultiSalLayout ( )
overridevirtual

Definition at line 633 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 637 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()

DeviceCoordinate MultiSalLayout::FillDXArray ( std::vector< DeviceCoordinate > *  pDXArray) const
overridevirtual

Implements SalLayout.

Definition at line 1073 of file sallayout.cxx.

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

Referenced by AdjustLayout().

◆ GetCaretPositions()

void MultiSalLayout::GetCaretPositions ( int  nArraySize,
sal_Int32 *  pCaretXArray 
) const
overridevirtual

Implements SalLayout.

Definition at line 1118 of file sallayout.cxx.

References SalLayout::GetCaretPositions(), i, mnLevel, SalLayout::mnUnitsPerPixel, mpLayouts, n, and w.

◆ GetGlyphs()

SalLayoutGlyphs MultiSalLayout::GetGlyphs ( ) const
finaloverridevirtual

Reimplemented from SalLayout.

Definition at line 1212 of file sallayout.cxx.

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

◆ GetNextGlyph()

bool MultiSalLayout::GetNextGlyph ( const GlyphItem **  pGlyph,
DevicePoint rPos,
int nStart,
const LogicalFontInstance **  ppGlyphFont = nullptr,
const vcl::font::PhysicalFontFace **  pFallbackFont = nullptr 
) const
overridevirtual

◆ GetOutline()

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

◆ GetTextBreak()

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

◆ ImplAdjustMultiLayout()

template<typename DC >
void MultiSalLayout::ImplAdjustMultiLayout ( vcl::text::ImplLayoutArgs rArgs,
vcl::text::ImplLayoutArgs rMultiArgs,
const DC *  pMultiDXArray 
)

◆ InitFont()

void MultiSalLayout::InitFont ( ) const
overridevirtual

Reimplemented from SalLayout.

Definition at line 1011 of file sallayout.cxx.

References mnLevel, and mpLayouts.

◆ IsKashidaPosValid()

bool MultiSalLayout::IsKashidaPosValid ( int  nCharPos) const
overridevirtual

Reimplemented from SalLayout.

Definition at line 1189 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 649 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 622 of file sallayout.cxx.

References mpLayouts.

◆ SetIncomplete()

void MultiSalLayout::SetIncomplete ( bool  bIncomplete)

Definition at line 627 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 99 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: