[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-5.3' - 2 commits - vcl/inc vcl/win

Andras Timar andras.timar at collabora.com
Thu Sep 28 19:36:22 UTC 2017


 vcl/inc/win/winlayout.hxx |   14 --------
 vcl/win/gdi/winlayout.cxx |   76 ++--------------------------------------------
 2 files changed, 4 insertions(+), 86 deletions(-)

New commits:
commit c8c26b466f28222618b2edae15d66eb7ad020e67
Author: Andras Timar <andras.timar at collabora.com>
Date:   Thu Sep 28 21:35:51 2017 +0200

    Revert "tdf#112486 Do not force GDI in no OpenGL"
    
    This reverts commit b62fd70ad353da26c74d993bef8d884c2b3a73b7.

diff --git a/vcl/win/gdi/winlayout.cxx b/vcl/win/gdi/winlayout.cxx
index f555d86325f2..18c17b02abc2 100644
--- a/vcl/win/gdi/winlayout.cxx
+++ b/vcl/win/gdi/winlayout.cxx
@@ -3873,7 +3873,7 @@ void WinSalGraphics::DrawSalLayout(const CommonSalLayout& rLayout)
     if (!bUseOpenGL)
     {
         // no OpenGL, just classic rendering
-        DrawTextLayout(rLayout, hDC, false);
+        DrawTextLayout(rLayout, hDC, !bForceGDI);
     }
     else if (!bForceGDI && CacheGlyphs(rLayout) &&
              DrawCachedGlyphs(rLayout))
commit 3e572c5210a7202ad2933ae293e079fbdf57943e
Author: Andras Timar <andras.timar at collabora.com>
Date:   Thu Sep 28 21:35:31 2017 +0200

    Revert "tdf#106990 set cleartype setting / force to use GDI render mode"
    
    This reverts commit a3c9704f4c0cf2a0c6a4982bfb8124af63a506b0.

diff --git a/vcl/inc/win/winlayout.hxx b/vcl/inc/win/winlayout.hxx
index 61ecfdf8c8d8..d733e185d59d 100644
--- a/vcl/inc/win/winlayout.hxx
+++ b/vcl/inc/win/winlayout.hxx
@@ -432,13 +432,6 @@ public:
         Point* pPos, int* pGetNextGlypInfo) override;
 };
 
-enum class D2DTextAntiAliasMode
-{
-    Default,
-    ClearType,
-    AntiAliased,
-};
-
 class D2DWriteTextOutRenderer : public TextOutRenderer
 {
     typedef HRESULT(WINAPI *pD2D1CreateFactory_t)(D2D1_FACTORY_TYPE,
@@ -488,11 +481,6 @@ public:
 
     inline bool Ready() const { return mpGdiInterop && mpRT; }
 
-    void applyTextAntiAliasMode();
-    void setTextAntiAliasMode(D2DTextAntiAliasMode eMode)
-    {
-        meTextAntiAliasMode = eMode;
-    }
 private:
     static void CleanupModules();
 
@@ -512,8 +500,6 @@ private:
     IDWriteFontFace * mpFontFace;
     float             mlfEmHeight;
     HDC               mhDC;
-    D2DTextAntiAliasMode meTextAntiAliasMode;
-    IDWriteRenderingParams* mpRenderingParameters;
 };
 
 #endif // INCLUDED_VCL_INC_WIN_WINLAYOUT_HXX
diff --git a/vcl/win/gdi/winlayout.cxx b/vcl/win/gdi/winlayout.cxx
index 7b363ef83689..f555d86325f2 100644
--- a/vcl/win/gdi/winlayout.cxx
+++ b/vcl/win/gdi/winlayout.cxx
@@ -97,8 +97,6 @@ bool WinFontInstance::CacheGlyphToAtlas(bool bRealGlyphIndices, HDC hDC, HFONT h
     if (!pTxt)
         return false;
 
-    pTxt->setTextAntiAliasMode(D2DTextAntiAliasMode::AntiAliased);
-
     if (!pTxt->BindFont(aHDC.get()))
     {
         SAL_WARN("vcl.gdi", "Binding of font failed. The font might not be supported by Direct Write.");
@@ -214,7 +212,6 @@ bool WinFontInstance::CacheGlyphToAtlas(bool bRealGlyphIndices, HDC hDC, HFONT h
     };
 
     pRT->BeginDraw();
-    pTxt->applyTextAntiAliasMode();
     pRT->DrawGlyphRun(baseline, &glyphs, pBrush);
     HRESULT hResult = pRT->EndDraw();
 
@@ -3157,47 +3154,6 @@ bool ExTextOutRenderer::operator ()(SalLayout const &rLayout, HDC hDC,
     }
     return (pRectToErase && nGlyphs >= 1);
 }
-namespace
-{
-
-D2DTextAntiAliasMode lclGetSystemTextAntiAliasMode()
-{
-    D2DTextAntiAliasMode eMode = D2DTextAntiAliasMode::Default;
-
-    BOOL bFontSmoothing;
-    if (!SystemParametersInfo(SPI_GETFONTSMOOTHING, 0, &bFontSmoothing, 0))
-        return eMode;
-
-    if (bFontSmoothing)
-    {
-        UINT nType;
-        if (!SystemParametersInfo(SPI_GETFONTSMOOTHINGTYPE, 0, &nType, 0))
-            return eMode;
-
-        eMode = (nType == FE_FONTSMOOTHINGCLEARTYPE) ? D2DTextAntiAliasMode::ClearType
-                                                     : D2DTextAntiAliasMode::AntiAliased;
-    }
-
-    return eMode;
-}
-
-IDWriteRenderingParams* lclSetRenderingMode(IDWriteFactory* pDWriteFactory, DWRITE_RENDERING_MODE eRenderingMode)
-{
-    IDWriteRenderingParams* pDefaultParameters = nullptr;
-    pDWriteFactory->CreateRenderingParams(&pDefaultParameters);
-
-    IDWriteRenderingParams* pParameters = nullptr;
-    pDWriteFactory->CreateCustomRenderingParams(
-        pDefaultParameters->GetGamma(),
-        pDefaultParameters->GetEnhancedContrast(),
-        pDefaultParameters->GetClearTypeLevel(),
-        pDefaultParameters->GetPixelGeometry(),
-        eRenderingMode,
-        &pParameters);
-    return pParameters;
-}
-
-} // end anonymous namespace
 
 D2DWriteTextOutRenderer::D2DWriteTextOutRenderer()
     : mpD2DFactory(nullptr),
@@ -3205,12 +3161,11 @@ D2DWriteTextOutRenderer::D2DWriteTextOutRenderer()
     mpGdiInterop(nullptr),
     mpRT(nullptr),
     mRTProps(D2D1::RenderTargetProperties(D2D1_RENDER_TARGET_TYPE_DEFAULT,
-                                          D2D1::PixelFormat(DXGI_FORMAT_B8G8R8A8_UNORM, D2D1_ALPHA_MODE_PREMULTIPLIED),
-                                          0, 0)),
+    D2D1::PixelFormat(DXGI_FORMAT_B8G8R8A8_UNORM, D2D1_ALPHA_MODE_PREMULTIPLIED),
+    0, 0)),
     mpFontFace(nullptr),
     mlfEmHeight(0.0f),
