Remove height functor for shadows and replace with plane equation params
Change-Id: I948eceb2c58dc50468993dba54c209f18e440e48
Reviewed-on: https://skia-review.googlesource.com/15873
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
diff --git a/samplecode/SampleShadowUtils.cpp b/samplecode/SampleShadowUtils.cpp
index f5b6635..6d047be 100755
--- a/samplecode/SampleShadowUtils.cpp
+++ b/samplecode/SampleShadowUtils.cpp
@@ -109,7 +109,7 @@
}
void drawShadowedPath(SkCanvas* canvas, const SkPath& path,
- std::function<SkScalar(SkScalar, SkScalar)> zFunc,
+ const SkPoint3& zPlaneParams,
const SkPaint& paint, SkScalar ambientAlpha,
const SkPoint3& lightPos, SkScalar lightWidth, SkScalar spotAlpha,
uint32_t flags) {
@@ -130,10 +130,10 @@
// zValue,
// lightPos, lightWidth,
// ambientAlpha, spotAlpha, SK_ColorBLACK, flags);
- SkShadowUtils::DrawUncachedShadow(canvas, path, zFunc,
+ SkShadowUtils::DrawUncachedShadow(canvas, path, zPlaneParams,
lightPos, lightWidth,
ambientAlpha, 0, SK_ColorRED, flags);
- SkShadowUtils::DrawUncachedShadow(canvas, path, zFunc,
+ SkShadowUtils::DrawUncachedShadow(canvas, path, zPlaneParams,
lightPos, lightWidth,
0, spotAlpha, SK_ColorBLUE, flags);
@@ -172,9 +172,7 @@
SkPaint paint;
paint.setColor(SK_ColorGREEN);
paint.setAntiAlias(true);
- SkScalar zValue = SkTMax(1.0f, kHeight + fZDelta);
- std::function<SkScalar(SkScalar, SkScalar)> zFunc =
- [zValue](SkScalar, SkScalar) { return zValue; };
+ SkPoint3 zPlaneParams = SkPoint3::Make(0, 0, SkTMax(1.0f, kHeight + fZDelta));
for (auto& m : matrices) {
for (auto flags : { kNone_ShadowFlag, kTransparentOccluder_ShadowFlag }) {
for (const auto& path : fPaths) {
@@ -192,8 +190,8 @@
canvas->save();
canvas->concat(m);
- drawShadowedPath(canvas, path, zFunc, paint, kAmbientAlpha, kLightPos, kLightR,
- kSpotAlpha, flags);
+ drawShadowedPath(canvas, path, zPlaneParams, paint, kAmbientAlpha, kLightPos,
+ kLightR, kSpotAlpha, flags);
canvas->restore();
canvas->translate(dx, 0);