vcl/inc/skia/gdiimpl.hxx | 2 ++ vcl/skia/gdiimpl.cxx | 20 +++++++++++--------- 2 files changed, 13 insertions(+), 9 deletions(-)
New commits: commit 31ed4055e2a6b4fb99fb91dc76d37e11cca27232 Author: Tomaž Vajngerl <[email protected]> AuthorDate: Thu Oct 24 12:50:45 2019 +0200 Commit: Tomaž Vajngerl <[email protected]> CommitDate: Thu Oct 24 12:52:23 2019 +0200 skia: drawAlphaRect and drawRect use common code Change-Id: Ib7fc850d024b1fc7ec0ab933842bf1868b70a6d2 diff --git a/vcl/inc/skia/gdiimpl.hxx b/vcl/inc/skia/gdiimpl.hxx index d0cd0dc2d52b..a5036fbb3075 100644 --- a/vcl/inc/skia/gdiimpl.hxx +++ b/vcl/inc/skia/gdiimpl.hxx @@ -206,6 +206,8 @@ protected: void checkSurface(); void resetSurface(); + void privateDrawAlphaRect(long nX, long nY, long nWidth, long nHeight, double nTransparency); + void setProvider(SalGeometryProvider* provider) { mProvider = provider; } bool isOffscreen() const { return mProvider == nullptr || mProvider->IsOffScreen(); } diff --git a/vcl/skia/gdiimpl.cxx b/vcl/skia/gdiimpl.cxx index 5fd44115cb44..24dbcab59e50 100644 --- a/vcl/skia/gdiimpl.cxx +++ b/vcl/skia/gdiimpl.cxx @@ -337,26 +337,32 @@ void SkiaSalGraphicsImpl::drawLine(long nX1, long nY1, long nX2, long nY2) postDraw(); } -void SkiaSalGraphicsImpl::drawRect(long nX, long nY, long nWidth, long nHeight) +void SkiaSalGraphicsImpl::privateDrawAlphaRect(long nX, long nY, long nWidth, long nHeight, + double fTransparency) { preDraw(); SkCanvas* canvas = mSurface->getCanvas(); SkPaint paint; if (mFillColor != SALCOLOR_NONE) { - paint.setColor(toSkColor(mFillColor)); + paint.setColor(toSkColorWithTransparency(mFillColor, fTransparency)); paint.setStyle(SkPaint::kFill_Style); canvas->drawIRect(SkIRect::MakeXYWH(nX, nY, nWidth, nHeight), paint); } if (mLineColor != SALCOLOR_NONE) { - paint.setColor(toSkColor(mLineColor)); + paint.setColor(toSkColorWithTransparency(mLineColor, fTransparency)); paint.setStyle(SkPaint::kStroke_Style); canvas->drawIRect(SkIRect::MakeXYWH(nX, nY, nWidth - 1, nHeight - 1), paint); } postDraw(); } +void SkiaSalGraphicsImpl::drawRect(long nX, long nY, long nWidth, long nHeight) +{ + privateDrawAlphaRect(nX, nY, nWidth, nHeight, 0.0); +} + void SkiaSalGraphicsImpl::drawPolyLine(sal_uInt32 nPoints, const SalPoint* pPtAry) { basegfx::B2DPolygon aPolygon; @@ -834,12 +840,8 @@ bool SkiaSalGraphicsImpl::drawTransformedBitmap(const basegfx::B2DPoint& rNull, bool SkiaSalGraphicsImpl::drawAlphaRect(long nX, long nY, long nWidth, long nHeight, sal_uInt8 nTransparency) { - (void)nX; - (void)nY; - (void)nWidth; - (void)nHeight; - (void)nTransparency; - return false; + privateDrawAlphaRect(nX, nY, nWidth, nHeight, nTransparency / 100.0); + return true; } bool SkiaSalGraphicsImpl::drawGradient(const tools::PolyPolygon& rPolygon, _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
