abstract class com.sun.prism.impl.paint.MultipleGradientContext
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.sun.prism.impl.paint.MultipleGradientContext
super_class: java.lang.Object
{
protected int cycleMethod;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected float a00;
descriptor: F
flags: (0x0004) ACC_PROTECTED
protected float a01;
descriptor: F
flags: (0x0004) ACC_PROTECTED
protected float a10;
descriptor: F
flags: (0x0004) ACC_PROTECTED
protected float a11;
descriptor: F
flags: (0x0004) ACC_PROTECTED
protected float a02;
descriptor: F
flags: (0x0004) ACC_PROTECTED
protected float a12;
descriptor: F
flags: (0x0004) ACC_PROTECTED
protected boolean isSimpleLookup;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected int fastGradientArraySize;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int[] gradient;
descriptor: [I
flags: (0x0004) ACC_PROTECTED
private int[][] gradients;
descriptor: [[I
flags: (0x0002) ACC_PRIVATE
private float[] normalizedIntervals;
descriptor: [F
flags: (0x0002) ACC_PRIVATE
private float[] fractions;
descriptor: [F
flags: (0x0002) ACC_PRIVATE
private int transparencyTest;
descriptor: I
flags: (0x0002) ACC_PRIVATE
protected static final int GRADIENT_SIZE;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 256
protected static final int GRADIENT_SIZE_INDEX;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 255
private static final int MAX_GRADIENT_ARRAY_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5000
protected void <init>(com.sun.prism.paint.Gradient, com.sun.javafx.geom.transform.BaseTransform, float[], com.sun.prism.paint.Color[], int);
descriptor: (Lcom/sun/prism/paint/Gradient;Lcom/sun/javafx/geom/transform/BaseTransform;[F[Lcom/sun/prism/paint/Color;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 2
ifnonnull 3
2: new java.lang.NullPointerException
dup
ldc "Transform cannot be null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: com.sun.prism.impl.paint.MultipleGradientContext com.sun.prism.paint.Gradient com.sun.javafx.geom.transform.BaseTransform float[] com.sun.prism.paint.Color[] int
StackMap stack:
aload 2
invokevirtual com.sun.javafx.geom.transform.BaseTransform.createInverse:()Lcom/sun/javafx/geom/transform/BaseTransform;
astore 6
start local 6 4: goto 7
end local 6 StackMap locals:
StackMap stack: com.sun.javafx.geom.transform.NoninvertibleTransformException
5: pop
6: getstatic com.sun.javafx.geom.transform.BaseTransform.IDENTITY_TRANSFORM:Lcom/sun/javafx/geom/transform/BaseTransform;
astore 6
start local 6 7: StackMap locals: com.sun.javafx.geom.transform.BaseTransform
StackMap stack:
aload 0
aload 6
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxx:()D
d2f
putfield com.sun.prism.impl.paint.MultipleGradientContext.a00:F
8: aload 0
aload 6
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyx:()D
d2f
putfield com.sun.prism.impl.paint.MultipleGradientContext.a10:F
9: aload 0
aload 6
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxy:()D
d2f
putfield com.sun.prism.impl.paint.MultipleGradientContext.a01:F
10: aload 0
aload 6
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyy:()D
d2f
putfield com.sun.prism.impl.paint.MultipleGradientContext.a11:F
11: aload 0
aload 6
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMxt:()D
d2f
putfield com.sun.prism.impl.paint.MultipleGradientContext.a02:F
12: aload 0
aload 6
invokevirtual com.sun.javafx.geom.transform.BaseTransform.getMyt:()D
d2f
putfield com.sun.prism.impl.paint.MultipleGradientContext.a12:F
13: aload 0
iload 5
putfield com.sun.prism.impl.paint.MultipleGradientContext.cycleMethod:I
14: aload 0
aload 3
putfield com.sun.prism.impl.paint.MultipleGradientContext.fractions:[F
15: aload 0
aload 4
invokevirtual com.sun.prism.impl.paint.MultipleGradientContext.calculateLookupData:([Lcom/sun/prism/paint/Color;)V
16: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/prism/impl/paint/MultipleGradientContext;
0 17 1 mgp Lcom/sun/prism/paint/Gradient;
0 17 2 t Lcom/sun/javafx/geom/transform/BaseTransform;
0 17 3 fractions [F
0 17 4 colors [Lcom/sun/prism/paint/Color;
0 17 5 cycleMethod I
4 5 6 tInv Lcom/sun/javafx/geom/transform/BaseTransform;
7 17 6 tInv Lcom/sun/javafx/geom/transform/BaseTransform;
Exception table:
from to target type
3 4 5 Class com.sun.javafx.geom.transform.NoninvertibleTransformException
MethodParameters:
Name Flags
mgp
t
fractions
colors
cycleMethod
private void calculateLookupData(com.sun.prism.paint.Color[]);
descriptor: ([Lcom/sun/prism/paint/Color;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: aload 0
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.fractions:[F
arraylength
iconst_1
isub
newarray 6
putfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: com.sun.prism.paint.Color[] int
StackMap stack:
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
iload 3
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.fractions:[F
iload 3
iconst_1
iadd
faload
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.fractions:[F
iload 3
faload
fsub
fastore
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
arraylength
if_icmplt 4
end local 3 7: aload 0
ldc -16777216
putfield com.sun.prism.impl.paint.MultipleGradientContext.transparencyTest:I
8: aload 0
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
arraylength
anewarray int[]
putfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
9: fconst_1
fstore 3
start local 3 10: iconst_0
istore 4
start local 4 11: goto 17
12: StackMap locals: com.sun.prism.impl.paint.MultipleGradientContext com.sun.prism.paint.Color[] com.sun.prism.paint.Color[] float int
StackMap stack:
fload 3
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
iload 4
faload
fcmpl
ifle 14
13: aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
iload 4
faload
goto 15
StackMap locals:
StackMap stack:
14: fload 3
15: StackMap locals:
StackMap stack: float
fstore 3
16: iinc 4 1
StackMap locals:
StackMap stack:
17: iload 4
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
arraylength
if_icmplt 12
end local 4 18: fconst_0
fstore 4
start local 4 19: iconst_0
istore 5
start local 5 20: goto 23
21: StackMap locals: com.sun.prism.impl.paint.MultipleGradientContext com.sun.prism.paint.Color[] com.sun.prism.paint.Color[] float float int
StackMap stack:
fload 4
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
iload 5
faload
fload 3
fdiv
ldc 256.0
fmul
fadd
fstore 4
22: iinc 5 1
23: StackMap locals:
StackMap stack:
iload 5
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
arraylength
if_icmpge 25
24: fload 4
invokestatic java.lang.Float.isFinite:(F)Z
ifne 21
end local 5 25: StackMap locals:
StackMap stack:
fload 4
ldc 5000.0
fcmpg
ifgt 28
26: aload 0
aload 2
fload 3
invokevirtual com.sun.prism.impl.paint.MultipleGradientContext.calculateSingleArrayGradient:([Lcom/sun/prism/paint/Color;F)V
27: goto 29
28: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual com.sun.prism.impl.paint.MultipleGradientContext.calculateMultipleArrayGradient:([Lcom/sun/prism/paint/Color;)V
29: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/sun/prism/impl/paint/MultipleGradientContext;
0 30 1 colors [Lcom/sun/prism/paint/Color;
1 30 2 normalizedColors [Lcom/sun/prism/paint/Color;
3 7 3 i I
10 30 3 Imin F
11 18 4 i I
19 30 4 estimatedSize F
20 25 5 i I
MethodParameters:
Name Flags
colors
private void calculateSingleArrayGradient(com.sun.prism.paint.Color[], float);
descriptor: ([Lcom/sun/prism/paint/Color;F)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_1
putfield com.sun.prism.impl.paint.MultipleGradientContext.isSimpleLookup:Z
1: iconst_1
istore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 13
4: StackMap locals: com.sun.prism.impl.paint.MultipleGradientContext com.sun.prism.paint.Color[] float top top int int
StackMap stack:
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
iload 6
faload
fload 2
fdiv
ldc 255.0
fmul
f2i
istore 7
start local 7 5: iload 5
iload 7
iadd
istore 5
6: aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
iload 6
iload 7
newarray 10
aastore
7: aload 1
iload 6
aaload
invokevirtual com.sun.prism.paint.Color.getIntArgbPre:()I
istore 3
start local 3 8: aload 1
iload 6
iconst_1
iadd
aaload
invokevirtual com.sun.prism.paint.Color.getIntArgbPre:()I
istore 4
start local 4 9: aload 0
iload 3
iload 4
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
iload 6
aaload
invokevirtual com.sun.prism.impl.paint.MultipleGradientContext.interpolate:(II[I)V
10: aload 0
dup
getfield com.sun.prism.impl.paint.MultipleGradientContext.transparencyTest:I
iload 3
iand
putfield com.sun.prism.impl.paint.MultipleGradientContext.transparencyTest:I
11: aload 0
dup
getfield com.sun.prism.impl.paint.MultipleGradientContext.transparencyTest:I
iload 4
iand
putfield com.sun.prism.impl.paint.MultipleGradientContext.transparencyTest:I
end local 7 12: iinc 6 1
end local 4 end local 3 StackMap locals:
StackMap stack:
13: iload 6
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
arraylength
if_icmplt 4
end local 6 14: aload 0
iload 5
newarray 10
putfield com.sun.prism.impl.paint.MultipleGradientContext.gradient:[I
15: iconst_0
istore 6
start local 6 16: iconst_0
istore 7
start local 7 17: goto 23
18: StackMap locals: int
StackMap stack:
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
iload 7
aaload
iconst_0
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradient:[I
19: iload 6
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
iload 7
aaload
arraylength
20: invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
21: iload 6
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
iload 7
aaload
arraylength
iadd
istore 6
22: iinc 7 1
StackMap locals:
StackMap stack:
23: iload 7
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
arraylength
if_icmplt 18
end local 7 24: aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradient:[I
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradient:[I
arraylength
iconst_1
isub
aload 1
aload 1
arraylength
iconst_1
isub
aaload
invokevirtual com.sun.prism.paint.Color.getIntArgbPre:()I
iastore
25: aload 0
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradient:[I
arraylength
iconst_1
isub
putfield com.sun.prism.impl.paint.MultipleGradientContext.fastGradientArraySize:I
26: return
end local 6 end local 5 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lcom/sun/prism/impl/paint/MultipleGradientContext;
0 27 1 colors [Lcom/sun/prism/paint/Color;
0 27 2 Imin F
8 13 3 rgb1 I
9 13 4 rgb2 I
2 27 5 gradientsTot I
3 14 6 i I
5 12 7 nGradients I
16 27 6 curOffset I
17 24 7 i I
MethodParameters:
Name Flags
colors
Imin
private void calculateMultipleArrayGradient(com.sun.prism.paint.Color[]);
descriptor: ([Lcom/sun/prism/paint/Color;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
putfield com.sun.prism.impl.paint.MultipleGradientContext.isSimpleLookup:Z
1: iconst_0
istore 4
start local 4 2: goto 10
3: StackMap locals: com.sun.prism.impl.paint.MultipleGradientContext com.sun.prism.paint.Color[] top top int
StackMap stack:
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
iload 4
sipush 256
newarray 10
aastore
4: aload 1
iload 4
aaload
invokevirtual com.sun.prism.paint.Color.getIntArgbPre:()I
istore 2
start local 2 5: aload 1
iload 4
iconst_1
iadd
aaload
invokevirtual com.sun.prism.paint.Color.getIntArgbPre:()I
istore 3
start local 3 6: aload 0
iload 2
iload 3
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
iload 4
aaload
invokevirtual com.sun.prism.impl.paint.MultipleGradientContext.interpolate:(II[I)V
7: aload 0
dup
getfield com.sun.prism.impl.paint.MultipleGradientContext.transparencyTest:I
iload 2
iand
putfield com.sun.prism.impl.paint.MultipleGradientContext.transparencyTest:I
8: aload 0
dup
getfield com.sun.prism.impl.paint.MultipleGradientContext.transparencyTest:I
iload 3
iand
putfield com.sun.prism.impl.paint.MultipleGradientContext.transparencyTest:I
9: iinc 4 1
end local 3 end local 2 StackMap locals:
StackMap stack:
10: iload 4
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
arraylength
if_icmplt 3
end local 4 11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/prism/impl/paint/MultipleGradientContext;
0 12 1 colors [Lcom/sun/prism/paint/Color;
5 10 2 rgb1 I
6 10 3 rgb2 I
2 11 4 i I
MethodParameters:
Name Flags
colors
private void interpolate(int, int, int[]);
descriptor: (II[I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: fconst_1
aload 3
arraylength
i2f
fdiv
fstore 12
start local 12 1: iload 1
bipush 24
ishr
sipush 255
iand
istore 4
start local 4 2: iload 1
bipush 16
ishr
sipush 255
iand
istore 5
start local 5 3: iload 1
bipush 8
ishr
sipush 255
iand
istore 6
start local 6 4: iload 1
sipush 255
iand
istore 7
start local 7 5: iload 2
bipush 24
ishr
sipush 255
iand
iload 4
isub
istore 8
start local 8 6: iload 2
bipush 16
ishr
sipush 255
iand
iload 5
isub
istore 9
start local 9 7: iload 2
bipush 8
ishr
sipush 255
iand
iload 6
isub
istore 10
start local 10 8: iload 2
sipush 255
iand
iload 7
isub
istore 11
start local 11 9: iconst_0
istore 13
start local 13 10: goto 21
11: StackMap locals: com.sun.prism.impl.paint.MultipleGradientContext int int int[] int int int int int int int int float int
StackMap stack:
aload 3
iload 13
12: iload 4
i2f
iload 13
iload 8
imul
i2f
fload 12
fmul
fadd
f2d
ldc 0.5
dadd
d2i
bipush 24
ishl
13: iload 5
i2f
iload 13
iload 9
imul
i2f
fload 12
fmul
fadd
f2d
ldc 0.5
dadd
d2i
bipush 16
ishl
14: ior
15: iload 6
i2f
iload 13
iload 10
imul
i2f
fload 12
fmul
fadd
f2d
ldc 0.5
dadd
d2i
bipush 8
ishl
16: ior
17: iload 7
i2f
iload 13
iload 11
imul
i2f
fload 12
fmul
fadd
f2d
ldc 0.5
dadd
d2i
18: ior
19: iastore
20: iinc 13 1
StackMap locals:
StackMap stack:
21: iload 13
aload 3
arraylength
if_icmplt 11
end local 13 22: return
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/prism/impl/paint/MultipleGradientContext;
0 23 1 rgb1 I
0 23 2 rgb2 I
0 23 3 output [I
2 23 4 a1 I
3 23 5 r1 I
4 23 6 g1 I
5 23 7 b1 I
6 23 8 da I
7 23 9 dr I
8 23 10 dg I
9 23 11 db I
1 23 12 stepSize F
10 22 13 i I
MethodParameters:
Name Flags
rgb1
rgb2
output
protected final int indexIntoGradientsArrays(float);
descriptor: (F)I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.cycleMethod:I
ifne 7
1: fload 1
fconst_1
fcmpl
ifle 4
2: fconst_1
fstore 1
3: goto 18
StackMap locals:
StackMap stack:
4: fload 1
fconst_0
fcmpg
ifge 18
5: fconst_0
fstore 1
6: goto 18
StackMap locals:
StackMap stack:
7: aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.cycleMethod:I
iconst_2
if_icmpne 12
8: fload 1
fload 1
f2i
i2f
fsub
fstore 1
9: fload 1
fconst_0
fcmpg
ifge 18
10: fload 1
fconst_1
fadd
fstore 1
11: goto 18
12: StackMap locals:
StackMap stack:
fload 1
fconst_0
fcmpg
ifge 14
13: fload 1
fneg
fstore 1
14: StackMap locals:
StackMap stack:
fload 1
f2i
istore 2
start local 2 15: fload 1
iload 2
i2f
fsub
fstore 1
16: iload 2
iconst_1
iand
iconst_1
if_icmpne 18
17: fconst_1
fload 1
fsub
fstore 1
end local 2 18: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.isSimpleLookup:Z
ifeq 20
19: aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradient:[I
fload 1
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.fastGradientArraySize:I
i2f
fmul
f2i
iaload
ireturn
20: StackMap locals:
StackMap stack:
fload 1
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.fractions:[F
iconst_0
faload
fcmpg
ifge 22
21: aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
iconst_0
aaload
iconst_0
iaload
ireturn
22: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 23: goto 31
24: StackMap locals: int
StackMap stack:
fload 1
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.fractions:[F
iload 2
iconst_1
iadd
faload
fcmpg
ifge 30
25: fload 1
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.fractions:[F
iload 2
faload
fsub
fstore 3
start local 3 26: fload 3
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.normalizedIntervals:[F
iload 2
faload
fdiv
27: ldc 255.0
28: fmul
f2i
istore 4
start local 4 29: aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
iload 2
aaload
iload 4
iaload
ireturn
end local 4 end local 3 30: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
31: iload 2
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
arraylength
if_icmplt 24
end local 2 32: aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
aload 0
getfield com.sun.prism.impl.paint.MultipleGradientContext.gradients:[[I
arraylength
iconst_1
isub
aaload
sipush 255
iaload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/sun/prism/impl/paint/MultipleGradientContext;
0 33 1 position F
15 18 2 part I
23 32 2 i I
26 30 3 delta F
29 30 4 index I
MethodParameters:
Name Flags
position
protected abstract void fillRaster(int[], int, int, int, int, int, int);
descriptor: ([IIIIIII)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
pixels
off
adjust
x
y
w
h
}
SourceFile: "MultipleGradientContext.java"