abstract class sun.java2d.xr.XRPaints
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: sun.java2d.xr.XRPaints
  super_class: java.lang.Object
{
  static sun.java2d.xr.XRCompositeManager xrCompMan;
    descriptor: Lsun/java2d/xr/XRCompositeManager;
    flags: (0x0008) ACC_STATIC

  static final sun.java2d.xr.XRPaints$XRGradient xrGradient;
    descriptor: Lsun/java2d/xr/XRPaints$XRGradient;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.java2d.xr.XRPaints$XRLinearGradient xrLinearGradient;
    descriptor: Lsun/java2d/xr/XRPaints$XRLinearGradient;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.java2d.xr.XRPaints$XRRadialGradient xrRadialGradient;
    descriptor: Lsun/java2d/xr/XRPaints$XRRadialGradient;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final sun.java2d.xr.XRPaints$XRTexture xrTexture;
    descriptor: Lsun/java2d/xr/XRPaints$XRTexture;
    flags: (0x0018) 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 sun.java2d.xr.XRPaints$XRGradient
            dup
            invokespecial sun.java2d.xr.XRPaints$XRGradient.<init>:()V
            putstatic sun.java2d.xr.XRPaints.xrGradient:Lsun/java2d/xr/XRPaints$XRGradient;
         1: .line 40
            new sun.java2d.xr.XRPaints$XRLinearGradient
            dup
            invokespecial sun.java2d.xr.XRPaints$XRLinearGradient.<init>:()V
            putstatic sun.java2d.xr.XRPaints.xrLinearGradient:Lsun/java2d/xr/XRPaints$XRLinearGradient;
         2: .line 41
            new sun.java2d.xr.XRPaints$XRRadialGradient
            dup
            invokespecial sun.java2d.xr.XRPaints$XRRadialGradient.<init>:()V
            putstatic sun.java2d.xr.XRPaints.xrRadialGradient:Lsun/java2d/xr/XRPaints$XRRadialGradient;
         3: .line 42
            new sun.java2d.xr.XRPaints$XRTexture
            dup
            invokespecial sun.java2d.xr.XRPaints$XRTexture.<init>:()V
            putstatic sun.java2d.xr.XRPaints.xrTexture:Lsun/java2d/xr/XRPaints$XRTexture;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.java2d.xr.XRPaints this
         0: .line 36
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.java2d.xr.XRPaints this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/xr/XRPaints;

  public static void register(sun.java2d.xr.XRCompositeManager);
    descriptor: (Lsun/java2d/xr/XRCompositeManager;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.java2d.xr.XRCompositeManager xrComp
         0: .line 45
            aload 0 /* xrComp */
            putstatic sun.java2d.xr.XRPaints.xrCompMan:Lsun/java2d/xr/XRCompositeManager;
         1: .line 46
            return
        end local 0 // sun.java2d.xr.XRCompositeManager xrComp
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  xrComp  Lsun/java2d/xr/XRCompositeManager;
    MethodParameters:
        Name  Flags
      xrComp  

  private static sun.java2d.xr.XRPaints getXRPaint(sun.java2d.SunGraphics2D);
    descriptor: (Lsun/java2d/SunGraphics2D;)Lsun/java2d/xr/XRPaints;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.java2d.SunGraphics2D sg2d
         0: .line 49
            aload 0 /* sg2d */
            getfield sun.java2d.SunGraphics2D.paintState:I
            tableswitch { // 2 - 5
                    2: 1
                    3: 2
                    4: 3
                    5: 4
              default: 5
          }
         1: .line 51
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.xr.XRPaints.xrGradient:Lsun/java2d/xr/XRPaints$XRGradient;
            areturn
         2: .line 54
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.xr.XRPaints.xrLinearGradient:Lsun/java2d/xr/XRPaints$XRLinearGradient;
            areturn
         3: .line 57
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.xr.XRPaints.xrRadialGradient:Lsun/java2d/xr/XRPaints$XRRadialGradient;
            areturn
         4: .line 60
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.xr.XRPaints.xrTexture:Lsun/java2d/xr/XRPaints$XRTexture;
            areturn
         5: .line 63
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // sun.java2d.SunGraphics2D sg2d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  sg2d  Lsun/java2d/SunGraphics2D;
    MethodParameters:
      Name  Flags
      sg2d  

  static boolean isValid(sun.java2d.SunGraphics2D);
    descriptor: (Lsun/java2d/SunGraphics2D;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.java2d.SunGraphics2D sg2d
         0: .line 74
            aload 0 /* sg2d */
            invokestatic sun.java2d.xr.XRPaints.getXRPaint:(Lsun/java2d/SunGraphics2D;)Lsun/java2d/xr/XRPaints;
            astore 1 /* impl */
        start local 1 // sun.java2d.xr.XRPaints impl
         1: .line 75
            aload 1 /* impl */
            ifnull 2
            aload 1 /* impl */
            aload 0 /* sg2d */
            invokevirtual sun.java2d.xr.XRPaints.isPaintValid:(Lsun/java2d/SunGraphics2D;)Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals: sun.java2d.xr.XRPaints
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // sun.java2d.xr.XRPaints impl
        end local 0 // sun.java2d.SunGraphics2D sg2d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  sg2d  Lsun/java2d/SunGraphics2D;
            1    3     1  impl  Lsun/java2d/xr/XRPaints;
    MethodParameters:
      Name  Flags
      sg2d  

  static void setPaint(sun.java2d.SunGraphics2D, java.awt.Paint);
    descriptor: (Lsun/java2d/SunGraphics2D;Ljava/awt/Paint;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.java2d.SunGraphics2D sg2d
        start local 1 // java.awt.Paint paint
         0: .line 79
            aload 0 /* sg2d */
            invokestatic sun.java2d.xr.XRPaints.getXRPaint:(Lsun/java2d/SunGraphics2D;)Lsun/java2d/xr/XRPaints;
            astore 2 /* impl */
        start local 2 // sun.java2d.xr.XRPaints impl
         1: .line 80
            aload 2 /* impl */
            ifnull 3
         2: .line 81
            aload 2 /* impl */
            aload 0 /* sg2d */
            aload 1 /* paint */
            invokevirtual sun.java2d.xr.XRPaints.setXRPaint:(Lsun/java2d/SunGraphics2D;Ljava/awt/Paint;)V
         3: .line 83
      StackMap locals: sun.java2d.xr.XRPaints
      StackMap stack:
            return
        end local 2 // sun.java2d.xr.XRPaints impl
        end local 1 // java.awt.Paint paint
        end local 0 // sun.java2d.SunGraphics2D sg2d
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   sg2d  Lsun/java2d/SunGraphics2D;
            0    4     1  paint  Ljava/awt/Paint;
            1    4     2   impl  Lsun/java2d/xr/XRPaints;
    MethodParameters:
       Name  Flags
      sg2d   
      paint  

  abstract boolean isPaintValid(sun.java2d.SunGraphics2D);
    descriptor: (Lsun/java2d/SunGraphics2D;)Z
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      sg2d  

  abstract void setXRPaint(sun.java2d.SunGraphics2D, java.awt.Paint);
    descriptor: (Lsun/java2d/SunGraphics2D;Ljava/awt/Paint;)V
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      sg2d   
      paint  

  public int getGradientLength(java.awt.geom.Point2D, java.awt.geom.Point2D);
    descriptor: (Ljava/awt/geom/Point2D;Ljava/awt/geom/Point2D;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // sun.java2d.xr.XRPaints this
        start local 1 // java.awt.geom.Point2D pt1
        start local 2 // java.awt.geom.Point2D pt2
         0: .line 124
            aload 1 /* pt1 */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 2 /* pt2 */
            invokevirtual java.awt.geom.Point2D.getX:()D
            invokestatic java.lang.Math.max:(DD)D
            aload 1 /* pt1 */
            invokevirtual java.awt.geom.Point2D.getX:()D
            aload 2 /* pt2 */
            invokevirtual java.awt.geom.Point2D.getX:()D
            invokestatic java.lang.Math.min:(DD)D
            dsub
            dstore 3 /* xDiff */
        start local 3 // double xDiff
         1: .line 125
            aload 1 /* pt1 */
            invokevirtual java.awt.geom.Point2D.getY:()D
            aload 2 /* pt2 */
            invokevirtual java.awt.geom.Point2D.getY:()D
            invokestatic java.lang.Math.max:(DD)D
            aload 1 /* pt1 */
            invokevirtual java.awt.geom.Point2D.getY:()D
            aload 2 /* pt2 */
            invokevirtual java.awt.geom.Point2D.getY:()D
            invokestatic java.lang.Math.min:(DD)D
            dsub
            dstore 5 /* yDiff */
        start local 5 // double yDiff
         2: .line 126
            dload 3 /* xDiff */
            dload 3 /* xDiff */
            dmul
            dload 5 /* yDiff */
            dload 5 /* yDiff */
            dmul
            dadd
            invokestatic java.lang.Math.sqrt:(D)D
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            ireturn
        end local 5 // double yDiff
        end local 3 // double xDiff
        end local 2 // java.awt.geom.Point2D pt2
        end local 1 // java.awt.geom.Point2D pt1
        end local 0 // sun.java2d.xr.XRPaints this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/java2d/xr/XRPaints;
            0    3     1    pt1  Ljava/awt/geom/Point2D;
            0    3     2    pt2  Ljava/awt/geom/Point2D;
            1    3     3  xDiff  D
            2    3     5  yDiff  D
    MethodParameters:
      Name  Flags
      pt1   
      pt2   

  public int[] convertToIntArgbPixels(java.awt.Color[]);
    descriptor: ([Ljava/awt/Color;)[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.java2d.xr.XRPaints this
        start local 1 // java.awt.Color[] colors
         0: .line 253
            aload 1 /* colors */
            arraylength
            newarray 10
            astore 2 /* pixels */
        start local 2 // int[] pixels
         1: .line 254
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 255
      StackMap locals: int[] int
      StackMap stack:
            aload 2 /* pixels */
            iload 3 /* i */
            aload 0 /* this */
            aload 1 /* colors */
            iload 3 /* i */
            aaload
            invokevirtual sun.java2d.xr.XRPaints.colorToIntArgbPixel:(Ljava/awt/Color;)I
            iastore
         4: .line 254
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 1 /* colors */
            arraylength
            if_icmplt 3
        end local 3 // int i
         6: .line 257
            aload 2 /* pixels */
            areturn
        end local 2 // int[] pixels
        end local 1 // java.awt.Color[] colors
        end local 0 // sun.java2d.xr.XRPaints this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lsun/java2d/xr/XRPaints;
            0    7     1  colors  [Ljava/awt/Color;
            1    7     2  pixels  [I
            2    6     3       i  I
    MethodParameters:
        Name  Flags
      colors  

  public int colorToIntArgbPixel(java.awt.Color);
    descriptor: (Ljava/awt/Color;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.java2d.xr.XRPaints this
        start local 1 // java.awt.Color c
         0: .line 261
            aload 1 /* c */
            invokevirtual java.awt.Color.getRGB:()I
            istore 2 /* rgb */
        start local 2 // int rgb
         1: .line 262
            getstatic sun.java2d.xr.XRPaints.xrCompMan:Lsun/java2d/xr/XRCompositeManager;
            invokevirtual sun.java2d.xr.XRCompositeManager.getExtraAlpha:()F
            iload 2 /* rgb */
            bipush 24
            iushr
            i2f
            fmul
            invokestatic java.lang.Math.round:(F)I
            istore 3 /* a */
        start local 3 // int a
         2: .line 263
            iload 3 /* a */
            bipush 24
            ishl
            iload 2 /* rgb */
            ldc 16777215
            iand
            ior
            ireturn
        end local 3 // int a
        end local 2 // int rgb
        end local 1 // java.awt.Color c
        end local 0 // sun.java2d.xr.XRPaints this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/java2d/xr/XRPaints;
            0    3     1     c  Ljava/awt/Color;
            1    3     2   rgb  I
            2    3     3     a  I
    MethodParameters:
      Name  Flags
      c     
}
SourceFile: "XRPaints.java"
NestMembers:
  sun.java2d.xr.XRPaints$XRGradient  sun.java2d.xr.XRPaints$XRLinearGradient  sun.java2d.xr.XRPaints$XRRadialGradient  sun.java2d.xr.XRPaints$XRTexture
InnerClasses:
  private XRGradient = sun.java2d.xr.XRPaints$XRGradient of sun.java2d.xr.XRPaints
  private XRLinearGradient = sun.java2d.xr.XRPaints$XRLinearGradient of sun.java2d.xr.XRPaints
  private XRRadialGradient = sun.java2d.xr.XRPaints$XRRadialGradient of sun.java2d.xr.XRPaints
  private XRTexture = sun.java2d.xr.XRPaints$XRTexture of sun.java2d.xr.XRPaints