summaryrefslogtreecommitdiff
path: root/libs/hwui/SkiaCanvas.cpp
diff options
context:
space:
mode:
author Derek Sollenberger <djsollen@google.com> 2020-12-17 11:06:03 -0500
committer Derek Sollenberger <djsollen@google.com> 2021-01-08 12:47:31 +0000
commitdf301aaa540ebe6c21b98a7cb5cce6d39101d0c7 (patch)
tree85cf5afc5b7a6797f0248432125a8f20f6a5369a /libs/hwui/SkiaCanvas.cpp
parentfa2a82b01dd316d3aa60a4e10dd8de0e09b087fc (diff)
Initial framework needed to draw circle with RuntimeShader.
This also adds the ability for RenderThread to animate a few predefined shader uniforms. Bug: 177051137 Test: demo in ag/13296877 Change-Id: I6e58e671ad1242a07ecb1cf4cdb48031f85c2088
Diffstat (limited to 'libs/hwui/SkiaCanvas.cpp')
-rw-r--r--libs/hwui/SkiaCanvas.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/hwui/SkiaCanvas.cpp b/libs/hwui/SkiaCanvas.cpp
index acb74f415f41..815ffdeade45 100644
--- a/libs/hwui/SkiaCanvas.cpp
+++ b/libs/hwui/SkiaCanvas.cpp
@@ -814,6 +814,18 @@ void SkiaCanvas::drawCircle(uirenderer::CanvasPropertyPrimitive* x,
mCanvas->drawDrawable(drawable.get());
}
+void SkiaCanvas::drawRipple(uirenderer::CanvasPropertyPrimitive* x,
+ uirenderer::CanvasPropertyPrimitive* y,
+ uirenderer::CanvasPropertyPrimitive* radius,
+ uirenderer::CanvasPropertyPaint* paint,
+ uirenderer::CanvasPropertyPrimitive* progress,
+ sk_sp<SkRuntimeEffect> runtimeEffect) {
+ sk_sp<uirenderer::skiapipeline::AnimatedRipple> drawable(
+ new uirenderer::skiapipeline::AnimatedRipple(x, y, radius, paint, progress,
+ runtimeEffect));
+ mCanvas->drawDrawable(drawable.get());
+}
+
void SkiaCanvas::drawPicture(const SkPicture& picture) {
// TODO: Change to mCanvas->drawPicture()? SkCanvas::drawPicture seems to be
// where the logic is for playback vs. ref picture. Using picture.playback here