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, tools::Long *pCaretXArray) const override
 
bool GetNextGlyph (const GlyphItem **pGlyph, Point &rPos, int &nStart, const LogicalFontInstance **ppGlyphFont=nullptr, const 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)
 
virtual ~MultiSalLayout () override
 
- Public Member Functions inherited from SalLayout
virtual ~SalLayout ()
 
PointDrawBase ()
 
const PointDrawBase () const
 
PointDrawOffset ()
 
const PointDrawOffset () const
 
Point GetDrawPosition (const Point &rRelative=Point(0, 0)) const
 
int GetUnitsPerPixel () const
 
Degree10 GetOrientation () const
 
virtual DeviceCoordinate GetTextWidth () const
 
bool GetBoundRect (tools::Rectangle &) 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
 
Point maDrawBase
 

Detailed Description

Definition at line 55 of file sallayout.hxx.

Constructor & Destructor Documentation

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

Definition at line 587 of file sallayout.cxx.

References mnLevel, SalLayout::mnUnitsPerPixel, and mpLayouts.

MultiSalLayout::~MultiSalLayout ( )
overridevirtual

Definition at line 608 of file sallayout.cxx.

MultiSalLayout::MultiSalLayout ( const MultiSalLayout )
privatedelete

Member Function Documentation

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

Definition at line 612 of file sallayout.cxx.

References maFallbackRuns, MAX_FALLBACK, mnLevel, and mpLayouts.

void MultiSalLayout::AdjustLayout ( vcl::text::ImplLayoutArgs rArgs)
overridevirtual
void MultiSalLayout::DrawText ( SalGraphics rGraphics) const
overridevirtual
DeviceCoordinate MultiSalLayout::FillDXArray ( std::vector< DeviceCoordinate > *  pDXArray) const
overridevirtual

Implements SalLayout.

Definition at line 1037 of file sallayout.cxx.

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

Referenced by AdjustLayout().

void MultiSalLayout::GetCaretPositions ( int  nArraySize,
tools::Long pCaretXArray 
) const
overridevirtual

Implements SalLayout.

Definition at line 1082 of file sallayout.cxx.

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

SalLayoutGlyphs MultiSalLayout::GetGlyphs ( ) const
finaloverridevirtual

Reimplemented from SalLayout.

Definition at line 1176 of file sallayout.cxx.

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

bool MultiSalLayout::GetNextGlyph ( const GlyphItem **  pGlyph,
Point rPos,
int nStart,
const LogicalFontInstance **  ppGlyphFont = nullptr,
const PhysicalFontFace **  pFallbackFont = nullptr 
) const
overridevirtual
bool MultiSalLayout::GetOutline ( basegfx::B2DPolyPolygonVector rPPV) const
overridevirtual
sal_Int32 MultiSalLayout::GetTextBreak ( DeviceCoordinate  nMaxWidth,
DeviceCoordinate  nCharExtra,
int  nFactor 
) const
overridevirtual
void MultiSalLayout::InitFont ( ) const
overridevirtual

Reimplemented from SalLayout.

Definition at line 975 of file sallayout.cxx.

References mnLevel, and mpLayouts.

bool MultiSalLayout::IsKashidaPosValid ( int  nCharPos) const
overridevirtual

Reimplemented from SalLayout.

Definition at line 1153 of file sallayout.cxx.

References i, maFallbackRuns, mnLevel, and mpLayouts.

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

Implements SalLayout.

Definition at line 624 of file sallayout.cxx.

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

MultiSalLayout& MultiSalLayout::operator= ( const MultiSalLayout )
privatedelete
std::unique_ptr< SalLayout > MultiSalLayout::ReleaseBaseLayout ( )

Definition at line 597 of file sallayout.cxx.

References mpLayouts.

void MultiSalLayout::SetIncomplete ( bool  bIncomplete)

Definition at line 602 of file sallayout.cxx.

References maFallbackRuns, mbIncomplete, and mnLevel.

Member Data Documentation

ImplLayoutRuns MultiSalLayout::maFallbackRuns[MAX_FALLBACK]
private

Definition at line 88 of file sallayout.hxx.

Referenced by AddFallback(), AdjustLayout(), IsKashidaPosValid(), LayoutText(), and SetIncomplete().

bool MultiSalLayout::mbIncomplete
private

Definition at line 90 of file sallayout.hxx.

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

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

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