From 8f7dc9f6caabe798723d9f17aff371121369b846 Mon Sep 17 00:00:00 2001 From: Jim Van Verth Date: Thu, 20 Apr 2017 15:48:37 -0400 Subject: Circular shadow fixes for Flutter. * Fix spot shadow placement for SkSpotShadowMaskFilter. * Make sure we don't try to render an oval as a plain RRect due to floating point error. * Use fast path for uncached circles. * Make sure ShadowMaskFilters can handle near-circles. Change-Id: Ia9967a00a6e1c980a1c0a7ba8248f09fde61a3b7 Reviewed-on: https://skia-review.googlesource.com/13969 Reviewed-by: Jim Van Verth Reviewed-by: Robert Phillips Commit-Queue: Jim Van Verth --- samplecode/SampleAndroidShadows.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'samplecode/SampleAndroidShadows.cpp') diff --git a/samplecode/SampleAndroidShadows.cpp b/samplecode/SampleAndroidShadows.cpp index 0c0baaba10..55acd57f09 100644 --- a/samplecode/SampleAndroidShadows.cpp +++ b/samplecode/SampleAndroidShadows.cpp @@ -473,6 +473,7 @@ protected: paint.setAntiAlias(true); SkPoint3 lightPos = fLightPos; + lightPos.fX = canvas->getBaseLayerSize().fWidth * 0.5f; paint.setColor(SK_ColorWHITE); canvas->translate(200, 90); @@ -496,7 +497,7 @@ protected: canvas->translate(-250, 110); lightPos.fX -= 250; lightPos.fY += 110; - zValue = SkTMax(1.0f, 8 + fZDelta); + zValue = SkTMax(1.0f, 12 + fZDelta); zFunc = [zValue](SkScalar, SkScalar) { return zValue; }; this->drawShadowedPath(canvas, fCirclePath, zFunc, paint, kAmbientAlpha, lightPos, kLightWidth, 0.5f); -- cgit v1.2.3