class javax.swing.plaf.metal.MetalBumps implements javax.swing.Icon
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.swing.plaf.metal.MetalBumps
  super_class: java.lang.Object
{
  static final java.awt.Color ALPHA;
    descriptor: Ljava/awt/Color;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  protected int xBumps;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int yBumps;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected java.awt.Color topColor;
    descriptor: Ljava/awt/Color;
    flags: (0x0004) ACC_PROTECTED

  protected java.awt.Color shadowColor;
    descriptor: Ljava/awt/Color;
    flags: (0x0004) ACC_PROTECTED

  protected java.awt.Color backColor;
    descriptor: Ljava/awt/Color;
    flags: (0x0004) ACC_PROTECTED

  private static final java.lang.Object METAL_BUMPS;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected javax.swing.plaf.metal.BumpBuffer buffer;
    descriptor: Ljavax/swing/plaf/metal/BumpBuffer;
    flags: (0x0004) ACC_PROTECTED

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 45
            new java.awt.Color
            dup
            iconst_0
            iconst_0
            iconst_0
            iconst_0
            invokespecial java.awt.Color.<init>:(IIII)V
            putstatic javax.swing.plaf.metal.MetalBumps.ALPHA:Ljava/awt/Color;
         1: .line 53
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic javax.swing.plaf.metal.MetalBumps.METAL_BUMPS:Ljava/lang/Object;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(int, int, java.awt.Color, java.awt.Color, java.awt.Color);
    descriptor: (IILjava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // javax.swing.plaf.metal.MetalBumps this
        start local 1 // int width
        start local 2 // int height
        start local 3 // java.awt.Color newTopColor
        start local 4 // java.awt.Color newShadowColor
        start local 5 // java.awt.Color newBackColor
         0: .line 61
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 63
            aload 0 /* this */
            iload 1 /* width */
            iload 2 /* height */
            invokevirtual javax.swing.plaf.metal.MetalBumps.setBumpArea:(II)V
         2: .line 64
            aload 0 /* this */
            aload 3 /* newTopColor */
            aload 4 /* newShadowColor */
            aload 5 /* newBackColor */
            invokevirtual javax.swing.plaf.metal.MetalBumps.setBumpColors:(Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V
         3: .line 65
            return
        end local 5 // java.awt.Color newBackColor
        end local 4 // java.awt.Color newShadowColor
        end local 3 // java.awt.Color newTopColor
        end local 2 // int height
        end local 1 // int width
        end local 0 // javax.swing.plaf.metal.MetalBumps this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Ljavax/swing/plaf/metal/MetalBumps;
            0    4     1           width  I
            0    4     2          height  I
            0    4     3     newTopColor  Ljava/awt/Color;
            0    4     4  newShadowColor  Ljava/awt/Color;
            0    4     5    newBackColor  Ljava/awt/Color;
    MethodParameters:
                Name  Flags
      width           
      height          
      newTopColor     
      newShadowColor  
      newBackColor    

  private static javax.swing.plaf.metal.BumpBuffer createBuffer(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;)Ljavax/swing/plaf/metal/BumpBuffer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // java.awt.GraphicsConfiguration gc
        start local 1 // java.awt.Color topColor
        start local 2 // java.awt.Color shadowColor
        start local 3 // java.awt.Color backColor
         0: .line 69
            invokestatic sun.awt.AppContext.getAppContext:()Lsun/awt/AppContext;
            astore 4 /* context */
        start local 4 // sun.awt.AppContext context
         1: .line 70
            aload 4 /* context */
            getstatic javax.swing.plaf.metal.MetalBumps.METAL_BUMPS:Ljava/lang/Object;
            invokevirtual sun.awt.AppContext.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 5 /* buffers */
        start local 5 // java.util.List buffers
         2: .line 71
            aload 5 /* buffers */
            ifnonnull 5
         3: .line 72
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* buffers */
         4: .line 73
            aload 4 /* context */
            getstatic javax.swing.plaf.metal.MetalBumps.METAL_BUMPS:Ljava/lang/Object;
            aload 5 /* buffers */
            invokevirtual sun.awt.AppContext.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 75
      StackMap locals: sun.awt.AppContext java.util.List
      StackMap stack:
            aload 5 /* buffers */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 9
      StackMap locals: java.awt.GraphicsConfiguration java.awt.Color java.awt.Color java.awt.Color sun.awt.AppContext java.util.List top java.util.Iterator
      StackMap stack:
         6: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.swing.plaf.metal.BumpBuffer
            astore 6 /* buffer */
        start local 6 // javax.swing.plaf.metal.BumpBuffer buffer
         7: .line 76
            aload 6 /* buffer */
            aload 0 /* gc */
            aload 1 /* topColor */
            aload 2 /* shadowColor */
            aload 3 /* backColor */
            invokevirtual javax.swing.plaf.metal.BumpBuffer.hasSameConfiguration:(Ljava/awt/GraphicsConfiguration;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)Z
            ifeq 9
         8: .line 77
            aload 6 /* buffer */
            areturn
        end local 6 // javax.swing.plaf.metal.BumpBuffer buffer
         9: .line 75
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 80
            new javax.swing.plaf.metal.BumpBuffer
            dup
            aload 0 /* gc */
            aload 1 /* topColor */
            aload 2 /* shadowColor */
            aload 3 /* backColor */
            invokespecial javax.swing.plaf.metal.BumpBuffer.<init>:(Ljava/awt/GraphicsConfiguration;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V
            astore 6 /* buffer */
        start local 6 // javax.swing.plaf.metal.BumpBuffer buffer
        11: .line 81
            aload 5 /* buffers */
            aload 6 /* buffer */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 82
            aload 6 /* buffer */
            areturn
        end local 6 // javax.swing.plaf.metal.BumpBuffer buffer
        end local 5 // java.util.List buffers
        end local 4 // sun.awt.AppContext context
        end local 3 // java.awt.Color backColor
        end local 2 // java.awt.Color shadowColor
        end local 1 // java.awt.Color topColor
        end local 0 // java.awt.GraphicsConfiguration gc
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0           gc  Ljava/awt/GraphicsConfiguration;
            0   13     1     topColor  Ljava/awt/Color;
            0   13     2  shadowColor  Ljava/awt/Color;
            0   13     3    backColor  Ljava/awt/Color;
            1   13     4      context  Lsun/awt/AppContext;
            2   13     5      buffers  Ljava/util/List<Ljavax/swing/plaf/metal/BumpBuffer;>;
            7    9     6       buffer  Ljavax/swing/plaf/metal/BumpBuffer;
           11   13     6       buffer  Ljavax/swing/plaf/metal/BumpBuffer;
    MethodParameters:
             Name  Flags
      gc           
      topColor     
      shadowColor  
      backColor    

  public void setBumpArea(java.awt.Dimension);
    descriptor: (Ljava/awt/Dimension;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.swing.plaf.metal.MetalBumps this
        start local 1 // java.awt.Dimension bumpArea
         0: .line 86
            aload 0 /* this */
            aload 1 /* bumpArea */
            getfield java.awt.Dimension.width:I
            aload 1 /* bumpArea */
            getfield java.awt.Dimension.height:I
            invokevirtual javax.swing.plaf.metal.MetalBumps.setBumpArea:(II)V
         1: .line 87
            return
        end local 1 // java.awt.Dimension bumpArea
        end local 0 // javax.swing.plaf.metal.MetalBumps this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljavax/swing/plaf/metal/MetalBumps;
            0    2     1  bumpArea  Ljava/awt/Dimension;
    MethodParameters:
          Name  Flags
      bumpArea  

  public void setBumpArea(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.swing.plaf.metal.MetalBumps this
        start local 1 // int width
        start local 2 // int height
         0: .line 90
            aload 0 /* this */
            iload 1 /* width */
            iconst_2
            idiv
            putfield javax.swing.plaf.metal.MetalBumps.xBumps:I
         1: .line 91
            aload 0 /* this */
            iload 2 /* height */
            iconst_2
            idiv
            putfield javax.swing.plaf.metal.MetalBumps.yBumps:I
         2: .line 92
            return
        end local 2 // int height
        end local 1 // int width
        end local 0 // javax.swing.plaf.metal.MetalBumps this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljavax/swing/plaf/metal/MetalBumps;
            0    3     1   width  I
            0    3     2  height  I
    MethodParameters:
        Name  Flags
      width   
      height  

  public void setBumpColors(java.awt.Color, java.awt.Color, java.awt.Color);
    descriptor: (Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // javax.swing.plaf.metal.MetalBumps this
        start local 1 // java.awt.Color newTopColor
        start local 2 // java.awt.Color newShadowColor
        start local 3 // java.awt.Color newBackColor
         0: .line 95
            aload 0 /* this */
            aload 1 /* newTopColor */
            putfield javax.swing.plaf.metal.MetalBumps.topColor:Ljava/awt/Color;
         1: .line 96
            aload 0 /* this */
            aload 2 /* newShadowColor */
            putfield javax.swing.plaf.metal.MetalBumps.shadowColor:Ljava/awt/Color;
         2: .line 97
            aload 3 /* newBackColor */
            ifnonnull 5
         3: .line 98
            aload 0 /* this */
            getstatic javax.swing.plaf.metal.MetalBumps.ALPHA:Ljava/awt/Color;
            putfield javax.swing.plaf.metal.MetalBumps.backColor:Ljava/awt/Color;
         4: .line 99
            goto 6
         5: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* newBackColor */
            putfield javax.swing.plaf.metal.MetalBumps.backColor:Ljava/awt/Color;
         6: .line 103
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.awt.Color newBackColor
        end local 2 // java.awt.Color newShadowColor
        end local 1 // java.awt.Color newTopColor
        end local 0 // javax.swing.plaf.metal.MetalBumps this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Ljavax/swing/plaf/metal/MetalBumps;
            0    7     1     newTopColor  Ljava/awt/Color;
            0    7     2  newShadowColor  Ljava/awt/Color;
            0    7     3    newBackColor  Ljava/awt/Color;
    MethodParameters:
                Name  Flags
      newTopColor     
      newShadowColor  
      newBackColor    

  public void paintIcon(java.awt.Component, java.awt.Graphics, int, int);
    descriptor: (Ljava/awt/Component;Ljava/awt/Graphics;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=15, args_size=5
        start local 0 // javax.swing.plaf.metal.MetalBumps this
        start local 1 // java.awt.Component c
        start local 2 // java.awt.Graphics g
        start local 3 // int x
        start local 4 // int y
         0: .line 106
            aload 2 /* g */
            instanceof java.awt.Graphics2D
            ifeq 2
         1: .line 107
            aload 2 /* g */
            checkcast java.awt.Graphics2D
            invokevirtual java.awt.Graphics2D.getDeviceConfiguration:()Ljava/awt/GraphicsConfiguration;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
         3: .line 106
      StackMap locals:
      StackMap stack: java.awt.GraphicsConfiguration
            astore 5 /* gc */
        start local 5 // java.awt.GraphicsConfiguration gc
         4: .line 109
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalBumps.buffer:Ljavax/swing/plaf/metal/BumpBuffer;
            ifnull 5
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalBumps.buffer:Ljavax/swing/plaf/metal/BumpBuffer;
            aload 5 /* gc */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalBumps.topColor:Ljava/awt/Color;
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalBumps.shadowColor:Ljava/awt/Color;
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalBumps.backColor:Ljava/awt/Color;
            invokevirtual javax.swing.plaf.metal.BumpBuffer.hasSameConfiguration:(Ljava/awt/GraphicsConfiguration;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)Z
            ifne 6
         5: .line 110
      StackMap locals: java.awt.GraphicsConfiguration
      StackMap stack:
            aload 0 /* this */
            aload 5 /* gc */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalBumps.topColor:Ljava/awt/Color;
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalBumps.shadowColor:Ljava/awt/Color;
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalBumps.backColor:Ljava/awt/Color;
            invokestatic javax.swing.plaf.metal.MetalBumps.createBuffer:(Ljava/awt/GraphicsConfiguration;Ljava/awt/Color;Ljava/awt/Color;Ljava/awt/Color;)Ljavax/swing/plaf/metal/BumpBuffer;
            putfield javax.swing.plaf.metal.MetalBumps.buffer:Ljavax/swing/plaf/metal/BumpBuffer;
         6: .line 113
      StackMap locals:
      StackMap stack:
            bipush 64
            istore 6 /* bufferWidth */
        start local 6 // int bufferWidth
         7: .line 114
            bipush 64
            istore 7 /* bufferHeight */
        start local 7 // int bufferHeight
         8: .line 115
            aload 0 /* this */
            invokevirtual javax.swing.plaf.metal.MetalBumps.getIconWidth:()I
            istore 8 /* iconWidth */
        start local 8 // int iconWidth
         9: .line 116
            aload 0 /* this */
            invokevirtual javax.swing.plaf.metal.MetalBumps.getIconHeight:()I
            istore 9 /* iconHeight */
        start local 9 // int iconHeight
        10: .line 117
            iload 3 /* x */
            iload 8 /* iconWidth */
            iadd
            istore 10 /* x2 */
        start local 10 // int x2
        11: .line 118
            iload 4 /* y */
            iload 9 /* iconHeight */
            iadd
            istore 11 /* y2 */
        start local 11 // int y2
        12: .line 119
            iload 3 /* x */
            istore 12 /* savex */
        start local 12 // int savex
        13: .line 121
            goto 25
        14: .line 122
      StackMap locals: javax.swing.plaf.metal.MetalBumps java.awt.Component java.awt.Graphics int int java.awt.GraphicsConfiguration int int int int int int int
      StackMap stack:
            iload 11 /* y2 */
            iload 4 /* y */
            isub
            iload 7 /* bufferHeight */
            invokestatic java.lang.Math.min:(II)I
            istore 13 /* h */
        start local 13 // int h
        15: .line 123
            iload 12 /* savex */
            istore 3 /* x */
            goto 23
        16: .line 124
      StackMap locals: int
      StackMap stack:
            iload 10 /* x2 */
            iload 3 /* x */
            isub
            iload 6 /* bufferWidth */
            invokestatic java.lang.Math.min:(II)I
            istore 14 /* w */
        start local 14 // int w
        17: .line 125
            aload 2 /* g */
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalBumps.buffer:Ljavax/swing/plaf/metal/BumpBuffer;
            invokevirtual javax.swing.plaf.metal.BumpBuffer.getImage:()Ljava/awt/Image;
        18: .line 126
            iload 3 /* x */
            iload 4 /* y */
            iload 3 /* x */
            iload 14 /* w */
            iadd
            iload 4 /* y */
            iload 13 /* h */
            iadd
        19: .line 127
            iconst_0
            iconst_0
            iload 14 /* w */
            iload 13 /* h */
        20: .line 128
            aconst_null
        21: .line 125
            invokevirtual java.awt.Graphics.drawImage:(Ljava/awt/Image;IIIIIIIILjava/awt/image/ImageObserver;)Z
            pop
        end local 14 // int w
        22: .line 123
            iload 3 /* x */
            iload 6 /* bufferWidth */
            iadd
            istore 3 /* x */
      StackMap locals:
      StackMap stack:
        23: iload 3 /* x */
            iload 10 /* x2 */
            if_icmplt 16
        24: .line 130
            iload 4 /* y */
            iload 7 /* bufferHeight */
            iadd
            istore 4 /* y */
        end local 13 // int h
        25: .line 121
      StackMap locals:
      StackMap stack:
            iload 4 /* y */
            iload 11 /* y2 */
            if_icmplt 14
        26: .line 132
            return
        end local 12 // int savex
        end local 11 // int y2
        end local 10 // int x2
        end local 9 // int iconHeight
        end local 8 // int iconWidth
        end local 7 // int bufferHeight
        end local 6 // int bufferWidth
        end local 5 // java.awt.GraphicsConfiguration gc
        end local 4 // int y
        end local 3 // int x
        end local 2 // java.awt.Graphics g
        end local 1 // java.awt.Component c
        end local 0 // javax.swing.plaf.metal.MetalBumps this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   27     0          this  Ljavax/swing/plaf/metal/MetalBumps;
            0   27     1             c  Ljava/awt/Component;
            0   27     2             g  Ljava/awt/Graphics;
            0   27     3             x  I
            0   27     4             y  I
            4   27     5            gc  Ljava/awt/GraphicsConfiguration;
            7   27     6   bufferWidth  I
            8   27     7  bufferHeight  I
            9   27     8     iconWidth  I
           10   27     9    iconHeight  I
           11   27    10            x2  I
           12   27    11            y2  I
           13   27    12         savex  I
           15   25    13             h  I
           17   22    14             w  I
    MethodParameters:
      Name  Flags
      c     
      g     
      x     
      y     

  public int getIconWidth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalBumps this
         0: .line 135
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalBumps.xBumps:I
            iconst_2
            imul
            ireturn
        end local 0 // javax.swing.plaf.metal.MetalBumps this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/metal/MetalBumps;

  public int getIconHeight();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.swing.plaf.metal.MetalBumps this
         0: .line 139
            aload 0 /* this */
            getfield javax.swing.plaf.metal.MetalBumps.yBumps:I
            iconst_2
            imul
            ireturn
        end local 0 // javax.swing.plaf.metal.MetalBumps this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/swing/plaf/metal/MetalBumps;
}
SourceFile: "MetalBumps.java"