LibreOffice Module vcl (master)  1
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
GenericSalLayout Class Reference

#include <sallayout.hxx>

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

Public Member Functions

 GenericSalLayout (LogicalFontInstance &)
 
 ~GenericSalLayout () override
 
void AdjustLayout (ImplLayoutArgs &) final override
 
bool LayoutText (ImplLayoutArgs &, const SalLayoutGlyphs *) final override
 
void DrawText (SalGraphics &) const final override
 
const SalLayoutGlyphsGetGlyphs () const final override
 
bool IsKashidaPosValid (int nCharPos) const final override
 
DeviceCoordinate GetTextWidth () const final override
 
DeviceCoordinate FillDXArray (DeviceCoordinate *pDXArray) const final override
 
sal_Int32 GetTextBreak (DeviceCoordinate nMaxWidth, DeviceCoordinate nCharExtra, int nFactor) const final override
 
void GetCaretPositions (int nArraySize, long *pCaretXArray) const final override
 
LogicalFontInstanceGetFont () const
 
bool GetNextGlyph (const GlyphItem **pGlyph, Point &rPos, int &nStart, const PhysicalFontFace **pFallbackFont=nullptr, int *const pFallbackLevel=nullptr) const 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
 
virtual void InitFont () const
 
int GetUnitsPerPixel () const
 
int GetOrientation () const
 
virtual bool GetOutline (basegfx::B2DPolyPolygonVector &) const
 
bool GetBoundRect (tools::Rectangle &) const
 

Static Public Member Functions

static std::shared_ptr< vcl::TextLayoutCacheCreateTextLayoutCache (OUString const &)
 

Private Member Functions

void MoveGlyph (int nStart, long nNewXPos)
 
void DropGlyph (int nStart)
 
void Simplify (bool bIsBase)
 
 GenericSalLayout (const GenericSalLayout &)=delete
 
GenericSalLayoutoperator= (const GenericSalLayout &)=delete
 
void ApplyDXArray (const ImplLayoutArgs &)
 
void Justify (DeviceCoordinate nNewWidth)
 
void ApplyAsianKerning (const OUString &rStr)
 
void GetCharWidths (DeviceCoordinate *pCharWidths) const
 
void SetNeedFallback (ImplLayoutArgs &, sal_Int32, bool)
 
bool HasVerticalAlternate (sal_UCS4 aChar, sal_UCS4 aNextChar)
 
void ParseFeatures (const OUString &name)
 

Private Attributes

css::uno::Reference< css::i18n::XBreakIterator > mxBreak
 
SalLayoutGlyphs m_GlyphItems
 
OString msLanguage
 
std::vector< hb_feature_t > maFeatures
 
hb_set_t * mpVertGlyphs
 
const bool mbFuzzing
 

Friends

void MultiSalLayout::AdjustLayout (ImplLayoutArgs &)
 

Additional Inherited Members

- Protected Member Functions inherited from SalLayout
 SalLayout ()
 
- Protected Attributes inherited from SalLayout
int mnMinCharPos
 
int mnEndCharPos
 
int mnUnitsPerPixel
 
int mnOrientation
 
Point maDrawOffset
 
Point maDrawBase
 

Detailed Description

Definition at line 160 of file sallayout.hxx.

Constructor & Destructor Documentation

GenericSalLayout::GenericSalLayout ( LogicalFontInstance rFont)

Definition at line 58 of file CommonSalLayout.cxx.

References m_GlyphItems.

GenericSalLayout::~GenericSalLayout ( )
override

Definition at line 65 of file CommonSalLayout.cxx.

GenericSalLayout::GenericSalLayout ( const GenericSalLayout )
privatedelete

Member Function Documentation

void GenericSalLayout::AdjustLayout ( ImplLayoutArgs rArgs)
finaloverridevirtual
void GenericSalLayout::ApplyAsianKerning ( const OUString &  rStr)
private
void GenericSalLayout::ApplyDXArray ( const ImplLayoutArgs rArgs)
private
std::shared_ptr< vcl::TextLayoutCache > GenericSalLayout::CreateTextLayoutCache ( OUString const &  rString)
static

Definition at line 179 of file CommonSalLayout.cxx.

Referenced by OutputDevice::CreateTextLayoutCache().

void GenericSalLayout::DrawText ( SalGraphics rSalGraphics) const
finaloverridevirtual

Implements SalLayout.

Definition at line 231 of file CommonSalLayout.cxx.

References SalGraphics::DrawTextLayout().

void GenericSalLayout::DropGlyph ( int  nStart)
private

Definition at line 960 of file sallayout.cxx.

References SalLayoutGlyphs::Impl(), and m_GlyphItems.

