LibreOffice Module sw (master)  1
Macros | Typedefs | Functions | Variables
fntcache.cxx File Reference
#include <memory>
#include <sal/config.h>
#include <cstdint>
#include <i18nlangtag/mslangid.hxx>
#include <vcl/outdev.hxx>
#include <vcl/lineinfo.hxx>
#include <vcl/metric.hxx>
#include <vcl/svapp.hxx>
#include <vcl/lazydelete.hxx>
#include <com/sun/star/i18n/CharacterIteratorMode.hpp>
#include <com/sun/star/i18n/WordType.hpp>
#include <com/sun/star/i18n/XBreakIterator.hpp>
#include <breakit.hxx>
#include <paintfrm.hxx>
#include <viewsh.hxx>
#include <viewopt.hxx>
#include <fntcache.hxx>
#include <IDocumentSettingAccess.hxx>
#include <swfont.hxx>
#include <wrong.hxx>
#include <txtfrm.hxx>
#include <pagefrm.hxx>
#include <tgrditem.hxx>
#include <scriptinfo.hxx>
#include <editeng/brushitem.hxx>
#include <swmodule.hxx>
#include <accessibilityoptions.hxx>
#include <svtools/accessibilityoptions.hxx>
#include <svx/sdr/attribute/sdrallfillattributeshelper.hxx>
#include <doc.hxx>
#include <editeng/fhgtitem.hxx>
#include <vcl/glyphitem.hxx>
#include <vcl/vcllayout.hxx>
#include <docsh.hxx>
#include <strings.hrc>
#include <fntcap.hxx>
#include <vcl/outdev/ScopedStates.hxx>
Include dependency graph for fntcache.cxx:

Go to the source code of this file.


#define WRONG_SHOW_MIN   5


typedef std::vector< std::pair< TextFrameIndex, TextFrameIndex > > SwForbidden


constexpr Color gWaveCol (COL_GRAY)
bool operator< (const SwTextGlyphsKey &l, const SwTextGlyphsKey &r)
static bool lcl_IsFontAdjustNecessary (const vcl::RenderContext &rOutDev, const vcl::RenderContext &rRefDev)
static void lcl_calcLinePos (const CalcLinePosData &rData, Point &rStart, Point &rEnd, TextFrameIndex const nStart, TextFrameIndex const nWrLen)
static sal_uInt8 lcl_WhichPunctuation (sal_Unicode cChar)
static bool lcl_IsMonoSpaceFont (const vcl::RenderContext &rOut)
static bool lcl_IsFullstopCentered (const vcl::RenderContext &rOut)
static void lcl_DrawLineForWrongListData (SwForbidden &rForbidden, const SwDrawTextInfo &rInf, sw::WrongListIterator *pWList, const CalcLinePosData &rCalcLinePosData, const Size &rPrtFontSize)
void SwClearFntCacheTextGlyphs ()
 Clears the pre-calculated text glyphs in all SwFntObj instances. More...


SwFntCachepFntCache = nullptr
SwFntObjpLastFont = nullptr
static vcl::DeleteOnDeinit< VclPtr< OutputDevice > > s_pFntObjPixOut (new VclPtr< OutputDevice >)

Macro Definition Documentation

#define WRONG_SHOW_MIN   5

Definition at line 666 of file fntcache.cxx.

Referenced by SwFntObj::DrawText(), and lcl_DrawLineForWrongListData().

Typedef Documentation

typedef std::vector<std::pair<TextFrameIndex, TextFrameIndex> > SwForbidden

Definition at line 711 of file fntcache.cxx.

Function Documentation

constexpr Color gWaveCol ( COL_GRAY  )

Referenced by SwFntObj::DrawText().

static void lcl_calcLinePos ( const CalcLinePosData &  rData,
Point &  rStart,
Point &  rEnd,
TextFrameIndex const  nStart,
TextFrameIndex const  nWrLen 

Definition at line 279 of file fntcache.cxx.

References CH_BLANK, SPACING_PRECISION_FACTOR, and UnMapDirection().

Referenced by lcl_DrawLineForWrongListData().

static void lcl_DrawLineForWrongListData ( SwForbidden rForbidden,
const SwDrawTextInfo rInf,
sw::WrongListIterator pWList,
const CalcLinePosData &  rCalcLinePosData,
const Size rPrtFontSize 
static bool lcl_IsFontAdjustNecessary ( const vcl::RenderContext rOutDev,
const vcl::RenderContext rRefDev 
static bool lcl_IsFullstopCentered ( const vcl::RenderContext rOut)
static bool lcl_IsMonoSpaceFont ( const vcl::RenderContext rOut)
static sal_uInt8 lcl_WhichPunctuation ( sal_Unicode  cChar)
bool operator< ( const SwTextGlyphsKey l,
const SwTextGlyphsKey r 
void SwClearFntCacheTextGlyphs ( )

Clears the pre-calculated text glyphs in all SwFntObj instances.

Definition at line 2713 of file fntcache.cxx.

References SwFntCache::First(), and SwFntCache::Next().

Referenced by SwDoc::SetTabCols(), and SwLayIdle::SwLayIdle().

Variable Documentation

SwFntCache* pFntCache = nullptr
SwFntObj* pLastFont = nullptr
vcl::DeleteOnDeinit< VclPtr<OutputDevice> > s_pFntObjPixOut(new VclPtr< OutputDevice >)

Referenced by SwFntObj::DrawText().