public class com.sun.prism.impl.paint.PaintUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.prism.impl.paint.PaintUtil
  super_class: java.lang.Object
{
  private static final com.sun.javafx.geom.transform.Affine2D gradXform;
    descriptor: Lcom/sun/javafx/geom/transform/Affine2D;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 39
            new com.sun.javafx.geom.transform.Affine2D
            dup
            invokespecial com.sun.javafx.geom.transform.Affine2D.<init>:()V
            putstatic com.sun.prism.impl.paint.PaintUtil.gradXform:Lcom/sun/javafx/geom/transform/Affine2D;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.prism.impl.paint.PaintUtil this
         0: .line 37
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.prism.impl.paint.PaintUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/prism/impl/paint/PaintUtil;

  public static void fillImageWithGradient(int[], com.sun.prism.paint.Gradient, com.sun.javafx.geom.transform.BaseTransform, int, int, int, int, float, float, float, float);
    descriptor: ([ILcom/sun/prism/paint/Gradient;Lcom/sun/javafx/geom/transform/BaseTransform;IIIIFFFF)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=12, locals=26, args_size=11
        start local 0 // int[] pixels
        start local 1 // com.sun.prism.paint.Gradient grad
        start local 2 // com.sun.javafx.geom.transform.BaseTransform xform
        start local 3 // int px
        start local 4 // int py
        start local 5 // int pw
        start local 6 // int ph
        start local 7 // float bx
        start local 8 // float by
        start local 9 // float bw
        start local 10 // float bh
         0: .line 48
            aload 1 /* grad */
            astore 11 /* mgrad */
        start local 11 // com.sun.prism.paint.Gradient mgrad
         1: .line 49
            aload 11 /* mgrad */
            invokevirtual com.sun.prism.paint.Gradient.getNumStops:()I
            istore 12 /* numStops */
        start local 12 // int numStops
         2: .line 50
            iload 12 /* numStops */
            newarray 6
            astore 13 /* fractions */
        start local 13 // float[] fractions
         3: .line 51
            iload 12 /* numStops */
            anewarray com.sun.prism.paint.Color
            astore 14 /* colors */
        start local 14 // com.sun.prism.paint.Color[] colors
         4: .line 52
            iconst_0
            istore 15 /* i */
        start local 15 // int i
         5: goto 10
         6: .line 53
      StackMap locals: int[] com.sun.prism.paint.Gradient com.sun.javafx.geom.transform.BaseTransform int int int int float float float float com.sun.prism.paint.Gradient int float[] com.sun.prism.paint.Color[] int
      StackMap stack:
            aload 11 /* mgrad */
            invokevirtual com.sun.prism.paint.Gradient.getStops:()Ljava/util/List;
            iload 15 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.prism.paint.Stop
            astore 16 /* stop */
        start local 16 // com.sun.prism.paint.Stop stop
         7: .line 54
            aload 13 /* fractions */
            iload 15 /* i */
            aload 16 /* stop */
            invokevirtual com.sun.prism.paint.Stop.getOffset:()F
            fastore
         8: .line 55
            aload 14 /* colors */
            iload 15 /* i */
            aload 16 /* stop */
            invokevirtual com.sun.prism.paint.Stop.getColor:()Lcom/sun/prism/paint/Color;
            aastore
        end local 16 // com.sun.prism.paint.Stop stop
         9: .line 52
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 15 /* i */
            iload 12 /* numStops */
            if_icmplt 6
        end local 15 // int i
        11: .line 59
            aload 1 /* grad */
            invokevirtual com.sun.prism.paint.Gradient.getType:()Lcom/sun/prism/paint/Paint$Type;
            getstatic com.sun.prism.paint.Paint$Type.LINEAR_GRADIENT:Lcom/sun/prism/paint/Paint$Type;
            if_acmpne 32
        12: .line 60
            aload 1 /* grad */
            checkcast com.sun.prism.paint.LinearGradient
            astore 16 /* lgrad */
        start local 16 // com.sun.prism.paint.LinearGradient lgrad
        13: .line 62
            aload 16 /* lgrad */
            invokevirtual com.sun.prism.paint.LinearGradient.isProportional:()Z
            ifeq 19
        14: .line 63
            aload 16 /* lgrad */
            invokevirtual com.sun.prism.paint.LinearGradient.getX1:()F
            fload 9 /* bw */
            fmul
            fload 7 /* bx */
            fadd
            fstore 17 /* x1 */
        start local 17 // float x1
        15: .line 64
            aload 16 /* lgrad */
            invokevirtual com.sun.prism.paint.LinearGradient.getY1:()F
            fload 10 /* bh */
            fmul
            fload 8 /* by */
            fadd
            fstore 18 /* y1 */
        start local 18 // float y1
        16: .line 65
            aload 16 /* lgrad */
            invokevirtual com.sun.prism.paint.LinearGradient.getX2:()F
            fload 9 /* bw */
            fmul
            fload 7 /* bx */
            fadd
            fstore 19 /* x2 */
        start local 19 // float x2
        17: .line 66
            aload 16 /* lgrad */
            invokevirtual com.sun.prism.paint.LinearGradient.getY2:()F
            fload 10 /* bh */
            fmul
            fload 8 /* by */
            fadd
            fstore 20 /* y2 */
        start local 20 // float y2
        18: .line 67
            goto 23
        end local 20 // float y2
        end local 19 // float x2
        end local 18 // float y1
        end local 17 // float x1
        19: .line 68
      StackMap locals: int[] com.sun.prism.paint.Gradient com.sun.javafx.geom.transform.BaseTransform int int int int float float float float com.sun.prism.paint.Gradient int float[] com.sun.prism.paint.Color[] top com.sun.prism.paint.LinearGradient
      StackMap stack:
            aload 16 /* lgrad */
            invokevirtual com.sun.prism.paint.LinearGradient.getX1:()F
            fstore 17 /* x1 */
        start local 17 // float x1
        20: .line 69
            aload 16 /* lgrad */
            invokevirtual com.sun.prism.paint.LinearGradient.getY1:()F
            fstore 18 /* y1 */
        start local 18 // float y1
        21: .line 70
            aload 16 /* lgrad */
            invokevirtual com.sun.prism.paint.LinearGradient.getX2:()F
            fstore 19 /* x2 */
        start local 19 // float x2
        22: .line 71
            aload 16 /* lgrad */
            invokevirtual com.sun.prism.paint.LinearGradient.getY2:()F
            fstore 20 /* y2 */
        start local 20 // float y2
        23: .line 73
      StackMap locals: int[] com.sun.prism.paint.Gradient com.sun.javafx.geom.transform.BaseTransform int int int int float float float float com.sun.prism.paint.Gradient int float[] com.sun.prism.paint.Color[] top com.sun.prism.paint.LinearGradient float float float float
      StackMap stack:
            fload 17 /* x1 */
            fload 19 /* x2 */
            fcmpl
            ifne 26
            fload 18 /* y1 */
            fload 20 /* y2 */
            fcmpl
            ifne 26
        24: .line 75
            fload 17 /* x1 */
            ldc 1.0E-6
            fsub
            fstore 17 /* x1 */
        25: .line 76
            fload 19 /* x2 */
            ldc 1.0E-6
            fadd
            fstore 19 /* x2 */
        26: .line 78
      StackMap locals:
      StackMap stack:
            new com.sun.prism.impl.paint.LinearGradientContext
            dup
            aload 16 /* lgrad */
            aload 2 /* xform */
        27: .line 79
            fload 17 /* x1 */
            fload 18 /* y1 */
            fload 19 /* x2 */
            fload 20 /* y2 */
        28: .line 80
            aload 13 /* fractions */
            aload 14 /* colors */
        29: .line 81
            aload 16 /* lgrad */
            invokevirtual com.sun.prism.paint.LinearGradient.getSpreadMethod:()I
        30: .line 78
            invokespecial com.sun.prism.impl.paint.LinearGradientContext.<init>:(Lcom/sun/prism/paint/LinearGradient;Lcom/sun/javafx/geom/transform/BaseTransform;FFFF[F[Lcom/sun/prism/paint/Color;I)V
            astore 15 /* context */
        end local 20 // float y2
        end local 19 // float x2
        end local 18 // float y1
        end local 17 // float x1
        end local 16 // com.sun.prism.paint.LinearGradient lgrad
        start local 15 // com.sun.prism.impl.paint.MultipleGradientContext context
        31: .line 82
            goto 60
        end local 15 // com.sun.prism.impl.paint.MultipleGradientContext context
        32: .line 83
      StackMap locals: int[] com.sun.prism.paint.Gradient com.sun.javafx.geom.transform.BaseTransform int int int int float float float float com.sun.prism.paint.Gradient int float[] com.sun.prism.paint.Color[]
      StackMap stack:
            aload 1 /* grad */
            checkcast com.sun.prism.paint.RadialGradient
            astore 16 /* rgrad */
        start local 16 // com.sun.prism.paint.RadialGradient rgrad
        33: .line 84
            getstatic com.sun.prism.impl.paint.PaintUtil.gradXform:Lcom/sun/javafx/geom/transform/Affine2D;
            aload 2 /* xform */
            invokevirtual com.sun.javafx.geom.transform.Affine2D.setTransform:(Lcom/sun/javafx/geom/transform/BaseTransform;)V
        34: .line 85
            aload 16 /* rgrad */
            invokevirtual com.sun.prism.paint.RadialGradient.getRadius:()F
            fstore 17 /* radius */
        start local 17 // float radius
        35: .line 86
            aload 16 /* rgrad */
            invokevirtual com.sun.prism.paint.RadialGradient.getCenterX:()F
            fstore 18 /* cx */
        start local 18 // float cx
        36: .line 87
            aload 16 /* rgrad */
            invokevirtual com.sun.prism.paint.RadialGradient.getCenterY:()F
            fstore 19 /* cy */
        start local 19 // float cy
        37: .line 88
            aload 16 /* rgrad */
            invokevirtual com.sun.prism.paint.RadialGradient.getFocusAngle:()F
            f2d
            invokestatic java.lang.Math.toRadians:(D)D
            dstore 20 /* fa */
        start local 20 // double fa
        38: .line 89
            aload 16 /* rgrad */
            invokevirtual com.sun.prism.paint.RadialGradient.getFocusDistance:()F
            fstore 22 /* fd */
        start local 22 // float fd
        39: .line 90
            aload 16 /* rgrad */
            invokevirtual com.sun.prism.paint.RadialGradient.isProportional:()Z
            ifeq 50
        40: .line 91
            fload 7 /* bx */
            fload 9 /* bw */
            fconst_2
            fdiv
            fadd
            fstore 23 /* bcx */
        start local 23 // float bcx
        41: .line 92
            fload 8 /* by */
            fload 10 /* bh */
            fconst_2
            fdiv
            fadd
            fstore 24 /* bcy */
        start local 24 // float bcy
        42: .line 93
            fload 9 /* bw */
            fload 10 /* bh */
            invokestatic java.lang.Math.min:(FF)F
            fstore 25 /* scale */
        start local 25 // float scale
        43: .line 94
            fload 18 /* cx */
            ldc 0.5
            fsub
            fload 25 /* scale */
            fmul
            fload 23 /* bcx */
            fadd
            fstore 18 /* cx */
        44: .line 95
            fload 19 /* cy */
            ldc 0.5
            fsub
            fload 25 /* scale */
            fmul
            fload 24 /* bcy */
            fadd
            fstore 19 /* cy */
        45: .line 96
            fload 9 /* bw */
            fload 10 /* bh */
            fcmpl
            ifeq 49
            fload 9 /* bw */
            fconst_0
            fcmpl
            ifeq 49
            fload 10 /* bh */
            fconst_0
            fcmpl
            ifeq 49
        46: .line 97
            getstatic com.sun.prism.impl.paint.PaintUtil.gradXform:Lcom/sun/javafx/geom/transform/Affine2D;
            fload 23 /* bcx */
            f2d
            fload 24 /* bcy */
            f2d
            invokevirtual com.sun.javafx.geom.transform.Affine2D.translate:(DD)V
        47: .line 98
            getstatic com.sun.prism.impl.paint.PaintUtil.gradXform:Lcom/sun/javafx/geom/transform/Affine2D;
            fload 9 /* bw */
            fload 25 /* scale */
            fdiv
            f2d
            fload 10 /* bh */
            fload 25 /* scale */
            fdiv
            f2d
            invokevirtual com.sun.javafx.geom.transform.Affine2D.scale:(DD)V
        48: .line 99
            getstatic com.sun.prism.impl.paint.PaintUtil.gradXform:Lcom/sun/javafx/geom/transform/Affine2D;
            fload 23 /* bcx */
            fneg
            f2d
            fload 24 /* bcy */
            fneg
            f2d
            invokevirtual com.sun.javafx.geom.transform.Affine2D.translate:(DD)V
        49: .line 101
      StackMap locals: int[] com.sun.prism.paint.Gradient com.sun.javafx.geom.transform.BaseTransform int int int int float float float float com.sun.prism.paint.Gradient int float[] com.sun.prism.paint.Color[] top com.sun.prism.paint.RadialGradient float float float double float float float float
      StackMap stack:
            fload 17 /* radius */
            fload 25 /* scale */
            fmul
            fstore 17 /* radius */
        end local 25 // float scale
        end local 24 // float bcy
        end local 23 // float bcx
        50: .line 103
      StackMap locals:
      StackMap stack:
            fload 17 /* radius */
            fconst_0
            fcmpg
            ifgt 52
        51: .line 104
            ldc 0.001
            fstore 17 /* radius */
        52: .line 106
      StackMap locals:
      StackMap stack:
            fload 22 /* fd */
            fload 17 /* radius */
            fmul
            fstore 22 /* fd */
        53: .line 107
            fload 18 /* cx */
            f2d
            fload 22 /* fd */
            f2d
            dload 20 /* fa */
            invokestatic java.lang.Math.cos:(D)D
            dmul
            dadd
            d2f
            fstore 23 /* fx */
        start local 23 // float fx
        54: .line 108
            fload 19 /* cy */
            f2d
            fload 22 /* fd */
            f2d
            dload 20 /* fa */
            invokestatic java.lang.Math.sin:(D)D
            dmul
            dadd
            d2f
            fstore 24 /* fy */
        start local 24 // float fy
        55: .line 109
            new com.sun.prism.impl.paint.RadialGradientContext
            dup
            aload 16 /* rgrad */
            getstatic com.sun.prism.impl.paint.PaintUtil.gradXform:Lcom/sun/javafx/geom/transform/Affine2D;
        56: .line 110
            fload 18 /* cx */
            fload 19 /* cy */
            fload 17 /* radius */
            fload 23 /* fx */
            fload 24 /* fy */
        57: .line 111
            aload 13 /* fractions */
            aload 14 /* colors */
        58: .line 112
            aload 16 /* rgrad */
            invokevirtual com.sun.prism.paint.RadialGradient.getSpreadMethod:()I
        59: .line 109
            invokespecial com.sun.prism.impl.paint.RadialGradientContext.<init>:(Lcom/sun/prism/paint/RadialGradient;Lcom/sun/javafx/geom/transform/BaseTransform;FFFFF[F[Lcom/sun/prism/paint/Color;I)V
            astore 15 /* context */
        end local 24 // float fy
        end local 23 // float fx
        end local 22 // float fd
        end local 20 // double fa
        end local 19 // float cy
        end local 18 // float cx
        end local 17 // float radius
        end local 16 // com.sun.prism.paint.RadialGradient rgrad
        start local 15 // com.sun.prism.impl.paint.MultipleGradientContext context
        60: .line 115
      StackMap locals: int[] com.sun.prism.paint.Gradient com.sun.javafx.geom.transform.BaseTransform int int int int float float float float com.sun.prism.paint.Gradient int float[] com.sun.prism.paint.Color[] com.sun.prism.impl.paint.MultipleGradientContext
      StackMap stack:
            aload 15 /* context */
            aload 0 /* pixels */
            iconst_0
            iconst_0
            iload 3 /* px */
            iload 4 /* py */
            iload 5 /* pw */
            iload 6 /* ph */
            invokevirtual com.sun.prism.impl.paint.MultipleGradientContext.fillRaster:([IIIIIII)V
        61: .line 116
            return
        end local 15 // com.sun.prism.impl.paint.MultipleGradientContext context
        end local 14 // com.sun.prism.paint.Color[] colors
        end local 13 // float[] fractions
        end local 12 // int numStops
        end local 11 // com.sun.prism.paint.Gradient mgrad
        end local 10 // float bh
        end local 9 // float bw
        end local 8 // float by
        end local 7 // float bx
        end local 6 // int ph
        end local 5 // int pw
        end local 4 // int py
        end local 3 // int px
        end local 2 // com.sun.javafx.geom.transform.BaseTransform xform
        end local 1 // com.sun.prism.paint.Gradient grad
        end local 0 // int[] pixels
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   62     0     pixels  [I
            0   62     1       grad  Lcom/sun/prism/paint/Gradient;
            0   62     2      xform  Lcom/sun/javafx/geom/transform/BaseTransform;
            0   62     3         px  I
            0   62     4         py  I
            0   62     5         pw  I
            0   62     6         ph  I
            0   62     7         bx  F
            0   62     8         by  F
            0   62     9         bw  F
            0   62    10         bh  F
            1   62    11      mgrad  Lcom/sun/prism/paint/Gradient;
            2   62    12   numStops  I
            3   62    13  fractions  [F
            4   62    14     colors  [Lcom/sun/prism/paint/Color;
            5   11    15          i  I
            7    9    16       stop  Lcom/sun/prism/paint/Stop;
           31   32    15    context  Lcom/sun/prism/impl/paint/MultipleGradientContext;
           60   62    15    context  Lcom/sun/prism/impl/paint/MultipleGradientContext;
           13   31    16      lgrad  Lcom/sun/prism/paint/LinearGradient;
           15   19    17         x1  F
           20   31    17         x1  F
           16   19    18         y1  F
           21   31    18         y1  F
           17   19    19         x2  F
           22   31    19         x2  F
           18   19    20         y2  F
           23   31    20         y2  F
           33   60    16      rgrad  Lcom/sun/prism/paint/RadialGradient;
           35   60    17     radius  F
           36   60    18         cx  F
           37   60    19         cy  F
           38   60    20         fa  D
           39   60    22         fd  F
           41   50    23        bcx  F
           42   50    24        bcy  F
           43   50    25      scale  F
           54   60    23         fx  F
           55   60    24         fy  F
    MethodParameters:
        Name  Flags
      pixels  
      grad    
      xform   
      px      
      py      
      pw      
      ph      
      bx      
      by      
      bw      
      bh      
}
SourceFile: "PaintUtil.java"
InnerClasses:
  public final Type = com.sun.prism.paint.Paint$Type of com.sun.prism.paint.Paint