DeviceCoordinate GenericSalLayout::FillDXArray ( DeviceCoordinate pDXArray) const
finaloverridevirtual

Implements SalLayout.

Definition at line 650 of file sallayout.cxx.

References GetCharWidths(), and GetTextWidth().

void GenericSalLayout::GetCaretPositions ( int  nArraySize,
long *  pCaretXArray 
) const
finaloverridevirtual

Implements SalLayout.

Definition at line 847 of file sallayout.cxx.

References i, SalLayoutGlyphs::Impl(), m_GlyphItems, and SalLayout::mnMinCharPos.

void GenericSalLayout::GetCharWidths ( DeviceCoordinate pCharWidths) const
private
LogicalFontInstance& GenericSalLayout::GetFont ( ) const
inline
const SalLayoutGlyphs * GenericSalLayout::GetGlyphs ( ) const
finaloverridevirtual

Reimplemented from SalLayout.

Definition at line 184 of file CommonSalLayout.cxx.

References m_GlyphItems.

bool GenericSalLayout::GetNextGlyph ( const GlyphItem **  pGlyph,
Point rPos,
int nStart,
const PhysicalFontFace **  pFallbackFont = nullptr,
int *const  pFallbackLevel = nullptr 
) const
overridevirtual
sal_Int32 GenericSalLayout::GetTextBreak ( DeviceCoordinate  nMaxWidth,
DeviceCoordinate  nCharExtra,
int  nFactor 
) const
finaloverridevirtual

Implements SalLayout.

Definition at line 878 of file sallayout.cxx.

References GetCharWidths(), i, SalLayout::mnEndCharPos, and SalLayout::mnMinCharPos.

DeviceCoordinate GenericSalLayout::GetTextWidth ( ) const
finaloverridevirtual

Reimplemented from SalLayout.

Definition at line 659 of file sallayout.cxx.

References SalLayoutGlyphs::Impl(), SalLayoutGlyphs::IsValid(), and m_GlyphItems.

Referenced by FillDXArray(), and Justify().

bool GenericSalLayout::HasVerticalAlternate ( sal_UCS4  aChar,
sal_UCS4  aNextChar 
)
private

Definition at line 241 of file CommonSalLayout.cxx.

References GetFont(), LogicalFontInstance::GetHbFont(), and mpVertGlyphs.

Referenced by LayoutText().

bool GenericSalLayout::IsKashidaPosValid ( int  nCharPos) const
finaloverridevirtual

Reimplemented from SalLayout.

Definition at line 807 of file CommonSalLayout.cxx.

References SalLayoutGlyphs::Impl(), and m_GlyphItems.

void GenericSalLayout::Justify ( DeviceCoordinate  nNewWidth)
private
bool GenericSalLayout::LayoutText ( ImplLayoutArgs rArgs,
const SalLayoutGlyphs pGlyphs 
)
finaloverridevirtual
void GenericSalLayout::MoveGlyph ( int  nStart,
long  nNewXPos 
)
private

Definition at line 935 of file sallayout.cxx.

References SalLayoutGlyphs::Impl(), and m_GlyphItems.

GenericSalLayout& GenericSalLayout::operator= ( const GenericSalLayout )
privatedelete
void GenericSalLayout::ParseFeatures ( const OUString &  name)
private
void GenericSalLayout::SetNeedFallback ( ImplLayoutArgs rArgs,
sal_Int32  nCharPos,
bool  bRightToLeft 
)
private
void GenericSalLayout::Simplify ( bool  bIsBase)
private

Definition at line 970 of file sallayout.cxx.

References i, SalLayoutGlyphs::Impl(), and m_GlyphItems.

Friends And Related Function Documentation

Member Data Documentation

SalLayoutGlyphs GenericSalLayout::m_GlyphItems
private
std::vector<hb_feature_t> GenericSalLayout::maFeatures
private

Definition at line 216 of file sallayout.hxx.

Referenced by LayoutText(), and ParseFeatures().

const bool GenericSalLayout::mbFuzzing
private

Definition at line 219 of file sallayout.hxx.

Referenced by SetNeedFallback().

hb_set_t* GenericSalLayout::mpVertGlyphs
private

Definition at line 218 of file sallayout.hxx.

Referenced by HasVerticalAlternate().

OString GenericSalLayout::msLanguage
private

Definition at line 215 of file sallayout.hxx.

Referenced by LayoutText(), and ParseFeatures().

css::uno::Reference<css::i18n::XBreakIterator> GenericSalLayout::mxBreak
private

Definition at line 211 of file sallayout.hxx.

Referenced by SetNeedFallback().


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