Loading api/current.txt +2 −1 Original line number Diff line number Diff line Loading @@ -14860,10 +14860,11 @@ package android.graphics { method public void offset(int, int); method public void set(@NonNull android.graphics.Outline); method public void setAlpha(@FloatRange(from=0.0, to=1.0) float); method public void setConvexPath(@NonNull android.graphics.Path); method @Deprecated public void setConvexPath(@NonNull android.graphics.Path); method public void setEmpty(); method public void setOval(int, int, int, int); method public void setOval(@NonNull android.graphics.Rect); method public void setPath(@NonNull android.graphics.Path); method public void setRect(int, int, int, int); method public void setRect(@NonNull android.graphics.Rect); method public void setRoundRect(int, int, int, int, float); core/jni/android_view_RenderNode.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -151,11 +151,11 @@ static jboolean android_view_RenderNode_setOutlineRoundRect(CRITICAL_JNI_PARAMS_ return true; } static jboolean android_view_RenderNode_setOutlineConvexPath(CRITICAL_JNI_PARAMS_COMMA jlong renderNodePtr, static jboolean android_view_RenderNode_setOutlinePath(CRITICAL_JNI_PARAMS_COMMA jlong renderNodePtr, jlong outlinePathPtr, jfloat alpha) { RenderNode* renderNode = reinterpret_cast<RenderNode*>(renderNodePtr); SkPath* outlinePath = reinterpret_cast<SkPath*>(outlinePathPtr); renderNode->mutateStagingProperties().mutableOutline().setConvexPath(outlinePath, alpha); renderNode->mutateStagingProperties().mutableOutline().setPath(outlinePath, alpha); renderNode->setPropertyFieldsDirty(RenderNode::GENERIC); return true; } Loading Loading @@ -684,7 +684,7 @@ static const JNINativeMethod gMethods[] = { { "nSetProjectionReceiver","(JZ)Z", (void*) android_view_RenderNode_setProjectionReceiver }, { "nSetOutlineRoundRect", "(JIIIIFF)Z", (void*) android_view_RenderNode_setOutlineRoundRect }, { "nSetOutlineConvexPath", "(JJF)Z", (void*) android_view_RenderNode_setOutlineConvexPath }, { "nSetOutlinePath", "(JJF)Z", (void*) android_view_RenderNode_setOutlinePath }, { "nSetOutlineEmpty", "(J)Z", (void*) android_view_RenderNode_setOutlineEmpty }, { "nSetOutlineNone", "(J)Z", (void*) android_view_RenderNode_setOutlineNone }, { "nHasShadow", "(J)Z", (void*) android_view_RenderNode_hasShadow }, Loading graphics/java/android/graphics/Outline.java +25 −13 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ public final class Outline { /** @hide */ public static final int MODE_ROUND_RECT = 1; /** @hide */ public static final int MODE_CONVEX_PATH = 2; public static final int MODE_PATH = 2; /** @hide */ @Retention(RetentionPolicy.SOURCE) Loading @@ -51,7 +51,7 @@ public final class Outline { value = { MODE_EMPTY, MODE_ROUND_RECT, MODE_CONVEX_PATH, MODE_PATH, }) public @interface Mode {} Loading @@ -60,7 +60,7 @@ public final class Outline { public int mMode = MODE_EMPTY; /** * Only guaranteed to be non-null when mode == MODE_CONVEX_PATH * Only guaranteed to be non-null when mode == MODE_PATH * * @hide */ Loading Loading @@ -124,7 +124,7 @@ public final class Outline { * @see android.view.View#setClipToOutline(boolean) */ public boolean canClip() { return mMode != MODE_CONVEX_PATH; return mMode != MODE_PATH; } /** Loading Loading @@ -157,7 +157,7 @@ public final class Outline { */ public void set(@NonNull Outline src) { mMode = src.mMode; if (src.mMode == MODE_CONVEX_PATH) { if (src.mMode == MODE_PATH) { if (mPath == null) { mPath = new Path(); } Loading Loading @@ -194,7 +194,7 @@ public final class Outline { return; } if (mMode == MODE_CONVEX_PATH) { if (mMode == MODE_PATH) { // rewind here to avoid thrashing the allocations, but could alternately clear ref mPath.rewind(); } Loading @@ -213,7 +213,7 @@ public final class Outline { /** * Populates {@code outBounds} with the outline bounds, if set, and returns * {@code true}. If no outline bounds are set, or if a path has been set * via {@link #setConvexPath(Path)}, returns {@code false}. * via {@link #setPath(Path)}, returns {@code false}. * * @param outRect the rect to populate with the outline bounds, if set * @return {@code true} if {@code outBounds} was populated with outline Loading @@ -229,7 +229,7 @@ public final class Outline { /** * Returns the rounded rect radius, if set, or a value less than 0 if a path has * been set via {@link #setConvexPath(Path)}. A return value of {@code 0} * been set via {@link #setPath(Path)}. A return value of {@code 0} * indicates a non-rounded rect. * * @return the rounded rect radius, or value < 0 Loading Loading @@ -259,7 +259,7 @@ public final class Outline { mPath.rewind(); } mMode = MODE_CONVEX_PATH; mMode = MODE_PATH; mPath.addOval(left, top, right, bottom, Path.Direction.CW); mRect.setEmpty(); mRadius = RADIUS_UNDEFINED; Loading @@ -279,9 +279,21 @@ public final class Outline { * @param convexPath used to construct the Outline. As of * {@link android.os.Build.VERSION_CODES#Q}, it is no longer required to be * convex. * * @deprecated The path is no longer required to be convex. Use {@link #setPath} instead. */ @Deprecated public void setConvexPath(@NonNull Path convexPath) { if (convexPath.isEmpty()) { setPath(convexPath); } /** * Sets the Outline to a {@link android.graphics.Path path}. * * @param path used to construct the Outline. */ public void setPath(@NonNull Path path) { if (path.isEmpty()) { setEmpty(); return; } Loading @@ -290,8 +302,8 @@ public final class Outline { mPath = new Path(); } mMode = MODE_CONVEX_PATH; mPath.set(convexPath); mMode = MODE_PATH; mPath.set(path); mRect.setEmpty(); mRadius = RADIUS_UNDEFINED; } Loading @@ -302,7 +314,7 @@ public final class Outline { public void offset(int dx, int dy) { if (mMode == MODE_ROUND_RECT) { mRect.offset(dx, dy); } else if (mMode == MODE_CONVEX_PATH) { } else if (mMode == MODE_PATH) { mPath.offset(dx, dy); } } Loading graphics/java/android/graphics/RenderNode.java +3 −3 Original line number Diff line number Diff line Loading @@ -687,8 +687,8 @@ public final class RenderNode { outline.mRect.left, outline.mRect.top, outline.mRect.right, outline.mRect.bottom, outline.mRadius, outline.mAlpha); case Outline.MODE_CONVEX_PATH: return nSetOutlineConvexPath(mNativeRenderNode, outline.mPath.mNativePath, case Outline.MODE_PATH: return nSetOutlinePath(mNativeRenderNode, outline.mPath.mNativePath, outline.mAlpha); } Loading Loading @@ -1620,7 +1620,7 @@ public final class RenderNode { int right, int bottom, float radius, float alpha); @CriticalNative private static native boolean nSetOutlineConvexPath(long renderNode, long nativePath, private static native boolean nSetOutlinePath(long renderNode, long nativePath, float alpha); @CriticalNative Loading graphics/java/android/graphics/drawable/AdaptiveIconDrawable.java +1 −1 Original line number Diff line number Diff line Loading @@ -387,7 +387,7 @@ public class AdaptiveIconDrawable extends Drawable implements Drawable.Callback @Override public void getOutline(@NonNull Outline outline) { outline.setConvexPath(mMask); outline.setPath(mMask); } /** @hide */ Loading Loading
api/current.txt +2 −1 Original line number Diff line number Diff line Loading @@ -14860,10 +14860,11 @@ package android.graphics { method public void offset(int, int); method public void set(@NonNull android.graphics.Outline); method public void setAlpha(@FloatRange(from=0.0, to=1.0) float); method public void setConvexPath(@NonNull android.graphics.Path); method @Deprecated public void setConvexPath(@NonNull android.graphics.Path); method public void setEmpty(); method public void setOval(int, int, int, int); method public void setOval(@NonNull android.graphics.Rect); method public void setPath(@NonNull android.graphics.Path); method public void setRect(int, int, int, int); method public void setRect(@NonNull android.graphics.Rect); method public void setRoundRect(int, int, int, int, float);
core/jni/android_view_RenderNode.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -151,11 +151,11 @@ static jboolean android_view_RenderNode_setOutlineRoundRect(CRITICAL_JNI_PARAMS_ return true; } static jboolean android_view_RenderNode_setOutlineConvexPath(CRITICAL_JNI_PARAMS_COMMA jlong renderNodePtr, static jboolean android_view_RenderNode_setOutlinePath(CRITICAL_JNI_PARAMS_COMMA jlong renderNodePtr, jlong outlinePathPtr, jfloat alpha) { RenderNode* renderNode = reinterpret_cast<RenderNode*>(renderNodePtr); SkPath* outlinePath = reinterpret_cast<SkPath*>(outlinePathPtr); renderNode->mutateStagingProperties().mutableOutline().setConvexPath(outlinePath, alpha); renderNode->mutateStagingProperties().mutableOutline().setPath(outlinePath, alpha); renderNode->setPropertyFieldsDirty(RenderNode::GENERIC); return true; } Loading Loading @@ -684,7 +684,7 @@ static const JNINativeMethod gMethods[] = { { "nSetProjectionReceiver","(JZ)Z", (void*) android_view_RenderNode_setProjectionReceiver }, { "nSetOutlineRoundRect", "(JIIIIFF)Z", (void*) android_view_RenderNode_setOutlineRoundRect }, { "nSetOutlineConvexPath", "(JJF)Z", (void*) android_view_RenderNode_setOutlineConvexPath }, { "nSetOutlinePath", "(JJF)Z", (void*) android_view_RenderNode_setOutlinePath }, { "nSetOutlineEmpty", "(J)Z", (void*) android_view_RenderNode_setOutlineEmpty }, { "nSetOutlineNone", "(J)Z", (void*) android_view_RenderNode_setOutlineNone }, { "nHasShadow", "(J)Z", (void*) android_view_RenderNode_hasShadow }, Loading
graphics/java/android/graphics/Outline.java +25 −13 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ public final class Outline { /** @hide */ public static final int MODE_ROUND_RECT = 1; /** @hide */ public static final int MODE_CONVEX_PATH = 2; public static final int MODE_PATH = 2; /** @hide */ @Retention(RetentionPolicy.SOURCE) Loading @@ -51,7 +51,7 @@ public final class Outline { value = { MODE_EMPTY, MODE_ROUND_RECT, MODE_CONVEX_PATH, MODE_PATH, }) public @interface Mode {} Loading @@ -60,7 +60,7 @@ public final class Outline { public int mMode = MODE_EMPTY; /** * Only guaranteed to be non-null when mode == MODE_CONVEX_PATH * Only guaranteed to be non-null when mode == MODE_PATH * * @hide */ Loading Loading @@ -124,7 +124,7 @@ public final class Outline { * @see android.view.View#setClipToOutline(boolean) */ public boolean canClip() { return mMode != MODE_CONVEX_PATH; return mMode != MODE_PATH; } /** Loading Loading @@ -157,7 +157,7 @@ public final class Outline { */ public void set(@NonNull Outline src) { mMode = src.mMode; if (src.mMode == MODE_CONVEX_PATH) { if (src.mMode == MODE_PATH) { if (mPath == null) { mPath = new Path(); } Loading Loading @@ -194,7 +194,7 @@ public final class Outline { return; } if (mMode == MODE_CONVEX_PATH) { if (mMode == MODE_PATH) { // rewind here to avoid thrashing the allocations, but could alternately clear ref mPath.rewind(); } Loading @@ -213,7 +213,7 @@ public final class Outline { /** * Populates {@code outBounds} with the outline bounds, if set, and returns * {@code true}. If no outline bounds are set, or if a path has been set * via {@link #setConvexPath(Path)}, returns {@code false}. * via {@link #setPath(Path)}, returns {@code false}. * * @param outRect the rect to populate with the outline bounds, if set * @return {@code true} if {@code outBounds} was populated with outline Loading @@ -229,7 +229,7 @@ public final class Outline { /** * Returns the rounded rect radius, if set, or a value less than 0 if a path has * been set via {@link #setConvexPath(Path)}. A return value of {@code 0} * been set via {@link #setPath(Path)}. A return value of {@code 0} * indicates a non-rounded rect. * * @return the rounded rect radius, or value < 0 Loading Loading @@ -259,7 +259,7 @@ public final class Outline { mPath.rewind(); } mMode = MODE_CONVEX_PATH; mMode = MODE_PATH; mPath.addOval(left, top, right, bottom, Path.Direction.CW); mRect.setEmpty(); mRadius = RADIUS_UNDEFINED; Loading @@ -279,9 +279,21 @@ public final class Outline { * @param convexPath used to construct the Outline. As of * {@link android.os.Build.VERSION_CODES#Q}, it is no longer required to be * convex. * * @deprecated The path is no longer required to be convex. Use {@link #setPath} instead. */ @Deprecated public void setConvexPath(@NonNull Path convexPath) { if (convexPath.isEmpty()) { setPath(convexPath); } /** * Sets the Outline to a {@link android.graphics.Path path}. * * @param path used to construct the Outline. */ public void setPath(@NonNull Path path) { if (path.isEmpty()) { setEmpty(); return; } Loading @@ -290,8 +302,8 @@ public final class Outline { mPath = new Path(); } mMode = MODE_CONVEX_PATH; mPath.set(convexPath); mMode = MODE_PATH; mPath.set(path); mRect.setEmpty(); mRadius = RADIUS_UNDEFINED; } Loading @@ -302,7 +314,7 @@ public final class Outline { public void offset(int dx, int dy) { if (mMode == MODE_ROUND_RECT) { mRect.offset(dx, dy); } else if (mMode == MODE_CONVEX_PATH) { } else if (mMode == MODE_PATH) { mPath.offset(dx, dy); } } Loading
graphics/java/android/graphics/RenderNode.java +3 −3 Original line number Diff line number Diff line Loading @@ -687,8 +687,8 @@ public final class RenderNode { outline.mRect.left, outline.mRect.top, outline.mRect.right, outline.mRect.bottom, outline.mRadius, outline.mAlpha); case Outline.MODE_CONVEX_PATH: return nSetOutlineConvexPath(mNativeRenderNode, outline.mPath.mNativePath, case Outline.MODE_PATH: return nSetOutlinePath(mNativeRenderNode, outline.mPath.mNativePath, outline.mAlpha); } Loading Loading @@ -1620,7 +1620,7 @@ public final class RenderNode { int right, int bottom, float radius, float alpha); @CriticalNative private static native boolean nSetOutlineConvexPath(long renderNode, long nativePath, private static native boolean nSetOutlinePath(long renderNode, long nativePath, float alpha); @CriticalNative Loading
graphics/java/android/graphics/drawable/AdaptiveIconDrawable.java +1 −1 Original line number Diff line number Diff line Loading @@ -387,7 +387,7 @@ public class AdaptiveIconDrawable extends Drawable implements Drawable.Callback @Override public void getOutline(@NonNull Outline outline) { outline.setConvexPath(mMask); outline.setPath(mMask); } /** @hide */ Loading