diff --git a/tools/layoutlib/bridge/src/android/graphics/drawable/VectorDrawable_Delegate.java b/tools/layoutlib/bridge/src/android/graphics/drawable/VectorDrawable_Delegate.java index 8fc2c41223ee4..2b969cc4d8496 100644 --- a/tools/layoutlib/bridge/src/android/graphics/drawable/VectorDrawable_Delegate.java +++ b/tools/layoutlib/bridge/src/android/graphics/drawable/VectorDrawable_Delegate.java @@ -95,6 +95,14 @@ public class VectorDrawable_Delegate { return sPathManager.addNewDelegate(new VPathRenderer_Delegate(rootGroup)); } + @LayoutlibDelegate + static long nCreateTreeFromCopy(long rendererToCopyPtr, long rootGroupPtr) { + VGroup_Delegate rootGroup = VNativeObject.getDelegate(rootGroupPtr); + VPathRenderer_Delegate rendererToCopy = VNativeObject.getDelegate(rendererToCopyPtr); + return sPathManager.addNewDelegate(new VPathRenderer_Delegate(rendererToCopy, + rootGroup)); + } + @LayoutlibDelegate static void nSetRendererViewportSize(long rendererPtr, float viewportWidth, float viewportHeight) { @@ -1035,6 +1043,14 @@ public class VectorDrawable_Delegate { mRenderPath = new Path(); } + private VPathRenderer_Delegate(VPathRenderer_Delegate rendererToCopy, + VGroup_Delegate rootGroup) { + this(rootGroup); + mViewportWidth = rendererToCopy.mViewportWidth; + mViewportHeight = rendererToCopy.mViewportHeight; + mRootAlpha = rendererToCopy.mRootAlpha; + } + private float getRootAlpha() { return mRootAlpha; }