LibreOffice Module sw (master)
1
|
#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>
Go to the source code of this file.
Macros | |
#define | WRONG_SHOW_MIN 5 |
Typedefs | |
typedef std::vector< std::pair< TextFrameIndex, TextFrameIndex > > | SwForbidden |
Functions | |
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... | |
Variables | |
SwFntCache * | pFntCache = nullptr |
SwFntObj * | pLastFont = nullptr |
static vcl::DeleteOnDeinit< VclPtr< OutputDevice > > | s_pFntObjPixOut (new VclPtr< OutputDevice >) |
#define WRONG_SHOW_MIN 5 |
Definition at line 666 of file fntcache.cxx.
Referenced by SwFntObj::DrawText(), and lcl_DrawLineForWrongListData().
typedef std::vector<std::pair<TextFrameIndex, TextFrameIndex> > SwForbidden |
Definition at line 711 of file fntcache.cxx.
Referenced by SwFntObj::DrawText().
|
static |
Definition at line 279 of file fntcache.cxx.
References CH_BLANK, o3tl::strong_int< UNDERLYING_TYPE, PHANTOM_TYPE >::get(), SPACING_PRECISION_FACTOR, and UnMapDirection().
Referenced by lcl_DrawLineForWrongListData().
|
static |
Definition at line 713 of file fntcache.cxx.
References a, sw::WrongListIterator::Check(), OutputDevice::DrawLine(), OutputDevice::DrawWaveLine(), first, OutputDevice::GetConnectMetaFile(), SwDrawTextInfo::GetIdx(), SwDrawTextInfo::GetLen(), OutputDevice::GetLineColor(), SwDrawTextInfo::GetOut(), SwDrawTextInfo::GetPos(), SwDrawTextInfo::GetSmartTags(), sw::WrongListIterator::GetWrongElement(), lcl_calcLinePos(), OutputDevice::LogicToPixel(), SwWrongArea::mColor, SwWrongArea::mLineType, Point, OutputDevice::Pop(), OutputDevice::Push(), LineInfo::SetDashCount(), LineInfo::SetDashLen(), LineInfo::SetDistance(), OutputDevice::SetLineColor(), WRONG_SHOW_MIN, WRONGAREA_BOLD, WRONGAREA_BOLDWAVE, WRONGAREA_DASHED, and WRONGAREA_WAVE.
Referenced by SwFntObj::DrawText().
|
static |
Definition at line 236 of file fntcache.cxx.
References OutputDevice::GetOutDevType(), OUTDEV_PRINTER, and OUTDEV_WINDOW.
Referenced by SwFntObj::DrawText(), SwFntObj::GetFontAscent(), SwFntObj::GetFontHeight(), and SwFntObj::SetDevFont().
|
static |
Definition at line 702 of file fntcache.cxx.
References OutputDevice::GetFontMetric(), and FontMetric::IsFullstopCentered().
Referenced by SwFntObj::DrawText(), SwFntObj::GetModelPositionForViewPoint(), SwFont::GetTextBreak(), and SwFntObj::GetTextSize().
|
static |
Definition at line 695 of file fntcache.cxx.
References OutputDevice::GetTextWidth(), and u.
Referenced by SwFntObj::DrawText(), SwFntObj::GetModelPositionForViewPoint(), SwFont::GetTextBreak(), and SwFntObj::GetTextSize().
|
static |
Definition at line 674 of file fntcache.cxx.
References SwScriptInfo::NONE, SwScriptInfo::SPECIAL_LEFT, and SwScriptInfo::SPECIAL_RIGHT.
Referenced by SwFntObj::DrawText().
bool operator< | ( | const SwTextGlyphsKey & | l, |
const SwTextGlyphsKey & | r | ||
) |
Definition at line 128 of file fntcache.cxx.
References VclPtr< OutputDevice >::get(), SwTextGlyphsKey::m_aText, SwTextGlyphsKey::m_nIndex, SwTextGlyphsKey::m_nLength, and SwTextGlyphsKey::m_pOutputDevice.
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().
SwFntCache* pFntCache = nullptr |
Definition at line 64 of file fntcache.cxx.
Referenced by FlushFontCache(), SwViewShell::Init(), SwViewShell::PrintProspect(), sw::DocumentDeviceManager::PrtDataChanged(), SwViewShell::Reformat(), SwProtocol::Stop(), TextFinit(), and TextInit_().
SwFntObj* pLastFont = nullptr |
Definition at line 66 of file fntcache.cxx.
Referenced by SwSubFont::CalcEsc(), SwTextFrame::CalcHeightOfLastLine(), SwSubFont::ChgFnt(), SwSubFont::DoOnCapitals(), SwSubFont::DrawStretchText_(), SwSubFont::DrawText_(), SwSubFont::GetModelPositionForViewPoint_(), and SwSubFont::GetTextSize_().
|
static |
Referenced by SwFntObj::DrawText().