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 40
            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 41
            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 42
            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 43
            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 37
            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 46
            aload 0 /* xrComp */
            putstatic sun.java2d.xr.XRPaints.xrCompMan:Lsun/java2d/xr/XRCompositeManager;
         1: .line 47
            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 50
            aload 0 /* sg2d */
            getfield sun.java2d.SunGraphics2D.paintState:I
            tableswitch { // 2 - 5
                    2: 1
                    3: 2
                    4: 3
                    5: 4
              default: 5
          }
         1: .line 52
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.xr.XRPaints.xrGradient:Lsun/java2d/xr/XRPaints$XRGradient;
            areturn
         2: .line 55
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.xr.XRPaints.xrLinearGradient:Lsun/java2d/xr/XRPaints$XRLinearGradient;
            areturn
         3: .line 58
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.xr.XRPaints.xrRadialGradient:Lsun/java2d/xr/XRPaints$XRRadialGradient;
            areturn
         4: .line 61
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.xr.XRPaints.xrTexture:Lsun/java2d/xr/XRPaints$XRTexture;
            areturn
         5: .line 64
      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 75
            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 76
            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 80
            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 81
            aload 2 /* impl */
            ifnull 3
         2: .line 82
            aload 2 /* impl */
            aload 0 /* sg2d */
            aload 1 /* paint */
            invokevirtual sun.java2d.xr.XRPaints.setXRPaint:(Lsun/java2d/SunGraphics2D;Ljava/awt/Paint;)V
         3: .line 84
      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 136
            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 137
            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 138
            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[], boolean);
    descriptor: ([Ljava/awt/Color;Z)[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // sun.java2d.xr.XRPaints this
        start local 1 // java.awt.Color[] colors
        start local 2 // boolean linear
         0: .line 290
            aload 1 /* colors */
            arraylength
            newarray 10
            astore 3 /* pixels */
        start local 3 // int[] pixels
         1: .line 291
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 292
      StackMap locals: int[] int
      StackMap stack:
            aload 3 /* pixels */
            iload 4 /* i */
            aload 0 /* this */
            aload 1 /* colors */
            iload 4 /* i */
            aaload
            iload 2 /* linear */
            invokevirtual sun.java2d.xr.XRPaints.colorToIntArgbPixel:(Ljava/awt/Color;Z)I
            iastore
         4: .line 291
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            aload 1 /* colors */
            arraylength
            if_icmplt 3
        end local 4 // int i
         6: .line 294
            aload 3 /* pixels */
            areturn
        end local 3 // int[] pixels
        end local 2 // boolean linear
        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;
            0    7     2  linear  Z
            1    7     3  pixels  [I
            2    6     4       i  I
    MethodParameters:
        Name  Flags
      colors  
      linear  

  public int colorToIntArgbPixel(java.awt.Color, boolean);
    descriptor: (Ljava/awt/Color;Z)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // sun.java2d.xr.XRPaints this
        start local 1 // java.awt.Color c
        start local 2 // boolean linear
         0: .line 298
            aload 1 /* c */
            invokevirtual java.awt.Color.getRGB:()I
            istore 3 /* rgb */
        start local 3 // int rgb
         1: .line 300
            iload 3 /* rgb */
            bipush 24
            iushr
            istore 4 /* a */
        start local 4 // int a
         2: .line 301
            iload 3 /* rgb */
            bipush 16
            ishr
            sipush 255
            iand
            istore 5 /* r */
        start local 5 // int r
         3: .line 302
            iload 3 /* rgb */
            bipush 8
            ishr
            sipush 255
            iand
            istore 6 /* g */
        start local 6 // int g
         4: .line 303
            iload 3 /* rgb */
            sipush 255
            iand
            istore 7 /* b */
        start local 7 // int b
         5: .line 304
            iload 2 /* linear */
            ifeq 9
         6: .line 305
            iload 5 /* r */
            invokestatic sun.java2d.pipe.BufferedPaints.convertSRGBtoLinearRGB:(I)I
            istore 5 /* r */
         7: .line 306
            iload 6 /* g */
            invokestatic sun.java2d.pipe.BufferedPaints.convertSRGBtoLinearRGB:(I)I
            istore 6 /* g */
         8: .line 307
            iload 7 /* b */
            invokestatic sun.java2d.pipe.BufferedPaints.convertSRGBtoLinearRGB:(I)I
            istore 7 /* b */
         9: .line 310
      StackMap locals: sun.java2d.xr.XRPaints java.awt.Color int int int int int int
      StackMap stack:
            iload 4 /* a */
            i2f
            getstatic sun.java2d.xr.XRPaints.xrCompMan:Lsun/java2d/xr/XRCompositeManager;
            invokevirtual sun.java2d.xr.XRCompositeManager.getExtraAlpha:()F
            fmul
            f2i
            istore 4 /* a */
        10: .line 312
            iload 4 /* a */
            bipush 24
            ishl
            iload 5 /* r */
            bipush 16
            ishl
            ior
            iload 6 /* g */
            bipush 8
            ishl
            ior
            iload 7 /* b */
            ior
            ireturn
        end local 7 // int b
        end local 6 // int g
        end local 5 // int r
        end local 4 // int a
        end local 3 // int rgb
        end local 2 // boolean linear
        end local 1 // java.awt.Color c
        end local 0 // sun.java2d.xr.XRPaints this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lsun/java2d/xr/XRPaints;
            0   11     1       c  Ljava/awt/Color;
            0   11     2  linear  Z
            1   11     3     rgb  I
            2   11     4       a  I
            3   11     5       r  I
            4   11     6       g  I
            5   11     7       b  I
    MethodParameters:
        Name  Flags
      c       
      linear  
}
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