Loading api/current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -930,6 +930,7 @@ package android { field public static final int orderingFromXml = 16843239; // 0x10101e7 field public static final int orientation = 16842948; // 0x10100c4 field public static final int outAnimation = 16843128; // 0x1010178 field public static final int outlineProvider = 16843961; // 0x10104b9 field public static final int overScrollFooter = 16843459; // 0x10102c3 field public static final int overScrollHeader = 16843458; // 0x10102c2 field public static final int overScrollMode = 16843457; // 0x10102c1 Loading Loading @@ -35193,6 +35194,8 @@ package android.view { ctor public ViewOutlineProvider(); method public abstract void getOutline(android.view.View, android.graphics.Outline); field public static final android.view.ViewOutlineProvider BACKGROUND; field public static final android.view.ViewOutlineProvider BOUNDS; field public static final android.view.ViewOutlineProvider PADDED_BOUNDS; } public class ViewOverlay { core/java/android/view/View.java +26 −8 Original line number Diff line number Diff line Loading @@ -4047,6 +4047,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback, mBackgroundTintMode = Drawable.parseTintMode(a.getInt( R.styleable.View_backgroundTintMode, -1), mBackgroundTintMode); break; case R.styleable.View_outlineProvider: setOutlineProviderFromAttribute(a.getInt(R.styleable.View_outlineProvider, PROVIDER_BACKGROUND)); break; } } Loading Loading @@ -10823,14 +10827,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } } /** * Deprecated, pending removal * * @hide */ @Deprecated public void setOutline(@Nullable Outline outline) {} /** * Returns whether the Outline should be used to clip the contents of the View. * <p> Loading Loading @@ -10860,6 +10856,28 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } } // correspond to the enum values of View_outlineProvider private static final int PROVIDER_BACKGROUND = 0; private static final int PROVIDER_NONE = 1; private static final int PROVIDER_BOUNDS = 2; private static final int PROVIDER_PADDED_BOUNDS = 3; private void setOutlineProviderFromAttribute(int providerInt) { switch (providerInt) { case PROVIDER_BACKGROUND: setOutlineProvider(ViewOutlineProvider.BACKGROUND); break; case PROVIDER_NONE: setOutlineProvider(null); break; case PROVIDER_BOUNDS: setOutlineProvider(ViewOutlineProvider.BOUNDS); break; case PROVIDER_PADDED_BOUNDS: setOutlineProvider(ViewOutlineProvider.PADDED_BOUNDS); break; } } /** * Sets the {@link ViewOutlineProvider} of the view, which generates the Outline that defines * the shape of the shadow it casts, and enables outline clipping. Loading core/java/android/view/ViewOutlineProvider.java +29 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,35 @@ public abstract class ViewOutlineProvider { } }; /** * Maintains the outline of the View to match its rectangular bounds, * at <code>1.0f</code> alpha. * * This can be used to enable Views that are opaque but lacking a background cast a shadow. */ public static final ViewOutlineProvider BOUNDS = new ViewOutlineProvider() { @Override public void getOutline(View view, Outline outline) { outline.setRect(0, 0, view.getWidth(), view.getHeight()); } }; /** * Maintains the outline of the View to match its rectangular padded bounds, * at <code>1.0f</code> alpha. * * This can be used to enable Views that are opaque but lacking a background cast a shadow. */ public static final ViewOutlineProvider PADDED_BOUNDS = new ViewOutlineProvider() { @Override public void getOutline(View view, Outline outline) { outline.setRect(view.getPaddingLeft(), view.getPaddingTop(), view.getWidth() - view.getPaddingRight(), view.getHeight() - view.getPaddingBottom()); } }; /** * Called to get the provider to populate the Outline. * Loading core/res/res/values/attrs.xml +13 −0 Original line number Diff line number Diff line Loading @@ -2513,6 +2513,19 @@ result to valid color values. Saturate(S + D) --> <enum name="add" value="16" /> </attr> <!-- ViewOutlineProvider used to determine the View's Outline. --> <attr name="outlineProvider"> <!-- Default, background drawable-driven outline. --> <enum name="background" value="0" /> <!-- No outline provider. --> <enum name="none" value="1" /> <!-- Generates an opaque outline for the bounds of the view. --> <enum name="bounds" value="2" /> <!-- Generates an opaque outline for the padded bounds of the view. --> <enum name="paddedBounds" value="3" /> </attr> </declare-styleable> <!-- Attributes that can be assigned to a tag for a particular View. --> Loading core/res/res/values/public.xml +1 −0 Original line number Diff line number Diff line Loading @@ -2272,6 +2272,7 @@ <public type="attr" name="inset" /> <public type="attr" name="letterSpacing" /> <public type="attr" name="fontFeatureSettings" /> <public type="attr" name="outlineProvider" /> <public-padding type="dimen" name="l_resource_pad" end="0x01050010" /> Loading Loading
api/current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -930,6 +930,7 @@ package android { field public static final int orderingFromXml = 16843239; // 0x10101e7 field public static final int orientation = 16842948; // 0x10100c4 field public static final int outAnimation = 16843128; // 0x1010178 field public static final int outlineProvider = 16843961; // 0x10104b9 field public static final int overScrollFooter = 16843459; // 0x10102c3 field public static final int overScrollHeader = 16843458; // 0x10102c2 field public static final int overScrollMode = 16843457; // 0x10102c1 Loading Loading @@ -35193,6 +35194,8 @@ package android.view { ctor public ViewOutlineProvider(); method public abstract void getOutline(android.view.View, android.graphics.Outline); field public static final android.view.ViewOutlineProvider BACKGROUND; field public static final android.view.ViewOutlineProvider BOUNDS; field public static final android.view.ViewOutlineProvider PADDED_BOUNDS; } public class ViewOverlay {
core/java/android/view/View.java +26 −8 Original line number Diff line number Diff line Loading @@ -4047,6 +4047,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback, mBackgroundTintMode = Drawable.parseTintMode(a.getInt( R.styleable.View_backgroundTintMode, -1), mBackgroundTintMode); break; case R.styleable.View_outlineProvider: setOutlineProviderFromAttribute(a.getInt(R.styleable.View_outlineProvider, PROVIDER_BACKGROUND)); break; } } Loading Loading @@ -10823,14 +10827,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } } /** * Deprecated, pending removal * * @hide */ @Deprecated public void setOutline(@Nullable Outline outline) {} /** * Returns whether the Outline should be used to clip the contents of the View. * <p> Loading Loading @@ -10860,6 +10856,28 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } } // correspond to the enum values of View_outlineProvider private static final int PROVIDER_BACKGROUND = 0; private static final int PROVIDER_NONE = 1; private static final int PROVIDER_BOUNDS = 2; private static final int PROVIDER_PADDED_BOUNDS = 3; private void setOutlineProviderFromAttribute(int providerInt) { switch (providerInt) { case PROVIDER_BACKGROUND: setOutlineProvider(ViewOutlineProvider.BACKGROUND); break; case PROVIDER_NONE: setOutlineProvider(null); break; case PROVIDER_BOUNDS: setOutlineProvider(ViewOutlineProvider.BOUNDS); break; case PROVIDER_PADDED_BOUNDS: setOutlineProvider(ViewOutlineProvider.PADDED_BOUNDS); break; } } /** * Sets the {@link ViewOutlineProvider} of the view, which generates the Outline that defines * the shape of the shadow it casts, and enables outline clipping. Loading
core/java/android/view/ViewOutlineProvider.java +29 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,35 @@ public abstract class ViewOutlineProvider { } }; /** * Maintains the outline of the View to match its rectangular bounds, * at <code>1.0f</code> alpha. * * This can be used to enable Views that are opaque but lacking a background cast a shadow. */ public static final ViewOutlineProvider BOUNDS = new ViewOutlineProvider() { @Override public void getOutline(View view, Outline outline) { outline.setRect(0, 0, view.getWidth(), view.getHeight()); } }; /** * Maintains the outline of the View to match its rectangular padded bounds, * at <code>1.0f</code> alpha. * * This can be used to enable Views that are opaque but lacking a background cast a shadow. */ public static final ViewOutlineProvider PADDED_BOUNDS = new ViewOutlineProvider() { @Override public void getOutline(View view, Outline outline) { outline.setRect(view.getPaddingLeft(), view.getPaddingTop(), view.getWidth() - view.getPaddingRight(), view.getHeight() - view.getPaddingBottom()); } }; /** * Called to get the provider to populate the Outline. * Loading
core/res/res/values/attrs.xml +13 −0 Original line number Diff line number Diff line Loading @@ -2513,6 +2513,19 @@ result to valid color values. Saturate(S + D) --> <enum name="add" value="16" /> </attr> <!-- ViewOutlineProvider used to determine the View's Outline. --> <attr name="outlineProvider"> <!-- Default, background drawable-driven outline. --> <enum name="background" value="0" /> <!-- No outline provider. --> <enum name="none" value="1" /> <!-- Generates an opaque outline for the bounds of the view. --> <enum name="bounds" value="2" /> <!-- Generates an opaque outline for the padded bounds of the view. --> <enum name="paddedBounds" value="3" /> </attr> </declare-styleable> <!-- Attributes that can be assigned to a tag for a particular View. --> Loading
core/res/res/values/public.xml +1 −0 Original line number Diff line number Diff line Loading @@ -2272,6 +2272,7 @@ <public type="attr" name="inset" /> <public type="attr" name="letterSpacing" /> <public type="attr" name="fontFeatureSettings" /> <public type="attr" name="outlineProvider" /> <public-padding type="dimen" name="l_resource_pad" end="0x01050010" /> Loading