-    mhDC(nullptr),
-    meTextAntiAliasMode(D2DTextAntiAliasMode::Default)
+    mhDC(nullptr)
 {
     HRESULT hr = S_OK;
     hr = D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, __uuidof(ID2D1Factory), nullptr, reinterpret_cast<void **>(&mpD2DFactory));
@@ -3220,8 +3175,6 @@ D2DWriteTextOutRenderer::D2DWriteTextOutRenderer()
         hr = mpDWriteFactory->GetGdiInterop(&mpGdiInterop);
         hr = CreateRenderTarget();
     }
-    meTextAntiAliasMode = lclGetSystemTextAntiAliasMode();
-    mpRenderingParameters = lclSetRenderingMode(mpDWriteFactory, DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC);
 }
 
 D2DWriteTextOutRenderer::~D2DWriteTextOutRenderer()
@@ -3237,26 +3190,6 @@ D2DWriteTextOutRenderer::~D2DWriteTextOutRenderer()
 
     CleanupModules();
 }
-void D2DWriteTextOutRenderer::applyTextAntiAliasMode()
-{
-    D2D1_TEXT_ANTIALIAS_MODE eMode = D2D1_TEXT_ANTIALIAS_MODE_DEFAULT;
-    switch (meTextAntiAliasMode)
-    {
-        case D2DTextAntiAliasMode::Default:
-            eMode = D2D1_TEXT_ANTIALIAS_MODE_ALIASED;
-            break;
-        case D2DTextAntiAliasMode::AntiAliased:
-            eMode = D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE;
-            break;
-        case D2DTextAntiAliasMode::ClearType:
-            eMode = D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE;
-            break;
-        default:
-            break;
-    }
-    mpRT->SetTextAntialiasMode(eMode);
-    mpRT->SetTextRenderingParams(mpRenderingParameters);
-}
 
 bool D2DWriteTextOutRenderer::operator ()(SalLayout const &rLayout, HDC hDC,
     const Rectangle* pRectToErase,
@@ -3304,7 +3237,6 @@ bool D2DWriteTextOutRenderer::operator ()(SalLayout const &rLayout, HDC hDC,
         }
 
         mpRT->BeginDraw();
-        applyTextAntiAliasMode();
 
         D2D1_MATRIX_3X2_F aOrigTrans, aRotTrans;
         mpRT->GetTransform(&aOrigTrans);


More information about the Libreoffice-commits mailing list