diff options
author | Jim Van Verth <jvanverth@google.com> | 2017-05-16 15:01:43 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-05-17 02:29:39 +0000 |
commit | 9392f569ccb9f52faf39db6bec22553e5abc7cc1 (patch) | |
tree | 10d44f527f6ccf25e40a735e2f2de3beb080cd90 /samplecode | |
parent | d5a16911bb0da6b03daee6e9dd896429c7f8e8a1 (diff) |
Fix shadow_utils light position for SampleApp tiling
Change-Id: Icddc82a095aa698bdba9004641acdc411392632f
Reviewed-on: https://skia-review.googlesource.com/17044
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'samplecode')
-rwxr-xr-x | samplecode/SampleShadowUtils.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/samplecode/SampleShadowUtils.cpp b/samplecode/SampleShadowUtils.cpp index e3838116f2..e592f97b64 100755 --- a/samplecode/SampleShadowUtils.cpp +++ b/samplecode/SampleShadowUtils.cpp @@ -150,12 +150,15 @@ protected: static constexpr int kW = 800; static constexpr SkScalar kPad = 15.f; - static constexpr SkPoint3 kLightPos = { 250, 400, 500 }; static constexpr SkScalar kLightR = 100.f; static constexpr SkScalar kHeight = 50.f; static constexpr SkScalar kAmbientAlpha = 0.5f; static constexpr SkScalar kSpotAlpha = 0.5f; + // transform light position relative to canvas to handle tiling + SkPoint lightXY = canvas->getTotalMatrix().mapXY(250, 400); + SkPoint3 lightPos = { lightXY.fX, lightXY.fY, 500 }; + canvas->translate(3 * kPad, 3 * kPad); canvas->save(); SkScalar x = 0; @@ -186,7 +189,7 @@ protected: canvas->save(); canvas->concat(m); - drawShadowedPath(canvas, path, zPlaneParams, paint, kAmbientAlpha, kLightPos, + drawShadowedPath(canvas, path, zPlaneParams, paint, kAmbientAlpha, lightPos, kLightR, kSpotAlpha, flags); canvas->restore(); @@ -204,7 +207,7 @@ protected: SkPaint paint; paint.setColor(SK_ColorBLACK); paint.setAntiAlias(true); - canvas->drawCircle(kLightPos.fX, kLightPos.fY, kLightR / 10.f, paint); + canvas->drawCircle(lightPos.fX, lightPos.fY, kLightR / 10.f, paint); canvas->restore(); } } |