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

#include <sallayout.hxx>

Inheritance diagram for GenericSalLayout:
Collaboration diagram for GenericSalLayout:

Public Member Functions

 GenericSalLayout (LogicalFontInstance &)
 ~GenericSalLayout () override
void AdjustLayout (vcl::text::ImplLayoutArgs &) final override
bool LayoutText (vcl::text::ImplLayoutArgs &, const SalLayoutGlyphsImpl *) final override
void DrawText (SalGraphics &) const final override
SalLayoutGlyphs GetGlyphs () const final override
bool IsKashidaPosValid (int nCharPos) const final override
DeviceCoordinate GetTextWidth () const final override
DeviceCoordinate FillDXArray (std::vector< DeviceCoordinate > *pDXArray) const final override
sal_Int32 GetTextBreak (DeviceCoordinate nMaxWidth, DeviceCoordinate nCharExtra, int nFactor) const final override
void GetCaretPositions (int nArraySize, sal_Int32 *pCaretXArray) const final override
LogicalFontInstanceGetFont () const
bool GetNextGlyph (const GlyphItem **pGlyph, DevicePoint &rPos, int &nStart, const LogicalFontInstance **ppGlyphFont=nullptr, const vcl::font::PhysicalFontFace **pFallbackFont=nullptr) const override
const SalLayoutGlyphsImplGlyphsImpl () const
- 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 void InitFont () const
int GetUnitsPerPixel () const
Degree10 GetOrientation () const
void SetTextRenderModeForResolutionIndependentLayout (bool bTextRenderModeForResolutionIndependentLayout)
virtual bool GetOutline (basegfx::B2DPolyPolygonVector &) const
bool GetBoundRect (tools::Rectangle &) const

Private Member Functions

void MoveGlyph (int nStart, tools::Long nNewXPos)
void DropGlyph (int nStart)
void Simplify (bool bIsBase)
 GenericSalLayout (const GenericSalLayout &)=delete
GenericSalLayoutoperator= (const GenericSalLayout &)=delete
template<typename DC >
void ApplyDXArray (const DC *, SalLayoutFlags nLayoutFlags)
void Justify (DeviceCoordinate nNewWidth)
void ApplyAsianKerning (const OUString &rStr)
void GetCharWidths (std::vector< DeviceCoordinate > &rCharWidths) const
void SetNeedFallback (vcl::text::ImplLayoutArgs &, sal_Int32, bool)
bool HasVerticalAlternate (sal_UCS4 aChar, sal_UCS4 aNextChar)
void ParseFeatures (std::u16string_view name)

Private Attributes

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


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

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 102 of file sallayout.hxx.

Constructor & Destructor Documentation

GenericSalLayout::GenericSalLayout ( LogicalFontInstance rFont)

Definition at line 62 of file CommonSalLayout.cxx.

GenericSalLayout::~GenericSalLayout ( )

Definition at line 69 of file CommonSalLayout.cxx.

GenericSalLayout::GenericSalLayout ( const GenericSalLayout )

Member Function Documentation

void GenericSalLayout::AdjustLayout ( vcl::text::ImplLayoutArgs rArgs)
void GenericSalLayout::ApplyAsianKerning ( const OUString &  rStr)

Definition at line 411 of file sallayout.cxx.

References lcl_CalcAsianKerning(), lcl_CanApplyAsianKerning(), m_GlyphItems, n, and nLength.

Referenced by AdjustLayout().

