public abstract class java.awt.image.RGBImageFilter extends java.awt.image.ImageFilter
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: java.awt.image.RGBImageFilter
  super_class: java.awt.image.ImageFilter
{
  protected java.awt.image.ColorModel origmodel;
    descriptor: Ljava/awt/image/ColorModel;
    flags: (0x0004) ACC_PROTECTED

  protected java.awt.image.ColorModel newmodel;
    descriptor: Ljava/awt/image/ColorModel;
    flags: (0x0004) ACC_PROTECTED

  protected boolean canFilterIndexColorModel;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.awt.image.RGBImageFilter this
         0: .line 67
            aload 0 /* this */
            invokespecial java.awt.image.ImageFilter.<init>:()V
            return
        end local 0 // java.awt.image.RGBImageFilter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/awt/image/RGBImageFilter;

  public void setColorModel(java.awt.image.ColorModel);
    descriptor: (Ljava/awt/image/ColorModel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.awt.image.RGBImageFilter this
        start local 1 // java.awt.image.ColorModel model
         0: .line 115
            aload 0 /* this */
            getfield java.awt.image.RGBImageFilter.canFilterIndexColorModel:Z
            ifeq 5
            aload 1 /* model */
            instanceof java.awt.image.IndexColorModel
            ifeq 5
         1: .line 116
            aload 0 /* this */
            aload 1 /* model */
            checkcast java.awt.image.IndexColorModel
            invokevirtual java.awt.image.RGBImageFilter.filterIndexColorModel:(Ljava/awt/image/IndexColorModel;)Ljava/awt/image/IndexColorModel;
            astore 2 /* newcm */
        start local 2 // java.awt.image.ColorModel newcm
         2: .line 117
            aload 0 /* this */
            aload 1 /* model */
            aload 2 /* newcm */
            invokevirtual java.awt.image.RGBImageFilter.substituteColorModel:(Ljava/awt/image/ColorModel;Ljava/awt/image/ColorModel;)V
         3: .line 118
            aload 0 /* this */
            getfield java.awt.image.RGBImageFilter.consumer:Ljava/awt/image/ImageConsumer;
            aload 2 /* newcm */
            invokeinterface java.awt.image.ImageConsumer.setColorModel:(Ljava/awt/image/ColorModel;)V
        end local 2 // java.awt.image.ColorModel newcm
         4: .line 119
            goto 6
         5: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.awt.image.RGBImageFilter.consumer:Ljava/awt/image/ImageConsumer;
            invokestatic java.awt.image.ColorModel.getRGBdefault:()Ljava/awt/image/ColorModel;
            invokeinterface java.awt.image.ImageConsumer.setColorModel:(Ljava/awt/image/ColorModel;)V
         6: .line 122
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.awt.image.ColorModel model
        end local 0 // java.awt.image.RGBImageFilter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Ljava/awt/image/RGBImageFilter;
            0    7     1  model  Ljava/awt/image/ColorModel;
            2    4     2  newcm  Ljava/awt/image/ColorModel;
    MethodParameters:
       Name  Flags
      model  

  public void substituteColorModel(java.awt.image.ColorModel, java.awt.image.ColorModel);
    descriptor: (Ljava/awt/image/ColorModel;Ljava/awt/image/ColorModel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.awt.image.RGBImageFilter this
        start local 1 // java.awt.image.ColorModel oldcm
        start local 2 // java.awt.image.ColorModel newcm
         0: .line 133
            aload 0 /* this */
            aload 1 /* oldcm */
            putfield java.awt.image.RGBImageFilter.origmodel:Ljava/awt/image/ColorModel;
         1: .line 134
            aload 0 /* this */
            aload 2 /* newcm */
            putfield java.awt.image.RGBImageFilter.newmodel:Ljava/awt/image/ColorModel;
         2: .line 135
            return
        end local 2 // java.awt.image.ColorModel newcm
        end local 1 // java.awt.image.ColorModel oldcm
        end local 0 // java.awt.image.RGBImageFilter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljava/awt/image/RGBImageFilter;
            0    3     1  oldcm  Ljava/awt/image/ColorModel;
            0    3     2  newcm  Ljava/awt/image/ColorModel;
    MethodParameters:
       Name  Flags
      oldcm  
      newcm  

  public java.awt.image.IndexColorModel filterIndexColorModel(java.awt.image.IndexColorModel);
    descriptor: (Ljava/awt/image/IndexColorModel;)Ljava/awt/image/IndexColorModel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=11, args_size=2
        start local 0 // java.awt.image.RGBImageFilter this
        start local 1 // java.awt.image.IndexColorModel icm
         0: .line 148
            aload 1 /* icm */
            invokevirtual java.awt.image.IndexColorModel.getMapSize:()I
            istore 2 /* mapsize */
        start local 2 // int mapsize
         1: .line 149
            iload 2 /* mapsize */
            newarray 8
            astore 3 /* r */
        start local 3 // byte[] r
         2: .line 150
            iload 2 /* mapsize */
            newarray 8
            astore 4 /* g */
        start local 4 // byte[] g
         3: .line 151
            iload 2 /* mapsize */
            newarray 8
            astore 5 /* b */
        start local 5 // byte[] b
         4: .line 152
            iload 2 /* mapsize */
            newarray 8
            astore 6 /* a */
        start local 6 // byte[] a
         5: .line 153
            aload 1 /* icm */
            aload 3 /* r */
            invokevirtual java.awt.image.IndexColorModel.getReds:([B)V
         6: .line 154
            aload 1 /* icm */
            aload 4 /* g */
            invokevirtual java.awt.image.IndexColorModel.getGreens:([B)V
         7: .line 155
            aload 1 /* icm */
            aload 5 /* b */
            invokevirtual java.awt.image.IndexColorModel.getBlues:([B)V
         8: .line 156
            aload 1 /* icm */
            aload 6 /* a */
            invokevirtual java.awt.image.IndexColorModel.getAlphas:([B)V
         9: .line 157
            aload 1 /* icm */
            invokevirtual java.awt.image.IndexColorModel.getTransparentPixel:()I
            istore 7 /* trans */
        start local 7 // int trans
        10: .line 158
            iconst_0
            istore 8 /* needalpha */
        start local 8 // boolean needalpha
        11: .line 159
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        12: goto 21
        13: .line 160
      StackMap locals: java.awt.image.RGBImageFilter java.awt.image.IndexColorModel int byte[] byte[] byte[] byte[] int int int
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            iconst_m1
            aload 1 /* icm */
            iload 9 /* i */
            invokevirtual java.awt.image.IndexColorModel.getRGB:(I)I
            invokevirtual java.awt.image.RGBImageFilter.filterRGB:(III)I
            istore 10 /* rgb */
        start local 10 // int rgb
        14: .line 161
            aload 6 /* a */
            iload 9 /* i */
            iload 10 /* rgb */
            bipush 24
            ishr
            i2b
            bastore
        15: .line 162
            aload 6 /* a */
            iload 9 /* i */
            baload
            iconst_m1
            if_icmpeq 17
            iload 9 /* i */
            iload 7 /* trans */
            if_icmpeq 17
        16: .line 163
            iconst_1
            istore 8 /* needalpha */
        17: .line 165
      StackMap locals: int
      StackMap stack:
            aload 3 /* r */
            iload 9 /* i */
            iload 10 /* rgb */
            bipush 16
            ishr
            i2b
            bastore
        18: .line 166
            aload 4 /* g */
            iload 9 /* i */
            iload 10 /* rgb */
            bipush 8
            ishr
            i2b
            bastore
        19: .line 167
            aload 5 /* b */
            iload 9 /* i */
            iload 10 /* rgb */
            iconst_0
            ishr
            i2b
            bastore
        end local 10 // int rgb
        20: .line 159
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 9 /* i */
            iload 2 /* mapsize */
            if_icmplt 13
        end local 9 // int i
        22: .line 169
            iload 8 /* needalpha */
            ifeq 26
        23: .line 170
            new java.awt.image.IndexColorModel
            dup
            aload 1 /* icm */
            invokevirtual java.awt.image.IndexColorModel.getPixelSize:()I
            iload 2 /* mapsize */
        24: .line 171
            aload 3 /* r */
            aload 4 /* g */
            aload 5 /* b */
            aload 6 /* a */
        25: .line 170
            invokespecial java.awt.image.IndexColorModel.<init>:(II[B[B[B[B)V
            areturn
        26: .line 173
      StackMap locals:
      StackMap stack:
            new java.awt.image.IndexColorModel
            dup
            aload 1 /* icm */
            invokevirtual java.awt.image.IndexColorModel.getPixelSize:()I
            iload 2 /* mapsize */
        27: .line 174
            aload 3 /* r */
            aload 4 /* g */
            aload 5 /* b */
            iload 7 /* trans */
        28: .line 173
            invokespecial java.awt.image.IndexColorModel.<init>:(II[B[B[BI)V
            areturn
        end local 8 // boolean needalpha
        end local 7 // int trans
        end local 6 // byte[] a
        end local 5 // byte[] b
        end local 4 // byte[] g
        end local 3 // byte[] r
        end local 2 // int mapsize
        end local 1 // java.awt.image.IndexColorModel icm
        end local 0 // java.awt.image.RGBImageFilter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   29     0       this  Ljava/awt/image/RGBImageFilter;
            0   29     1        icm  Ljava/awt/image/IndexColorModel;
            1   29     2    mapsize  I
            2   29     3          r  [B
            3   29     4          g  [B
            4   29     5          b  [B
            5   29     6          a  [B
           10   29     7      trans  I
           11   29     8  needalpha  Z
           12   22     9          i  I
           14   20    10        rgb  I
    MethodParameters:
      Name  Flags
      icm   

  public void filterRGBPixels(int, int, int, int, int[], int, int);
    descriptor: (IIII[III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=11, args_size=8
        start local 0 // java.awt.image.RGBImageFilter this
        start local 1 // int x
        start local 2 // int y
        start local 3 // int w
        start local 4 // int h
        start local 5 // int[] pixels
        start local 6 // int off
        start local 7 // int scansize
         0: .line 196
            iload 6 /* off */
            istore 8 /* index */
        start local 8 // int index
         1: .line 197
            iconst_0
            istore 9 /* cy */
        start local 9 // int cy
         2: goto 11
         3: .line 198
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 10 /* cx */
        start local 10 // int cx
         4: goto 8
         5: .line 199
      StackMap locals: int
      StackMap stack:
            aload 5 /* pixels */
            iload 8 /* index */
            aload 0 /* this */
            iload 1 /* x */
            iload 10 /* cx */
            iadd
            iload 2 /* y */
            iload 9 /* cy */
            iadd
            aload 5 /* pixels */
            iload 8 /* index */
            iaload
            invokevirtual java.awt.image.RGBImageFilter.filterRGB:(III)I
            iastore
         6: .line 200
            iinc 8 /* index */ 1
         7: .line 198
            iinc 10 /* cx */ 1
      StackMap locals:
      StackMap stack:
         8: iload 10 /* cx */
            iload 3 /* w */
            if_icmplt 5
        end local 10 // int cx
         9: .line 202
            iload 8 /* index */
            iload 7 /* scansize */
            iload 3 /* w */
            isub
            iadd
            istore 8 /* index */
        10: .line 197
            iinc 9 /* cy */ 1
      StackMap locals:
      StackMap stack:
        11: iload 9 /* cy */
            iload 4 /* h */
            if_icmplt 3
        end local 9 // int cy
        12: .line 204
            aload 0 /* this */
            getfield java.awt.image.RGBImageFilter.consumer:Ljava/awt/image/ImageConsumer;
            iload 1 /* x */
            iload 2 /* y */
            iload 3 /* w */
            iload 4 /* h */
            invokestatic java.awt.image.ColorModel.getRGBdefault:()Ljava/awt/image/ColorModel;
        13: .line 205
            aload 5 /* pixels */
            iload 6 /* off */
            iload 7 /* scansize */
        14: .line 204
            invokeinterface java.awt.image.ImageConsumer.setPixels:(IIIILjava/awt/image/ColorModel;[III)V
        15: .line 206
            return
        end local 8 // int index
        end local 7 // int scansize
        end local 6 // int off
        end local 5 // int[] pixels
        end local 4 // int h
        end local 3 // int w
        end local 2 // int y
        end local 1 // int x
        end local 0 // java.awt.image.RGBImageFilter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Ljava/awt/image/RGBImageFilter;
            0   16     1         x  I
            0   16     2         y  I
            0   16     3         w  I
            0   16     4         h  I
            0   16     5    pixels  [I
            0   16     6       off  I
            0   16     7  scansize  I
            1   16     8     index  I
            2   12     9        cy  I
            4    9    10        cx  I
    MethodParameters:
          Name  Flags
      x         
      y         
      w         
      h         
      pixels    
      off       
      scansize  

  public void setPixels(int, int, int, int, java.awt.image.ColorModel, byte[], int, int);
    descriptor: (IIIILjava/awt/image/ColorModel;[BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=13, args_size=9
        start local 0 // java.awt.image.RGBImageFilter this
        start local 1 // int x
        start local 2 // int y
        start local 3 // int w
        start local 4 // int h
        start local 5 // java.awt.image.ColorModel model
        start local 6 // byte[] pixels
        start local 7 // int off
        start local 8 // int scansize
         0: .line 227
            aload 5 /* model */
            aload 0 /* this */
            getfield java.awt.image.RGBImageFilter.origmodel:Ljava/awt/image/ColorModel;
            if_acmpne 3
         1: .line 228
            aload 0 /* this */
            getfield java.awt.image.RGBImageFilter.consumer:Ljava/awt/image/ImageConsumer;
            iload 1 /* x */
            iload 2 /* y */
            iload 3 /* w */
            iload 4 /* h */
            aload 0 /* this */
            getfield java.awt.image.RGBImageFilter.newmodel:Ljava/awt/image/ColorModel;
            aload 6 /* pixels */
            iload 7 /* off */
            iload 8 /* scansize */
            invokeinterface java.awt.image.ImageConsumer.setPixels:(IIIILjava/awt/image/ColorModel;[BII)V
         2: .line 229
            goto 17
         3: .line 230
      StackMap locals:
      StackMap stack:
            iload 3 /* w */
            newarray 10
            astore 9 /* filteredpixels */
        start local 9 // int[] filteredpixels
         4: .line 231
            iload 7 /* off */
            istore 10 /* index */
        start local 10 // int index
         5: .line 232
            iconst_0
            istore 11 /* cy */
        start local 11 // int cy
         6: goto 16
         7: .line 233
      StackMap locals: int[] int int
      StackMap stack:
            iconst_0
            istore 12 /* cx */
        start local 12 // int cx
         8: goto 12
         9: .line 234
      StackMap locals: int
      StackMap stack:
            aload 9 /* filteredpixels */
            iload 12 /* cx */
            aload 5 /* model */
            aload 6 /* pixels */
            iload 10 /* index */
            baload
            sipush 255
            iand
            invokevirtual java.awt.image.ColorModel.getRGB:(I)I
            iastore
        10: .line 235
            iinc 10 /* index */ 1
        11: .line 233
            iinc 12 /* cx */ 1
      StackMap locals:
      StackMap stack:
        12: iload 12 /* cx */
            iload 3 /* w */
            if_icmplt 9
        end local 12 // int cx
        13: .line 237
            iload 10 /* index */
            iload 8 /* scansize */
            iload 3 /* w */
            isub
            iadd
            istore 10 /* index */
        14: .line 238
            aload 0 /* this */
            iload 1 /* x */
            iload 2 /* y */
            iload 11 /* cy */
            iadd
            iload 3 /* w */
            iconst_1
            aload 9 /* filteredpixels */
            iconst_0
            iload 3 /* w */
            invokevirtual java.awt.image.RGBImageFilter.filterRGBPixels:(IIII[III)V
        15: .line 232
            iinc 11 /* cy */ 1
      StackMap locals:
      StackMap stack:
        16: iload 11 /* cy */
            iload 4 /* h */
            if_icmplt 7
        end local 11 // int cy
        end local 10 // int index
        end local 9 // int[] filteredpixels
        17: .line 241
      StackMap locals:
      StackMap stack:
            return
        end local 8 // int scansize
        end local 7 // int off
        end local 6 // byte[] pixels
        end local 5 // java.awt.image.ColorModel model
        end local 4 // int h
        end local 3 // int w
        end local 2 // int y
        end local 1 // int x
        end local 0 // java.awt.image.RGBImageFilter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            this  Ljava/awt/image/RGBImageFilter;
            0   18     1               x  I
            0   18     2               y  I
            0   18     3               w  I
            0   18     4               h  I
            0   18     5           model  Ljava/awt/image/ColorModel;
            0   18     6          pixels  [B
            0   18     7             off  I
            0   18     8        scansize  I
            4   17     9  filteredpixels  [I
            5   17    10           index  I
            6   17    11              cy  I
            8   13    12              cx  I
    MethodParameters:
          Name  Flags
      x         
      y         
      w         
      h         
      model     
      pixels    
      off       
      scansize  

  public void setPixels(int, int, int, int, java.awt.image.ColorModel, int[], int, int);
    descriptor: (IIIILjava/awt/image/ColorModel;[III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=13, args_size=9
        start local 0 // java.awt.image.RGBImageFilter this
        start local 1 // int x
        start local 2 // int y
        start local 3 // int w
        start local 4 // int h
        start local 5 // java.awt.image.ColorModel model
        start local 6 // int[] pixels
        start local 7 // int off
        start local 8 // int scansize
         0: .line 264
            aload 5 /* model */
            aload 0 /* this */
            getfield java.awt.image.RGBImageFilter.origmodel:Ljava/awt/image/ColorModel;
            if_acmpne 3
         1: .line 265
            aload 0 /* this */
            getfield java.awt.image.RGBImageFilter.consumer:Ljava/awt/image/ImageConsumer;
            iload 1 /* x */
            iload 2 /* y */
            iload 3 /* w */
            iload 4 /* h */
            aload 0 /* this */
            getfield java.awt.image.RGBImageFilter.newmodel:Ljava/awt/image/ColorModel;
            aload 6 /* pixels */
            iload 7 /* off */
            iload 8 /* scansize */
            invokeinterface java.awt.image.ImageConsumer.setPixels:(IIIILjava/awt/image/ColorModel;[III)V
         2: .line 266
            goto 17
         3: .line 267
      StackMap locals:
      StackMap stack:
            iload 3 /* w */
            newarray 10
            astore 9 /* filteredpixels */
        start local 9 // int[] filteredpixels
         4: .line 268
            iload 7 /* off */
            istore 10 /* index */
        start local 10 // int index
         5: .line 269
            iconst_0
            istore 11 /* cy */
        start local 11 // int cy
         6: goto 16
         7: .line 270
      StackMap locals: int[] int int
      StackMap stack:
            iconst_0
            istore 12 /* cx */
        start local 12 // int cx
         8: goto 12
         9: .line 271
      StackMap locals: int
      StackMap stack:
            aload 9 /* filteredpixels */
            iload 12 /* cx */
            aload 5 /* model */
            aload 6 /* pixels */
            iload 10 /* index */
            iaload
            invokevirtual java.awt.image.ColorModel.getRGB:(I)I
            iastore
        10: .line 272
            iinc 10 /* index */ 1
        11: .line 270
            iinc 12 /* cx */ 1
      StackMap locals:
      StackMap stack:
        12: iload 12 /* cx */
            iload 3 /* w */
            if_icmplt 9
        end local 12 // int cx
        13: .line 274
            iload 10 /* index */
            iload 8 /* scansize */
            iload 3 /* w */
            isub
            iadd
            istore 10 /* index */
        14: .line 275
            aload 0 /* this */
            iload 1 /* x */
            iload 2 /* y */
            iload 11 /* cy */
            iadd
            iload 3 /* w */
            iconst_1
            aload 9 /* filteredpixels */
            iconst_0
            iload 3 /* w */
            invokevirtual java.awt.image.RGBImageFilter.filterRGBPixels:(IIII[III)V
        15: .line 269
            iinc 11 /* cy */ 1
      StackMap locals:
      StackMap stack:
        16: iload 11 /* cy */
            iload 4 /* h */
            if_icmplt 7
        end local 11 // int cy
        end local 10 // int index
        end local 9 // int[] filteredpixels
        17: .line 278
      StackMap locals:
      StackMap stack:
            return
        end local 8 // int scansize
        end local 7 // int off
        end local 6 // int[] pixels
        end local 5 // java.awt.image.ColorModel model
        end local 4 // int h
        end local 3 // int w
        end local 2 // int y
        end local 1 // int x
        end local 0 // java.awt.image.RGBImageFilter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            this  Ljava/awt/image/RGBImageFilter;
            0   18     1               x  I
            0   18     2               y  I
            0   18     3               w  I
            0   18     4               h  I
            0   18     5           model  Ljava/awt/image/ColorModel;
            0   18     6          pixels  [I
            0   18     7             off  I
            0   18     8        scansize  I
            4   17     9  filteredpixels  [I
            5   17    10           index  I
            6   17    11              cy  I
            8   13    12              cx  I
    MethodParameters:
          Name  Flags
      x         
      y         
      w         
      h         
      model     
      pixels    
      off       
      scansize  

  public abstract int filterRGB(int, int, int);
    descriptor: (III)I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      x     
      y     
      rgb   
}
SourceFile: "RGBImageFilter.java"