diff options
-rw-r--r-- | include/vcl/outdev.hxx | 2 | ||||
-rw-r--r-- | include/vcl/vcllayout.hxx | 2 | ||||
-rw-r--r-- | sc/source/ui/view/output2.cxx | 4 | ||||
-rw-r--r-- | sw/source/core/text/inftxt.cxx | 2 | ||||
-rw-r--r-- | vcl/inc/sallayout.hxx | 2 | ||||
-rw-r--r-- | vcl/qt5/Qt5Graphics_Text.cxx | 1 | ||||
-rw-r--r-- | vcl/quartz/salgdi.cxx | 1 | ||||
-rw-r--r-- | vcl/source/gdi/CommonSalLayout.cxx | 9 | ||||
-rw-r--r-- | vcl/source/gdi/sallayout.cxx | 6 | ||||
-rw-r--r-- | vcl/source/outdev/text.cxx | 10 | ||||
-rw-r--r-- | vcl/unx/generic/gdi/cairotextrender.cxx | 1 | ||||
-rw-r--r-- | vcl/unx/generic/print/genpspgraphics.cxx | 1 | ||||
-rw-r--r-- | vcl/win/gdi/winlayout.cxx | 1 |
13 files changed, 16 insertions, 26 deletions
diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx index 3fa9d2167d27..6c499307a7f1 100644 --- a/include/vcl/outdev.hxx +++ b/include/vcl/outdev.hxx @@ -1155,7 +1155,7 @@ public: sal_Int32 nIndex, sal_Int32 nLen, long nCharExtra, vcl::TextLayoutCache const* = nullptr) const; - std::shared_ptr<vcl::TextLayoutCache> CreateTextLayoutCache(OUString const&) const; + static std::shared_ptr<vcl::TextLayoutCache> CreateTextLayoutCache(OUString const&); protected: SAL_DLLPRIVATE void ImplInitTextLineSize(); diff --git a/include/vcl/vcllayout.hxx b/include/vcl/vcllayout.hxx index 44752b6e4e06..0c32b71d5197 100644 --- a/include/vcl/vcllayout.hxx +++ b/include/vcl/vcllayout.hxx @@ -101,8 +101,6 @@ public: virtual bool GetOutline(basegfx::B2DPolyPolygonVector&) const; bool GetBoundRect(tools::Rectangle&) const; - virtual std::shared_ptr<vcl::TextLayoutCache> - CreateTextLayoutCache(OUString const&) const; virtual const SalLayoutGlyphs* GetGlyphs() const; protected: diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx index 808aae367f94..5fecb743df94 100644 --- a/sc/source/ui/view/output2.cxx +++ b/sc/source/ui/view/output2.cxx @@ -2070,7 +2070,7 @@ tools::Rectangle ScOutputData::LayoutStrings(bool bPixelToLogic, bool bPaint, co if (aDX.size() < nLen) aDX.resize(nLen, 0); - pFmtDevice->GetTextArray(aShort, &aDX[0]); + pFmtDevice->GetTextArray(aShort, aDX.data()); if ( !mpRefDevice->GetConnectMetaFile() || mpRefDevice->GetOutDevType() == OUTDEV_PRINTER ) @@ -2081,7 +2081,7 @@ tools::Rectangle ScOutputData::LayoutStrings(bool bPixelToLogic, bool bPaint, co } if (bPaint) - mpDev->DrawTextArray(aDrawTextPos, aShort, &aDX[0]); + mpDev->DrawTextArray(aDrawTextPos, aShort, aDX.data()); } else { diff --git a/sw/source/core/text/inftxt.cxx b/sw/source/core/text/inftxt.cxx index ab89e4c6f38d..cb3668dbb710 100644 --- a/sw/source/core/text/inftxt.cxx +++ b/sw/source/core/text/inftxt.cxx @@ -1412,7 +1412,7 @@ void SwTextFormatInfo::CtorInitTextFormatInfo( OutputDevice* pRenderContext, SwT // set digit mode to what will be used later to get same results SwDigitModeModifier const m(*m_pRef, LANGUAGE_NONE /*dummy*/); assert(m_pRef->GetDigitLanguage() != LANGUAGE_NONE); - SetCachedVclData(m_pRef->CreateTextLayoutCache(*m_pText)); + SetCachedVclData(OutputDevice::CreateTextLayoutCache(*m_pText)); } Init(); diff --git a/vcl/inc/sallayout.hxx b/vcl/inc/sallayout.hxx index 7e94242b4808..373b8e93695f 100644 --- a/vcl/inc/sallayout.hxx +++ b/vcl/inc/sallayout.hxx @@ -169,7 +169,7 @@ public: void AdjustLayout(ImplLayoutArgs&) final override; bool LayoutText(ImplLayoutArgs&, const SalLayoutGlyphs*) final override; void DrawText(SalGraphics&) const final override; - std::shared_ptr<vcl::TextLayoutCache> CreateTextLayoutCache(OUString const&) const final override; + static std::shared_ptr<vcl::TextLayoutCache> CreateTextLayoutCache(OUString const&); const SalLayoutGlyphs* GetGlyphs() const final override; bool IsKashidaPosValid(int nCharPos) const final override; diff --git a/vcl/qt5/Qt5Graphics_Text.cxx b/vcl/qt5/Qt5Graphics_Text.cxx index 53f12b8b4401..87bdb054655f 100644 --- a/vcl/qt5/Qt5Graphics_Text.cxx +++ b/vcl/qt5/Qt5Graphics_Text.cxx @@ -187,6 +187,7 @@ public: std::unique_ptr<GenericSalLayout> Qt5Graphics::GetTextLayout(int nFallbackLevel) { + assert(m_pTextStyle[nFallbackLevel]); if (!m_pTextStyle[nFallbackLevel]) return nullptr; return o3tl::make_unique<Qt5CommonSalLayout>(*m_pTextStyle[nFallbackLevel]); diff --git a/vcl/quartz/salgdi.cxx b/vcl/quartz/salgdi.cxx index b17c17e3c676..8a7a69890cd5 100644 --- a/vcl/quartz/salgdi.cxx +++ b/vcl/quartz/salgdi.cxx @@ -508,6 +508,7 @@ void AquaSalGraphics::SetFont(LogicalFontInstance* pReqFont, int nFallbackLevel) std::unique_ptr<GenericSalLayout> AquaSalGraphics::GetTextLayout(int nFallbackLevel) { + assert(mpTextStyle[nFallbackLevel]); if (!mpTextStyle[nFallbackLevel]) return nullptr; return o3tl::make_unique<GenericSalLayout>(*mpTextStyle[nFallbackLevel]); diff --git a/vcl/source/gdi/CommonSalLayout.cxx b/vcl/source/gdi/CommonSalLayout.cxx index 291178af2c6e..fad1000d880f 100644 --- a/vcl/source/gdi/CommonSalLayout.cxx +++ b/vcl/source/gdi/CommonSalLayout.cxx @@ -164,7 +164,7 @@ namespace { } // namespace -std::shared_ptr<vcl::TextLayoutCache> GenericSalLayout::CreateTextLayoutCache(OUString const& rString) const +std::shared_ptr<vcl::TextLayoutCache> GenericSalLayout::CreateTextLayoutCache(OUString const& rString) { return std::make_shared<vcl::TextLayoutCache>(rString.getStr(), rString.getLength()); } @@ -409,9 +409,9 @@ bool GenericSalLayout::LayoutText(ImplLayoutArgs& rArgs, const SalLayoutGlyphs* { hb_buffer_clear_contents(pHbBuffer); - int nMinRunPos = aSubRun.mnMin; - int nEndRunPos = aSubRun.mnEnd; - int nRunLen = nEndRunPos - nMinRunPos; + const int nMinRunPos = aSubRun.mnMin; + const int nEndRunPos = aSubRun.mnEnd; + const int nRunLen = nEndRunPos - nMinRunPos; OString sLanguage = msLanguage; if (sLanguage.isEmpty()) @@ -637,7 +637,6 @@ void GenericSalLayout::ApplyDXArray(const ImplLayoutArgs& rArgs) pNewCharWidths[i] = rArgs.mpDXArray[i] - rArgs.mpDXArray[i - 1]; } - bool bKashidaJustify = false; DeviceCoordinate nKashidaWidth = 0; hb_codepoint_t nKashidaIndex = 0; diff --git a/vcl/source/gdi/sallayout.cxx b/vcl/source/gdi/sallayout.cxx index aad45b39e73e..e6ef73d28882 100644 --- a/vcl/source/gdi/sallayout.cxx +++ b/vcl/source/gdi/sallayout.cxx @@ -1574,12 +1574,6 @@ bool MultiSalLayout::IsKashidaPosValid(int nCharPos) const return bValid; } -std::shared_ptr<vcl::TextLayoutCache> SalLayout::CreateTextLayoutCache( - OUString const&) const -{ - return nullptr; // by default, nothing to cache -} - const SalLayoutGlyphs* SalLayout::GetGlyphs() const { // No access to the glyphs by default. diff --git a/vcl/source/outdev/text.cxx b/vcl/source/outdev/text.cxx index 2082ce74fe17..054c92d068e8 100644 --- a/vcl/source/outdev/text.cxx +++ b/vcl/source/outdev/text.cxx @@ -1346,15 +1346,9 @@ std::unique_ptr<SalLayout> OutputDevice::ImplLayout(const OUString& rOrigStr, } std::shared_ptr<vcl::TextLayoutCache> OutputDevice::CreateTextLayoutCache( - OUString const& rString) const + OUString const& rString) { - if (!mpGraphics) // can happen in e.g Insert Index/Table dialog - return nullptr; - - std::unique_ptr<GenericSalLayout> pSalLayout = mpGraphics->GetTextLayout(0); - if (!pSalLayout) - return nullptr; - return pSalLayout->CreateTextLayoutCache(rString); + return GenericSalLayout::CreateTextLayoutCache(rString); } bool OutputDevice::GetTextIsRTL( const OUString& rString, sal_Int32 nIndex, sal_Int32 nLen ) const diff --git a/vcl/unx/generic/gdi/cairotextrender.cxx b/vcl/unx/generic/gdi/cairotextrender.cxx index bac446d76dbe..30ec4d19f7e0 100644 --- a/vcl/unx/generic/gdi/cairotextrender.cxx +++ b/vcl/unx/generic/gdi/cairotextrender.cxx @@ -444,6 +444,7 @@ void CairoTextRender::GetFontMetric( ImplFontMetricDataRef& rxFontMetric, int nF std::unique_ptr<GenericSalLayout> CairoTextRender::GetTextLayout(int nFallbackLevel) { + assert(mpFreetypeFont[nFallbackLevel]); if (!mpFreetypeFont[nFallbackLevel]) return nullptr; return o3tl::make_unique<GenericSalLayout>(*mpFreetypeFont[nFallbackLevel]->GetFontInstance()); diff --git a/vcl/unx/generic/print/genpspgraphics.cxx b/vcl/unx/generic/print/genpspgraphics.cxx index bb27e1efcf2f..59f62c00c57a 100644 --- a/vcl/unx/generic/print/genpspgraphics.cxx +++ b/vcl/unx/generic/print/genpspgraphics.cxx @@ -735,6 +735,7 @@ void GenPspGraphics::GetFontMetric(ImplFontMetricDataRef& rxFontMetric, int nFal std::unique_ptr<GenericSalLayout> GenPspGraphics::GetTextLayout(int nFallbackLevel) { + assert(m_pFreetypeFont[nFallbackLevel]); if (!m_pFreetypeFont[nFallbackLevel]) return nullptr; return o3tl::make_unique<PspSalLayout>(*m_pPrinterGfx, *m_pFreetypeFont[nFallbackLevel]); diff --git a/vcl/win/gdi/winlayout.cxx b/vcl/win/gdi/winlayout.cxx index 35ceee40ca2e..4ae496f2d5f4 100644 --- a/vcl/win/gdi/winlayout.cxx +++ b/vcl/win/gdi/winlayout.cxx @@ -288,6 +288,7 @@ bool ExTextOutRenderer::operator ()(GenericSalLayout const &rLayout, std::unique_ptr<GenericSalLayout> WinSalGraphics::GetTextLayout(int nFallbackLevel) { + assert(mpWinFontEntry[nFallbackLevel]); if (!mpWinFontEntry[nFallbackLevel]) return nullptr; |