Status Update
Comments
ti...@google.com <ti...@google.com> #2
Nader, curious whether there's any update on the ability to retarget canvases. I'd love to have this ability for shared element. :)
jd...@google.com <jd...@google.com> #3
Hey Nader, is there anything we can do to help ship a first experimental version of this API? We are starting a quite big rearchitecture of the SystemUI container codebase (see
nj...@google.com <nj...@google.com> #4
Hey Jordan thanks for reaching out, we are in the middle of stabilizing the Android U release, afterwards this feature request is a #1 priority. I don't think there is a feasible workaround in the meantime.
ap...@google.com <ap...@google.com> #5
Branch: androidx-main
commit ec2a714b1eb8a55e8a2afc4a3b965c071a01590b
Author: Nader Jawad <njawad@google.com>
Date: Fri May 26 11:34:16 2023
Add support for DrawScope canvas retargeting
Relnote: "Updated DrawScope api to introduce
the ability to retarget rendering into a different
canvas with alternative density/layoutdirection and
size.
Updated DrawContext to support configuration of
density and layout direction as well as making
the canvas configurable."
Fixes: 225408150
Test: Added test to DrawScopeTest
Change-Id: Ie1f9b83f0486bdaa9a159084625c79d312d7e013
M compose/ui/ui-graphics/api/current.txt
M compose/ui/ui-graphics/api/restricted_current.txt
M compose/ui/ui-graphics/samples/src/main/java/androidx/compose/ui/graphics/samples/DrawScopeSample.kt
M compose/ui/ui-graphics/src/androidAndroidTest/kotlin/androidx/compose/ui/graphics/drawscope/DrawScopeTest.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/CanvasDrawScope.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawContext.kt
M compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/drawscope/DrawScope.kt
ap...@google.com <ap...@google.com> #6
Branch: androidx-main
commit f60a1149f00d6cc5972e9bd4057eb4a15505b468
Author: Nader Jawad <njawad@google.com>
Date: Wed May 31 16:19:53 2023
Update DrawScope sample with explaination
of hardware accelerated rendering support
Added note regarding hardware accelerated
drawing support for Canvas#drawPicture
Bug: 225408150
Test: Builds
Change-Id: I8e929eecf38ed01f45dcffd33139c1baf5a1917a
M compose/ui/ui-graphics/samples/src/main/java/androidx/compose/ui/graphics/samples/DrawScopeSample.kt
pr...@google.com <pr...@google.com> #7
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.ui:ui-graphics:1.6.0-alpha01
androidx.compose.ui:ui-graphics-android:1.6.0-alpha01
Description
We need to introduce the ability to retarget a given DrawScope to render into a separate canvas. This is useful in situations where we want to create a "GhostView" in some circumstances (ex. drag and drop) as well as shared element transitions that require drawing the composition hierarchy at a specific instance then redrawing it.
Additionally this would allow us to introduce some post processing on the RenderNode to either draw the same content several times more efficiently with a rasterization layer or as input to other visual effects (ex. blur).