public class android.graphics.drawable.shapes.RoundRectShape extends android.graphics.drawable.shapes.RectShape
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.graphics.drawable.shapes.RoundRectShape
super_class: android.graphics.drawable.shapes.RectShape
{
private float[] mOuterRadii;
descriptor: [F
flags: (0x0002) ACC_PRIVATE
private android.graphics.RectF mInset;
descriptor: Landroid/graphics/RectF;
flags: (0x0002) ACC_PRIVATE
private float[] mInnerRadii;
descriptor: [F
flags: (0x0002) ACC_PRIVATE
private android.graphics.RectF mInnerRect;
descriptor: Landroid/graphics/RectF;
flags: (0x0002) ACC_PRIVATE
private android.graphics.Path mPath;
descriptor: Landroid/graphics/Path;
flags: (0x0002) ACC_PRIVATE
public void <init>(float[], android.graphics.RectF, float[]);
descriptor: ([FLandroid/graphics/RectF;[F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial android.graphics.drawable.shapes.RectShape.<init>:()V
1: aload 1
ifnull 3
aload 1
arraylength
bipush 8
if_icmpge 3
2: new java.lang.ArrayIndexOutOfBoundsException
dup
ldc "outer radii must have >= 8 values"
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: android.graphics.drawable.shapes.RoundRectShape float[] android.graphics.RectF float[]
StackMap stack:
aload 3
ifnull 5
aload 3
arraylength
bipush 8
if_icmpge 5
4: new java.lang.ArrayIndexOutOfBoundsException
dup
ldc "inner radii must have >= 8 values"
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield android.graphics.drawable.shapes.RoundRectShape.mOuterRadii:[F
6: aload 0
aload 2
putfield android.graphics.drawable.shapes.RoundRectShape.mInset:Landroid/graphics/RectF;
7: aload 0
aload 3
putfield android.graphics.drawable.shapes.RoundRectShape.mInnerRadii:[F
8: aload 2
ifnull 10
9: aload 0
new android.graphics.RectF
dup
invokespecial android.graphics.RectF.<init>:()V
putfield android.graphics.drawable.shapes.RoundRectShape.mInnerRect:Landroid/graphics/RectF;
10: StackMap locals:
StackMap stack:
aload 0
new android.graphics.Path
dup
invokespecial android.graphics.Path.<init>:()V
putfield android.graphics.drawable.shapes.RoundRectShape.mPath:Landroid/graphics/Path;
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/graphics/drawable/shapes/RoundRectShape;
0 12 1 outerRadii [F
0 12 2 inset Landroid/graphics/RectF;
0 12 3 innerRadii [F
MethodParameters:
Name Flags
outerRadii
inset
innerRadii
public void draw(android.graphics.Canvas, android.graphics.Paint);
descriptor: (Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mPath:Landroid/graphics/Path;
aload 2
invokevirtual android.graphics.Canvas.drawPath:(Landroid/graphics/Path;Landroid/graphics/Paint;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/graphics/drawable/shapes/RoundRectShape;
0 2 1 canvas Landroid/graphics/Canvas;
0 2 2 paint Landroid/graphics/Paint;
MethodParameters:
Name Flags
canvas
paint
public void getOutline(android.graphics.Outline);
descriptor: (Landroid/graphics/Outline;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mInnerRect:Landroid/graphics/RectF;
ifnull 1
return
1: StackMap locals:
StackMap stack:
fconst_0
fstore 2
start local 2 2: aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mOuterRadii:[F
ifnull 11
3: aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mOuterRadii:[F
iconst_0
faload
fstore 2
4: iconst_1
istore 3
start local 3 5: goto 10
6: StackMap locals: float int
StackMap stack:
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mOuterRadii:[F
iload 3
faload
fload 2
fcmpl
ifeq 9
7: aload 1
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mPath:Landroid/graphics/Path;
invokevirtual android.graphics.Outline.setConvexPath:(Landroid/graphics/Path;)V
8: return
9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
bipush 8
if_icmplt 6
end local 3 11: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.graphics.drawable.shapes.RoundRectShape.rect:()Landroid/graphics/RectF;
astore 3
start local 3 12: aload 1
aload 3
getfield android.graphics.RectF.left:F
f2d
invokestatic java.lang.Math.ceil:(D)D
d2i
aload 3
getfield android.graphics.RectF.top:F
f2d
invokestatic java.lang.Math.ceil:(D)D
d2i
13: aload 3
getfield android.graphics.RectF.right:F
f2d
invokestatic java.lang.Math.floor:(D)D
d2i
aload 3
getfield android.graphics.RectF.bottom:F
f2d
invokestatic java.lang.Math.floor:(D)D
d2i
fload 2
14: invokevirtual android.graphics.Outline.setRoundRect:(IIIIF)V
15: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Landroid/graphics/drawable/shapes/RoundRectShape;
0 16 1 outline Landroid/graphics/Outline;
2 16 2 radius F
5 11 3 i I
12 16 3 rect Landroid/graphics/RectF;
MethodParameters:
Name Flags
outline
protected void onResize(float, float);
descriptor: (FF)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
fload 1
fload 2
invokespecial android.graphics.drawable.shapes.RectShape.onResize:(FF)V
1: aload 0
invokevirtual android.graphics.drawable.shapes.RoundRectShape.rect:()Landroid/graphics/RectF;
astore 3
start local 3 2: aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mPath:Landroid/graphics/Path;
invokevirtual android.graphics.Path.reset:()V
3: aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mOuterRadii:[F
ifnull 6
4: aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mPath:Landroid/graphics/Path;
aload 3
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mOuterRadii:[F
getstatic android.graphics.Path$Direction.CW:Landroid/graphics/Path$Direction;
invokevirtual android.graphics.Path.addRoundRect:(Landroid/graphics/RectF;[FLandroid/graphics/Path$Direction;)V
5: goto 7
6: StackMap locals: android.graphics.RectF
StackMap stack:
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mPath:Landroid/graphics/Path;
aload 3
getstatic android.graphics.Path$Direction.CW:Landroid/graphics/Path$Direction;
invokevirtual android.graphics.Path.addRect:(Landroid/graphics/RectF;Landroid/graphics/Path$Direction;)V
7: StackMap locals:
StackMap stack:
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mInnerRect:Landroid/graphics/RectF;
ifnull 16
8: aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mInnerRect:Landroid/graphics/RectF;
aload 3
getfield android.graphics.RectF.left:F
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mInset:Landroid/graphics/RectF;
getfield android.graphics.RectF.left:F
fadd
aload 3
getfield android.graphics.RectF.top:F
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mInset:Landroid/graphics/RectF;
getfield android.graphics.RectF.top:F
fadd
9: aload 3
getfield android.graphics.RectF.right:F
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mInset:Landroid/graphics/RectF;
getfield android.graphics.RectF.right:F
fsub
aload 3
getfield android.graphics.RectF.bottom:F
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mInset:Landroid/graphics/RectF;
getfield android.graphics.RectF.bottom:F
fsub
10: invokevirtual android.graphics.RectF.set:(FFFF)V
11: aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mInnerRect:Landroid/graphics/RectF;
invokevirtual android.graphics.RectF.width:()F
fload 1
fcmpg
ifge 16
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mInnerRect:Landroid/graphics/RectF;
invokevirtual android.graphics.RectF.height:()F
fload 2
fcmpg
ifge 16
12: aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mInnerRadii:[F
ifnull 15
13: aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mPath:Landroid/graphics/Path;
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mInnerRect:Landroid/graphics/RectF;
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mInnerRadii:[F
getstatic android.graphics.Path$Direction.CCW:Landroid/graphics/Path$Direction;
invokevirtual android.graphics.Path.addRoundRect:(Landroid/graphics/RectF;[FLandroid/graphics/Path$Direction;)V
14: goto 16
15: StackMap locals:
StackMap stack:
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mPath:Landroid/graphics/Path;
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mInnerRect:Landroid/graphics/RectF;
getstatic android.graphics.Path$Direction.CCW:Landroid/graphics/Path$Direction;
invokevirtual android.graphics.Path.addRect:(Landroid/graphics/RectF;Landroid/graphics/Path$Direction;)V
16: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Landroid/graphics/drawable/shapes/RoundRectShape;
0 17 1 w F
0 17 2 h F
2 17 3 r Landroid/graphics/RectF;
MethodParameters:
Name Flags
w
h
public android.graphics.drawable.shapes.RoundRectShape clone();
descriptor: ()Landroid/graphics/drawable/shapes/RoundRectShape;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokespecial android.graphics.drawable.shapes.RectShape.clone:()Landroid/graphics/drawable/shapes/RectShape;
checkcast android.graphics.drawable.shapes.RoundRectShape
astore 1
start local 1 1: aload 1
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mOuterRadii:[F
ifnull 2
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mOuterRadii:[F
invokevirtual float[].clone:()Ljava/lang/Object;
checkcast float[]
goto 3
StackMap locals: android.graphics.drawable.shapes.RoundRectShape android.graphics.drawable.shapes.RoundRectShape
StackMap stack: android.graphics.drawable.shapes.RoundRectShape
2: aconst_null
StackMap locals: android.graphics.drawable.shapes.RoundRectShape android.graphics.drawable.shapes.RoundRectShape
StackMap stack: android.graphics.drawable.shapes.RoundRectShape float[]
3: putfield android.graphics.drawable.shapes.RoundRectShape.mOuterRadii:[F
4: aload 1
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mInnerRadii:[F
ifnull 5
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mInnerRadii:[F
invokevirtual float[].clone:()Ljava/lang/Object;
checkcast float[]
goto 6
StackMap locals:
StackMap stack: android.graphics.drawable.shapes.RoundRectShape
5: aconst_null
StackMap locals: android.graphics.drawable.shapes.RoundRectShape android.graphics.drawable.shapes.RoundRectShape
StackMap stack: android.graphics.drawable.shapes.RoundRectShape float[]
6: putfield android.graphics.drawable.shapes.RoundRectShape.mInnerRadii:[F
7: aload 1
new android.graphics.RectF
dup
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mInset:Landroid/graphics/RectF;
invokespecial android.graphics.RectF.<init>:(Landroid/graphics/RectF;)V
putfield android.graphics.drawable.shapes.RoundRectShape.mInset:Landroid/graphics/RectF;
8: aload 1
new android.graphics.RectF
dup
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mInnerRect:Landroid/graphics/RectF;
invokespecial android.graphics.RectF.<init>:(Landroid/graphics/RectF;)V
putfield android.graphics.drawable.shapes.RoundRectShape.mInnerRect:Landroid/graphics/RectF;
9: aload 1
new android.graphics.Path
dup
aload 0
getfield android.graphics.drawable.shapes.RoundRectShape.mPath:Landroid/graphics/Path;
invokespecial android.graphics.Path.<init>:(Landroid/graphics/Path;)V
putfield android.graphics.drawable.shapes.RoundRectShape.mPath:Landroid/graphics/Path;
10: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/graphics/drawable/shapes/RoundRectShape;
1 11 1 shape Landroid/graphics/drawable/shapes/RoundRectShape;
Exceptions:
throws java.lang.CloneNotSupportedException
public android.graphics.drawable.shapes.RectShape clone();
descriptor: ()Landroid/graphics/drawable/shapes/RectShape;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual android.graphics.drawable.shapes.RoundRectShape.clone:()Landroid/graphics/drawable/shapes/RoundRectShape;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.CloneNotSupportedException
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual android.graphics.drawable.shapes.RoundRectShape.clone:()Landroid/graphics/drawable/shapes/RoundRectShape;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.CloneNotSupportedException
public android.graphics.drawable.shapes.Shape clone();
descriptor: ()Landroid/graphics/drawable/shapes/Shape;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual android.graphics.drawable.shapes.RoundRectShape.clone:()Landroid/graphics/drawable/shapes/RoundRectShape;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.CloneNotSupportedException
}
SourceFile: "RoundRectShape.java"
InnerClasses:
public final Direction = android.graphics.Path$Direction of android.graphics.Path