diff options
author | 2020-12-17 11:06:03 -0500 | |
---|---|---|
committer | 2021-01-08 12:47:31 +0000 | |
commit | df301aaa540ebe6c21b98a7cb5cce6d39101d0c7 (patch) | |
tree | 85cf5afc5b7a6797f0248432125a8f20f6a5369a /libs/hwui/SkiaCanvas.cpp | |
parent | fa2a82b01dd316d3aa60a4e10dd8de0e09b087fc (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.cpp | 12 |
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 |