LibreOffice Module vcl (master)
1
|
#include <sallayout.hxx>
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 SalLayoutGlyphs * | GetGlyphs () 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, tools::Long *pCaretXArray) const final override |
LogicalFontInstance & | GetFont () const |
bool | GetNextGlyph (const GlyphItem **pGlyph, Point &rPos, int &nStart, const PhysicalFontFace **pFallbackFont=nullptr) const override |
![]() | |
virtual | ~SalLayout () |
Point & | DrawBase () |
const Point & | DrawBase () const |
Point & | DrawOffset () |
const Point & | DrawOffset () const |
Point | GetDrawPosition (const Point &rRelative=Point(0, 0)) const |
virtual void | InitFont () const |
int | GetUnitsPerPixel () const |
Degree10 | GetOrientation () const |
virtual bool | GetOutline (basegfx::B2DPolyPolygonVector &) const |
bool | GetBoundRect (tools::Rectangle &) const |
Static Public Member Functions | |
static std::shared_ptr< vcl::TextLayoutCache > | CreateTextLayoutCache (OUString const &) |
Private Member Functions | |
void | MoveGlyph (int nStart, tools::Long nNewXPos) |
void | DropGlyph (int nStart) |
void | Simplify (bool bIsBase) |
GenericSalLayout (const GenericSalLayout &)=delete | |
GenericSalLayout & | operator= (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 | |
![]() | |
SalLayout () | |
![]() | |
int | mnMinCharPos |
int | mnEndCharPos |
int | mnUnitsPerPixel |
Degree10 | mnOrientation |
Point | maDrawOffset |
Point | maDrawBase |
Definition at line 162 of file sallayout.hxx.
GenericSalLayout::GenericSalLayout | ( | LogicalFontInstance & | rFont | ) |
Definition at line 59 of file CommonSalLayout.cxx.
References m_GlyphItems.
|
override |
Definition at line 66 of file CommonSalLayout.cxx.
|
privatedelete |
|
finaloverridevirtual |
Reimplemented from SalLayout.
Definition at line 226 of file CommonSalLayout.cxx.
References SalLayout::AdjustLayout(), ApplyAsianKerning(), ApplyDXArray(), Justify(), KerningAsian, ImplLayoutArgs::mnFlags, ImplLayoutArgs::mnLayoutWidth, ImplLayoutArgs::mpDXArray, ImplLayoutArgs::mrStr, and Vertical.
|
private |
Definition at line 802 of file sallayout.cxx.
References SalLayoutGlyphs::Impl(), lcl_CalcAsianKerning(), lcl_CanApplyAsianKerning(), m_GlyphItems, n, and nLength.
Referenced by AdjustLayout().
|
private |
Definition at line 655 of file CommonSalLayout.cxx.
References GetCharWidths(), GetFont(), LogicalFontInstance::GetHbFont(), LogicalFontInstance::GetKashidaWidth(), i, SalLayoutGlyphs::Impl(), IS_IN_CLUSTER, IS_RTL_GLYPH, KashidaJustification, m_GlyphItems, SalLayout::mnEndCharPos, ImplLayoutArgs::mnFlags, SalLayout::mnMinCharPos, ImplLayoutArgs::mpDXArray, and Point.
Referenced by AdjustLayout().
|
static |
Definition at line 188 of file CommonSalLayout.cxx.
Referenced by OutputDevice::CreateTextLayoutCache().
|
finaloverridevirtual |
Implements SalLayout.
Definition at line 240 of file CommonSalLayout.cxx.
References SalGraphics::DrawTextLayout().
Definition at line 958 of file sallayout.cxx.
References SalLayoutGlyphs::Impl(), and m_GlyphItems.
|
finaloverridevirtual |
Implements SalLayout.
Definition at line 650 of file sallayout.cxx.
References GetCharWidths(), and GetTextWidth().
|
finaloverridevirtual |
Implements SalLayout.
Definition at line 847 of file sallayout.cxx.
References i, SalLayoutGlyphs::Impl(), m_GlyphItems, SalLayout::mnMinCharPos, and n.
|
private |
Definition at line 622 of file CommonSalLayout.cxx.
References i, SalLayoutGlyphs::Impl(), m_GlyphItems, SalLayout::mnEndCharPos, SalLayout::mnMinCharPos, and nIndex.
Referenced by ApplyDXArray(), FillDXArray(), and GetTextBreak().
|
inline |
Definition at line 185 of file sallayout.hxx.
Referenced by ApplyDXArray(), MultiSalLayout::GetNextGlyph(), HasVerticalAlternate(), and LayoutText().
|
finaloverridevirtual |
Reimplemented from SalLayout.
Definition at line 193 of file CommonSalLayout.cxx.
References m_GlyphItems.
|
overridevirtual |
Implements SalLayout.
Definition at line 896 of file sallayout.cxx.
References SalLayout::GetDrawPosition(), SalLayoutGlyphs::Impl(), m_GlyphItems, SalLayout::mnEndCharPos, SalLayout::mnMinCharPos, SalLayout::mnUnitsPerPixel, n, and Point.
Referenced by MultiSalLayout::GetNextGlyph().
|
finaloverridevirtual |
Implements SalLayout.
Definition at line 878 of file sallayout.cxx.
References GetCharWidths(), i, SalLayout::mnEndCharPos, and SalLayout::mnMinCharPos.
|
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().
Definition at line 250 of file CommonSalLayout.cxx.
References GetFont(), LogicalFontInstance::GetHbFont(), and mpVertGlyphs.
Referenced by LayoutText().
|
finaloverridevirtual |
Reimplemented from SalLayout.
Definition at line 816 of file CommonSalLayout.cxx.
References SalLayoutGlyphs::Impl(), and m_GlyphItems.
|
private |
Definition at line 683 of file sallayout.cxx.
References GetTextWidth(), SalLayoutGlyphs::Impl(), SalLayoutGlyphs::IsValid(), m_GlyphItems, and SalLayout::mnUnitsPerPixel.
Referenced by AdjustLayout().
|
finaloverridevirtual |
Implements SalLayout.
Definition at line 287 of file CommonSalLayout.cxx.
References aDirection, ALLOW_KASHIDA, assert(), DisableKerning, ForFallback, LanguageTag::getBcp47(), GetFont(), LogicalFontInstance::GetFontSelectPattern(), LogicalFontInstance::GetHbFont(), ImplLayoutArgs::GetNextRun(), LogicalFontInstance::GetScale(), getUnicodeFuncs(), GlyphItemsOnly, HasVerticalAlternate(), i, SalLayoutGlyphs::Impl(), IS_CLUSTER_START, IS_DIACRITIC, IS_IN_CLUSTER, IS_RTL_GLYPH, IS_SPACING, IS_VERTICAL, LogicalFontInstance::IsGraphiteFont(), KashidaJustification, m_GlyphItems, ImplLayoutArgs::m_pTextLayoutCache, maFeatures, ImplLayoutArgs::maLanguageTag, FontSelectPattern::maTargetName, ImplLayoutArgs::mnEndCharPos, ImplLayoutArgs::mnFlags, SalLayoutGlyphsImpl::mnFlags, ImplLayoutArgs::mnMinCharPos, ImplLayoutArgs::mrStr, msLanguage, nLength, NONE, OUStringToOString(), ParseFeatures(), Point, vcl::TextLayoutCache::runs, SAL_INFO, SetNeedFallback(), o3tl::temporary(), Vertical, and void().
|
private |
Definition at line 933 of file sallayout.cxx.
References SalLayoutGlyphs::Impl(), and m_GlyphItems.
|
privatedelete |
|
private |
Definition at line 70 of file CommonSalLayout.cxx.
References vcl::font::FeatureParser::getFeatures(), vcl::font::FeatureParser::getLanguage(), maFeatures, msLanguage, and OUStringToOString().
Referenced by LayoutText().
|
private |
Definition at line 198 of file CommonSalLayout.cxx.
References vcl::unohelper::CreateBreakIterator(), LanguageTag::getLocale(), ImplLayoutArgs::maLanguageTag, mbFuzzing, ImplLayoutArgs::mrStr, mxBreak, and ImplLayoutArgs::NeedFallback().
Referenced by LayoutText().
|
private |
Definition at line 968 of file sallayout.cxx.
References i, SalLayoutGlyphs::Impl(), and m_GlyphItems.
|
friend |
|
private |
Definition at line 214 of file sallayout.hxx.
Referenced by ApplyAsianKerning(), ApplyDXArray(), DropGlyph(), GenericSalLayout(), GetCaretPositions(), GetCharWidths(), GetGlyphs(), GetNextGlyph(), GetTextWidth(), IsKashidaPosValid(), Justify(), LayoutText(), MoveGlyph(), and Simplify().
|
private |
Definition at line 217 of file sallayout.hxx.
Referenced by LayoutText(), and ParseFeatures().
|
private |
Definition at line 220 of file sallayout.hxx.
Referenced by SetNeedFallback().
|
private |
Definition at line 219 of file sallayout.hxx.
Referenced by HasVerticalAlternate().
|
private |
Definition at line 216 of file sallayout.hxx.
Referenced by LayoutText(), and ParseFeatures().
|
private |
Definition at line 212 of file sallayout.hxx.
Referenced by SetNeedFallback().