class javax.swing.plaf.metal.BumpBuffer
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.swing.plaf.metal.BumpBuffer
  super_class: java.lang.Object
{
  static final int IMAGE_SIZE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  transient java.awt.Image image;
    descriptor: Ljava/awt/Image;
    flags: (0x0080) ACC_TRANSIENT

  java.awt.Color topColor;
    descriptor: Ljava/awt/Color;
    flags: (0x0000) 

  java.awt.Color shadowColor;
    descriptor: Ljava/awt/Color;
    flags: (0x0000) 

  java.awt.Color backColor;
    descriptor: Ljava/awt/Color;
    flags: (0x0000) 

  private java.awt.GraphicsConfiguration gc;
    descriptor: Ljava/awt/GraphicsConfiguration;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.awt.GraphicsConfiguration, java.awt.Color, java.awt.Color, java.awt.Color);
    descriptor: (Ljava/awt/GraphicsConfiguration;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // javax.swing.plaf.metal.BumpBuffer this
        start local 1 // java.awt.GraphicsConfiguration gc
        start local 2 // java.awt.Color aTopColor
        start local 3 // java.awt.Color aShadowColor
        start local 4 // java.awt.Color aBackColor
         0: .line 164
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 166
            aload 0 /* this */
            aload 1 /* gc */
            putfield javax.swing.plaf.metal.BumpBuffer.gc:Ljava/awt/GraphicsConfiguration;
         2: .line 167
            aload 0 /* this */
            aload 2 /* aTopColor */
            putfield javax.swing.plaf.metal.BumpBuffer.topColor:Ljava/awt/Color;
         3: .line 168
            aload 0 /* this */
            aload 3 /* aShadowColor */
            putfield javax.swing.plaf.metal.BumpBuffer.shadowColor:Ljava/awt/Color;
         4: .line 169
            aload 0 /* this */
            aload 4 /* aBackColor */
            putfield javax.swing.plaf.metal.BumpBuffer.backColor:Ljava/awt/Color;
         5: .line 170
            aload 0 /* this */
            invokevirtual javax.swing.plaf.metal.BumpBuffer.createImage:()V
         6: .line 171
            aload 0 /* this */
            invokevirtual javax.swing.plaf.metal.BumpBuffer.fillBumpBuffer:()V
         7: .line 172
            return
        end local 4 // java.awt.Color aBackColor
        end local 3 // java.awt.Color aShadowColor
        end local 2 // java.awt.Color aTopColor
        end local 1 // java.awt.GraphicsConfiguration gc
        end local 0 // javax.swing.plaf.metal.BumpBuffer this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Ljavax/swing/plaf/metal/BumpBuffer;
            0    8     1            gc  Ljava/awt/GraphicsConfiguration;
            0    8     2     aTopColor  Ljava/awt/Color;
            0    8     3  aShadowColor  Ljava/awt/Color;
            0    8     4    aBackColor  Ljava/awt/Color;
    MethodParameters:
              Name  Flags
      gc            
      aTopColor     
      aShadowColor  
      aBackColor    

  public boolean hasSameConfiguration(java.awt.GraphicsConfiguration, java.awt.Color, java.awt.Color, java.awt.Color);
    descriptor: (Ljava/awt/GraphicsConfiguration;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // javax.swing.plaf.metal.BumpBuffer this
        start local 1 // java.awt.GraphicsConfiguration gc
        start local 2 // java.awt.Color aTopColor
        start local 3 // java.awt.Color aShadowColor
        start local 4 // java.awt.Color aBackColor
         0: .line 177
            aload 0 /* this */
            getfield javax.swing.plaf.metal.BumpBuffer.gc:Ljava/awt/GraphicsConfiguration;
            ifnull 3
         1: .line 178
            aload 0 /* this */
            getfield javax.swing.plaf.metal.BumpBuffer.gc:Ljava/awt/GraphicsConfiguration;
            aload 1 /* gc */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 5
         2: .line 179
            iconst_0
            ireturn
         3: .line 182
      StackMap locals:
      StackMap stack:
            aload 1 /* gc */
            ifnull 5
         4: .line 183
            iconst_0
            ireturn
         5: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.swing.plaf.metal.BumpBuffer.topColor:Ljava/awt/Color;
            aload 2 /* aTopColor */
            invokevirtual java.awt.Color.equals:(Ljava/lang/Object;)Z
            ifeq 9
         6: .line 186
            aload 0 /* this */
            getfield javax.swing.plaf.metal.BumpBuffer.shadowColor:Ljava/awt/Color;
            aload 3 /* aShadowColor */
            invokevirtual java.awt.Color.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 187
            aload 0 /* this */
            getfield javax.swing.plaf.metal.BumpBuffer.backColor:Ljava/awt/Color;
            aload 4 /* aBackColor */
            invokevirtual java.awt.Color.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 185
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         9: iconst_0
            ireturn
        end local 4 // java.awt.Color aBackColor
        end local 3 // java.awt.Color aShadowColor
        end local 2 // java.awt.Color aTopColor
        end local 1 // java.awt.GraphicsConfiguration gc
        end local 0 // javax.swing.plaf.metal.BumpBuffer this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Ljavax/swing/plaf/metal/BumpBuffer;
            0   10     1            gc  Ljava/awt/GraphicsConfiguration;
            0   10     2     aTopColor  Ljava/awt/Color;
            0   10     3  aShadowColor  Ljava/awt/Color;
            0   10     4    aBackColor  Ljava/awt/Color;
    MethodParameters:
              Name  Flags
      gc            
      aTopColor     
      aShadowColor  
      aBackColor    

  public java.awt.Image getImage();
    descriptor: ()Ljava/awt/Image;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.BumpBuffer this
         0: .line 195
            aload 0 /* this */
            getfield javax.swing.plaf.metal.BumpBuffer.image:Ljava/awt/Image;
            areturn
        end local 0 // javax.swing.plaf.metal.BumpBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/metal/BumpBuffer;

  private void fillBumpBuffer();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // javax.swing.plaf.metal.BumpBuffer this
         0: .line 202
            aload 0 /* this */
            getfield javax.swing.plaf.metal.BumpBuffer.image:Ljava/awt/Image;
            invokevirtual java.awt.Image.getGraphics:()Ljava/awt/Graphics;
            astore 1 /* g */
        start local 1 // java.awt.Graphics g
         1: .line 204
            aload 1 /* g */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.BumpBuffer.backColor:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         2: .line 205
            aload 1 /* g */
            iconst_0
            iconst_0
            bipush 64
            bipush 64
            invokevirtual java.awt.Graphics.fillRect:(IIII)V
         3: .line 207
            aload 1 /* g */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.BumpBuffer.topColor:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
         4: .line 208
            iconst_0
            istore 2 /* x */
        start local 2 // int x
         5: goto 13
         6: .line 209
      StackMap locals: java.awt.Graphics int
      StackMap stack:
            iconst_0
            istore 3 /* y */
        start local 3 // int y
         7: goto 11
         8: .line 210
      StackMap locals: int
      StackMap stack:
            aload 1 /* g */
            iload 2 /* x */
            iload 3 /* y */
            iload 2 /* x */
            iload 3 /* y */
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
         9: .line 211
            aload 1 /* g */
            iload 2 /* x */
            iconst_2
            iadd
            iload 3 /* y */
            iconst_2
            iadd
            iload 2 /* x */
            iconst_2
            iadd
            iload 3 /* y */
            iconst_2
            iadd
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        10: .line 209
            iinc 3 /* y */ 4
      StackMap locals:
      StackMap stack:
        11: iload 3 /* y */
            bipush 64
            if_icmplt 8
        end local 3 // int y
        12: .line 208
            iinc 2 /* x */ 4
      StackMap locals:
      StackMap stack:
        13: iload 2 /* x */
            bipush 64
            if_icmplt 6
        end local 2 // int x
        14: .line 215
            aload 1 /* g */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.BumpBuffer.shadowColor:Ljava/awt/Color;
            invokevirtual java.awt.Graphics.setColor:(Ljava/awt/Color;)V
        15: .line 216
            iconst_0
            istore 2 /* x */
        start local 2 // int x
        16: goto 24
        17: .line 217
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* y */
        start local 3 // int y
        18: goto 22
        19: .line 218
      StackMap locals: int
      StackMap stack:
            aload 1 /* g */
            iload 2 /* x */
            iconst_1
            iadd
            iload 3 /* y */
            iconst_1
            iadd
            iload 2 /* x */
            iconst_1
            iadd
            iload 3 /* y */
            iconst_1
            iadd
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        20: .line 219
            aload 1 /* g */
            iload 2 /* x */
            iconst_3
            iadd
            iload 3 /* y */
            iconst_3
            iadd
            iload 2 /* x */
            iconst_3
            iadd
            iload 3 /* y */
            iconst_3
            iadd
            invokevirtual java.awt.Graphics.drawLine:(IIII)V
        21: .line 217
            iinc 3 /* y */ 4
      StackMap locals:
      StackMap stack:
        22: iload 3 /* y */
            bipush 64
            if_icmplt 19
        end local 3 // int y
        23: .line 216
            iinc 2 /* x */ 4
      StackMap locals:
      StackMap stack:
        24: iload 2 /* x */
            bipush 64
            if_icmplt 17
        end local 2 // int x
        25: .line 222
            aload 1 /* g */
            invokevirtual java.awt.Graphics.dispose:()V
        26: .line 223
            return
        end local 1 // java.awt.Graphics g
        end local 0 // javax.swing.plaf.metal.BumpBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   27     0  this  Ljavax/swing/plaf/metal/BumpBuffer;
            1   27     1     g  Ljava/awt/Graphics;
            5   14     2     x  I
            7   12     3     y  I
           16   25     2     x  I
           18   23     3     y  I

  private void createImage();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=3, args_size=1
        start local 0 // javax.swing.plaf.metal.BumpBuffer this
         0: .line 230
            aload 0 /* this */
            getfield javax.swing.plaf.metal.BumpBuffer.gc:Ljava/awt/GraphicsConfiguration;
            ifnull 6
         1: .line 231
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.BumpBuffer.gc:Ljava/awt/GraphicsConfiguration;
            bipush 64
            bipush 64
         2: .line 232
            aload 0 /* this */
            getfield javax.swing.plaf.metal.BumpBuffer.backColor:Ljava/awt/Color;
            getstatic javax.swing.plaf.metal.MetalBumps.ALPHA:Ljava/awt/Color;
            if_acmpeq 3
            iconst_1
            goto 4
         3: .line 233
      StackMap locals: javax.swing.plaf.metal.BumpBuffer
      StackMap stack: javax.swing.plaf.metal.BumpBuffer java.awt.GraphicsConfiguration int int
            iconst_2
         4: .line 231
      StackMap locals: javax.swing.plaf.metal.BumpBuffer
      StackMap stack: javax.swing.plaf.metal.BumpBuffer java.awt.GraphicsConfiguration int int int
            invokevirtual java.awt.GraphicsConfiguration.createCompatibleImage:(III)Ljava/awt/image/BufferedImage;
            putfield javax.swing.plaf.metal.BumpBuffer.image:Ljava/awt/Image;
         5: .line 234
            goto 17
         6: .line 236
      StackMap locals:
      StackMap stack:
            iconst_3
            newarray 10
            dup
            iconst_0
            aload 0 /* this */
            getfield javax.swing.plaf.metal.BumpBuffer.backColor:Ljava/awt/Color;
            invokevirtual java.awt.Color.getRGB:()I
            iastore
            dup
            iconst_1
            aload 0 /* this */
            getfield javax.swing.plaf.metal.BumpBuffer.topColor:Ljava/awt/Color;
            invokevirtual java.awt.Color.getRGB:()I
            iastore
            dup
            iconst_2
         7: .line 237
            aload 0 /* this */
            getfield javax.swing.plaf.metal.BumpBuffer.shadowColor:Ljava/awt/Color;
            invokevirtual java.awt.Color.getRGB:()I
            iastore
         8: .line 236
            astore 1 /* cmap */
        start local 1 // int[] cmap
         9: .line 238
            new java.awt.image.IndexColorModel
            dup
            bipush 8
            iconst_3
            aload 1 /* cmap */
            iconst_0
            iconst_0
        10: .line 239
            aload 0 /* this */
            getfield javax.swing.plaf.metal.BumpBuffer.backColor:Ljava/awt/Color;
            getstatic javax.swing.plaf.metal.MetalBumps.ALPHA:Ljava/awt/Color;
            if_acmpne 11
            iconst_0
            goto 12
      StackMap locals: javax.swing.plaf.metal.BumpBuffer int[]
      StackMap stack: new 9 new 9 int int int[] int int
        11: iconst_m1
        12: .line 240
      StackMap locals: javax.swing.plaf.metal.BumpBuffer int[]
      StackMap stack: new 9 new 9 int int int[] int int int
            iconst_0
        13: .line 238
            invokespecial java.awt.image.IndexColorModel.<init>:(II[IIZII)V
            astore 2 /* icm */
        start local 2 // java.awt.image.IndexColorModel icm
        14: .line 241
            aload 0 /* this */
            new java.awt.image.BufferedImage
            dup
            bipush 64
            bipush 64
        15: .line 242
            bipush 13
            aload 2 /* icm */
            invokespecial java.awt.image.BufferedImage.<init>:(IIILjava/awt/image/IndexColorModel;)V
        16: .line 241
            putfield javax.swing.plaf.metal.BumpBuffer.image:Ljava/awt/Image;
        end local 2 // java.awt.image.IndexColorModel icm
        end local 1 // int[] cmap
        17: .line 244
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.swing.plaf.metal.BumpBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0  this  Ljavax/swing/plaf/metal/BumpBuffer;
            9   17     1  cmap  [I
           14   17     2   icm  Ljava/awt/image/IndexColorModel;
}
SourceFile: "MetalBumps.java"