template<typename DC >
void GenericSalLayout::ApplyDXArray ( const DC *  pDXArray,
SalLayoutFlags  nLayoutFlags 
void GenericSalLayout::DrawText ( SalGraphics rSalGraphics) const

Implements SalLayout.

Definition at line 211 of file CommonSalLayout.cxx.

References SalGraphics::DrawTextLayout().

void GenericSalLayout::DropGlyph ( int  nStart)

Definition at line 575 of file sallayout.cxx.

References m_GlyphItems.

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

Implements SalLayout.

Definition at line 259 of file sallayout.cxx.

References GetCharWidths(), and GetTextWidth().

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

Implements SalLayout.

Definition at line 456 of file sallayout.cxx.

References i, m_GlyphItems, SalLayout::mnMinCharPos, and n.

void GenericSalLayout::GetCharWidths ( std::vector< DeviceCoordinate > &  rCharWidths) const
LogicalFontInstance& GenericSalLayout::GetFont ( ) const
SalLayoutGlyphs GenericSalLayout::GetGlyphs ( ) const

Reimplemented from SalLayout.

Definition at line 156 of file CommonSalLayout.cxx.

References SalLayoutGlyphs::AppendImpl(), SalLayoutGlyphsImpl::clone(), and m_GlyphItems.

bool GenericSalLayout::GetNextGlyph ( const GlyphItem **  pGlyph,
DevicePoint rPos,
int nStart,
const LogicalFontInstance **  ppGlyphFont = nullptr,
const vcl::font::PhysicalFontFace **  pFallbackFont = nullptr 
) const
sal_Int32 GenericSalLayout::GetTextBreak ( DeviceCoordinate  nMaxWidth,
DeviceCoordinate  nCharExtra,
int  nFactor 
) const

Implements SalLayout.

Definition at line 487 of file sallayout.cxx.

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

DeviceCoordinate GenericSalLayout::GetTextWidth ( ) const

Reimplemented from SalLayout.

Definition at line 268 of file sallayout.cxx.

References SalLayoutGlyphsImpl::IsValid(), and m_GlyphItems.

Referenced by FillDXArray(), and Justify().

const SalLayoutGlyphsImpl& GenericSalLayout::GlyphsImpl ( ) const

Definition at line 134 of file sallayout.hxx.

bool GenericSalLayout::HasVerticalAlternate ( sal_UCS4  aChar,
sal_UCS4  aNextChar 

Definition at line 221 of file CommonSalLayout.cxx.

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

Referenced by LayoutText().

bool GenericSalLayout::IsKashidaPosValid ( int  nCharPos) const

Reimplemented from SalLayout.

Definition at line 822 of file CommonSalLayout.cxx.

References m_GlyphItems.

void GenericSalLayout::Justify ( DeviceCoordinate  nNewWidth)
bool GenericSalLayout::LayoutText ( vcl::text::ImplLayoutArgs rArgs,
const SalLayoutGlyphsImpl pGlyphs 
void GenericSalLayout::MoveGlyph ( int  nStart,
tools::Long  nNewXPos 

Definition at line 550 of file sallayout.cxx.

References m_GlyphItems.

GenericSalLayout& GenericSalLayout::operator= ( const GenericSalLayout )
void GenericSalLayout::ParseFeatures ( std::u16string_view  name)
void GenericSalLayout::SetNeedFallback ( vcl::text::ImplLayoutArgs rArgs,
sal_Int32  nCharPos,
bool  bRightToLeft 
void GenericSalLayout::Simplify ( bool  bIsBase)

Definition at line 585 of file sallayout.cxx.

References i, and m_GlyphItems.

Friends And Related Function Documentation

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

Member Data Documentation

SalLayoutGlyphsImpl GenericSalLayout::m_GlyphItems
std::vector<hb_feature_t> GenericSalLayout::maFeatures

Definition at line 163 of file sallayout.hxx.

Referenced by LayoutText(), and ParseFeatures().

const bool GenericSalLayout::mbFuzzing

Definition at line 166 of file sallayout.hxx.

Referenced by SetNeedFallback().

hb_set_t* GenericSalLayout::mpVertGlyphs

Definition at line 165 of file sallayout.hxx.

Referenced by HasVerticalAlternate().

OString GenericSalLayout::msLanguage

Definition at line 162 of file sallayout.hxx.

Referenced by LayoutText(), and ParseFeatures().

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

Definition at line 158 of file sallayout.hxx.

Referenced by SetNeedFallback().

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