[Libreoffice-commits] core.git: Branch 'feature/skia' - 2 commits - vcl/inc vcl/skia

Luboš Luňák (via logerrit) logerrit at kemper.freedesktop.org
Thu Oct 31 11:59:15 UTC 2019


 vcl/inc/skia/gdiimpl.hxx |    3 ++-
 vcl/skia/gdiimpl.cxx     |    7 +++++--
 vcl/skia/win/gdiimpl.cxx |    2 +-
 3 files changed, 8 insertions(+), 4 deletions(-)

New commits:
commit 4ed7b95f85fbd7307783d6fb53134ee56f9fda0a
Author:     Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Thu Oct 31 12:53:54 2019 +0100
Commit:     Luboš Luňák <l.lunak at collabora.com>
CommitDate: Thu Oct 31 12:57:05 2019 +0100

    make Skia use AA when asked for
    
    This improves the quality of e.g. the logo in the about dialog.
    
    Change-Id: Ie42ecc466068f979e5982d91616a8a2f80e26319

diff --git a/vcl/inc/skia/gdiimpl.hxx b/vcl/inc/skia/gdiimpl.hxx
index 8190115a0714..828f7d916aaf 100644
--- a/vcl/inc/skia/gdiimpl.hxx
+++ b/vcl/inc/skia/gdiimpl.hxx
@@ -207,7 +207,8 @@ protected:
     void recreateSurface();
     void destroySurface();
 
-    void privateDrawAlphaRect(long nX, long nY, long nWidth, long nHeight, double nTransparency);
+    void privateDrawAlphaRect(long nX, long nY, long nWidth, long nHeight, double nTransparency,
+                              bool blockAA = false);
 
     void setProvider(SalGeometryProvider* provider) { mProvider = provider; }
 
diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx
index 8f1447c0d9ac..b375b39d1c28 100644
--- a/vcl/skia/gdiimpl.cxx
+++ b/vcl/skia/gdiimpl.cxx
@@ -361,16 +361,18 @@ void SkiaSalGraphicsImpl::drawLine(long nX1, long nY1, long nX2, long nY2)
     SkCanvas* canvas = mSurface->getCanvas();
     SkPaint paint;
     paint.setColor(toSkColor(mLineColor));
+    paint.setAntiAlias(mParent.getAntiAliasB2DDraw());
     canvas->drawLine(nX1, nY1, nX2, nY2, paint);
     postDraw();
 }
 
 void SkiaSalGraphicsImpl::privateDrawAlphaRect(long nX, long nY, long nWidth, long nHeight,
-                                               double fTransparency)
+                                               double fTransparency, bool blockAA)
 {
     preDraw();
     SkCanvas* canvas = mSurface->getCanvas();
     SkPaint paint;
+    paint.setAntiAlias(!blockAA && mParent.getAntiAliasB2DDraw());
     if (mFillColor != SALCOLOR_NONE)
     {
         paint.setColor(toSkColorWithTransparency(mFillColor, fTransparency));
@@ -388,7 +390,7 @@ void SkiaSalGraphicsImpl::privateDrawAlphaRect(long nX, long nY, long nWidth, lo
 
 void SkiaSalGraphicsImpl::drawRect(long nX, long nY, long nWidth, long nHeight)
 {
-    privateDrawAlphaRect(nX, nY, nWidth, nHeight, 0.0);
+    privateDrawAlphaRect(nX, nY, nWidth, nHeight, 0.0, true);
 }
 
 void SkiaSalGraphicsImpl::drawPolyLine(sal_uInt32 nPoints, const SalPoint* pPtAry)
@@ -456,6 +458,7 @@ bool SkiaSalGraphicsImpl::drawPolyPolygon(const basegfx::B2DHomMatrix& rObjectTo
     aPath.setFillType(SkPath::kEvenOdd_FillType);
 
     SkPaint aPaint;
+    aPaint.setAntiAlias(mParent.getAntiAliasB2DDraw());
     if (mFillColor != SALCOLOR_NONE)
     {
         aPaint.setColor(toSkColorWithTransparency(mFillColor, fTransparency));
commit fe7a4cdaeada9f053b1f618a436de724c860f825
Author:     Luboš Luňák <l.lunak at collabora.com>
AuthorDate: Wed Oct 30 16:48:56 2019 +0100
Commit:     Luboš Luňák <l.lunak at collabora.com>
CommitDate: Thu Oct 31 12:57:05 2019 +0100

    mark a local function static
    
    Change-Id: I3856aa76e0280f4798893e02efd2b458cd95e65f

diff --git a/vcl/skia/win/gdiimpl.cxx b/vcl/skia/win/gdiimpl.cxx
index ac1ff016d3c4..4640e3b57897 100644
--- a/vcl/skia/win/gdiimpl.cxx
+++ b/vcl/skia/win/gdiimpl.cxx
@@ -125,7 +125,7 @@ void WinSkiaSalGraphicsImpl::PreDrawText() { preDraw(); }
 
 void WinSkiaSalGraphicsImpl::PostDrawText() { postDraw(); }
 
-SkColor toSkColor(Color color)
+static SkColor toSkColor(Color color)
 {
     return SkColorSetARGB(255 - color.GetTransparency(), color.GetRed(), color.GetGreen(),
                           color.GetBlue());


More information about the Libreoffice-commits mailing list