public class javax.swing.GrayFilter extends java.awt.image.RGBImageFilter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.swing.GrayFilter
  super_class: java.awt.image.RGBImageFilter
{
  private boolean brighter;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int percent;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public static java.awt.Image createDisabledImage(java.awt.Image);
    descriptor: (Ljava/awt/Image;)Ljava/awt/Image;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.awt.Image i
         0: .line 48
            new javax.swing.GrayFilter
            dup
            iconst_1
            bipush 50
            invokespecial javax.swing.GrayFilter.<init>:(ZI)V
            astore 1 /* filter */
        start local 1 // javax.swing.GrayFilter filter
         1: .line 49
            new java.awt.image.FilteredImageSource
            dup
            aload 0 /* i */
            invokevirtual java.awt.Image.getSource:()Ljava/awt/image/ImageProducer;
            aload 1 /* filter */
            invokespecial java.awt.image.FilteredImageSource.<init>:(Ljava/awt/image/ImageProducer;Ljava/awt/image/ImageFilter;)V
            astore 2 /* prod */
        start local 2 // java.awt.image.ImageProducer prod
         2: .line 50
            invokestatic java.awt.Toolkit.getDefaultToolkit:()Ljava/awt/Toolkit;
            aload 2 /* prod */
            invokevirtual java.awt.Toolkit.createImage:(Ljava/awt/image/ImageProducer;)Ljava/awt/Image;
            astore 3 /* grayImage */
        start local 3 // java.awt.Image grayImage
         3: .line 51
            aload 3 /* grayImage */
            areturn
        end local 3 // java.awt.Image grayImage
        end local 2 // java.awt.image.ImageProducer prod
        end local 1 // javax.swing.GrayFilter filter
        end local 0 // java.awt.Image i
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0          i  Ljava/awt/Image;
            1    4     1     filter  Ljavax/swing/GrayFilter;
            2    4     2       prod  Ljava/awt/image/ImageProducer;
            3    4     3  grayImage  Ljava/awt/Image;
    MethodParameters:
      Name  Flags
      i     

  public void <init>(boolean, int);
    descriptor: (ZI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // javax.swing.GrayFilter this
        start local 1 // boolean b
        start local 2 // int p
         0: .line 63
            aload 0 /* this */
            invokespecial java.awt.image.RGBImageFilter.<init>:()V
         1: .line 64
            aload 0 /* this */
            iload 1 /* b */
            putfield javax.swing.GrayFilter.brighter:Z
         2: .line 65
            aload 0 /* this */
            iload 2 /* p */
            putfield javax.swing.GrayFilter.percent:I
         3: .line 71
            aload 0 /* this */
            iconst_1
            putfield javax.swing.GrayFilter.canFilterIndexColorModel:Z
         4: .line 72
            return
        end local 2 // int p
        end local 1 // boolean b
        end local 0 // javax.swing.GrayFilter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/swing/GrayFilter;
            0    5     1     b  Z
            0    5     2     p  I
    MethodParameters:
      Name  Flags
      b     
      p     

  public int filterRGB(int, int, int);
    descriptor: (III)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // javax.swing.GrayFilter this
        start local 1 // int x
        start local 2 // int y
        start local 3 // int rgb
         0: .line 79
            ldc 0.3
            iload 3 /* rgb */
            bipush 16
            ishr
            sipush 255
            iand
            i2d
            dmul
         1: .line 80
            ldc 0.59
            iload 3 /* rgb */
            bipush 8
            ishr
            sipush 255
            iand
            i2d
            dmul
         2: .line 79
            dadd
         3: .line 81
            ldc 0.11
            iload 3 /* rgb */
            sipush 255
            iand
            i2d
            dmul
         4: .line 79
            dadd
         5: .line 81
            ldc 3.0
         6: .line 79
            ddiv
            d2i
            istore 4 /* gray */
        start local 4 // int gray
         7: .line 83
            aload 0 /* this */
            getfield javax.swing.GrayFilter.brighter:Z
            ifeq 10
         8: .line 84
            sipush 255
            sipush 255
            iload 4 /* gray */
            isub
            bipush 100
            aload 0 /* this */
            getfield javax.swing.GrayFilter.percent:I
            isub
            imul
            bipush 100
            idiv
            isub
            istore 4 /* gray */
         9: .line 85
            goto 11
        10: .line 86
      StackMap locals: int
      StackMap stack:
            iload 4 /* gray */
            bipush 100
            aload 0 /* this */
            getfield javax.swing.GrayFilter.percent:I
            isub
            imul
            bipush 100
            idiv
            istore 4 /* gray */
        11: .line 89
      StackMap locals:
      StackMap stack:
            iload 4 /* gray */
            ifge 12
            iconst_0
            istore 4 /* gray */
        12: .line 90
      StackMap locals:
      StackMap stack:
            iload 4 /* gray */
            sipush 255
            if_icmple 13
            sipush 255
            istore 4 /* gray */
        13: .line 91
      StackMap locals:
      StackMap stack:
            iload 3 /* rgb */
            ldc -16777216
            iand
            iload 4 /* gray */
            bipush 16
            ishl
            ior
            iload 4 /* gray */
            bipush 8
            ishl
            ior
            iload 4 /* gray */
            iconst_0
            ishl
            ior
            ireturn
        end local 4 // int gray
        end local 3 // int rgb
        end local 2 // int y
        end local 1 // int x
        end local 0 // javax.swing.GrayFilter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljavax/swing/GrayFilter;
            0   14     1     x  I
            0   14     2     y  I
            0   14     3   rgb  I
            7   14     4  gray  I
    MethodParameters:
      Name  Flags
      x     
      y     
      rgb   
}
SourceFile: "GrayFilter.java"