public abstract class sun.java2d.pipe.BufferedMaskFill extends sun.java2d.loops.MaskFill
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.java2d.pipe.BufferedMaskFill
  super_class: sun.java2d.loops.MaskFill
{
  protected final sun.java2d.pipe.RenderQueue rq;
    descriptor: Lsun/java2d/pipe/RenderQueue;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected void <init>(sun.java2d.pipe.RenderQueue, sun.java2d.loops.SurfaceType, sun.java2d.loops.CompositeType, sun.java2d.loops.SurfaceType);
    descriptor: (Lsun/java2d/pipe/RenderQueue;Lsun/java2d/loops/SurfaceType;Lsun/java2d/loops/CompositeType;Lsun/java2d/loops/SurfaceType;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // sun.java2d.pipe.BufferedMaskFill this
        start local 1 // sun.java2d.pipe.RenderQueue rq
        start local 2 // sun.java2d.loops.SurfaceType srcType
        start local 3 // sun.java2d.loops.CompositeType compType
        start local 4 // sun.java2d.loops.SurfaceType dstType
         0: .line 68
            aload 0 /* this */
            aload 2 /* srcType */
            aload 3 /* compType */
            aload 4 /* dstType */
            invokespecial sun.java2d.loops.MaskFill.<init>:(Lsun/java2d/loops/SurfaceType;Lsun/java2d/loops/CompositeType;Lsun/java2d/loops/SurfaceType;)V
         1: .line 69
            aload 0 /* this */
            aload 1 /* rq */
            putfield sun.java2d.pipe.BufferedMaskFill.rq:Lsun/java2d/pipe/RenderQueue;
         2: .line 70
            return
        end local 4 // sun.java2d.loops.SurfaceType dstType
        end local 3 // sun.java2d.loops.CompositeType compType
        end local 2 // sun.java2d.loops.SurfaceType srcType
        end local 1 // sun.java2d.pipe.RenderQueue rq
        end local 0 // sun.java2d.pipe.BufferedMaskFill this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lsun/java2d/pipe/BufferedMaskFill;
            0    3     1        rq  Lsun/java2d/pipe/RenderQueue;
            0    3     2   srcType  Lsun/java2d/loops/SurfaceType;
            0    3     3  compType  Lsun/java2d/loops/CompositeType;
            0    3     4   dstType  Lsun/java2d/loops/SurfaceType;
    MethodParameters:
          Name  Flags
      rq        
      srcType   
      compType  
      dstType   

  public void MaskFill(sun.java2d.SunGraphics2D, sun.java2d.SurfaceData, java.awt.Composite, int, int, int, int, byte[], int, int);
    descriptor: (Lsun/java2d/SunGraphics2D;Lsun/java2d/SurfaceData;Ljava/awt/Composite;IIII[BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=17, args_size=11
        start local 0 // sun.java2d.pipe.BufferedMaskFill this
        start local 1 // sun.java2d.SunGraphics2D sg2d
        start local 2 // sun.java2d.SurfaceData sData
        start local 3 // java.awt.Composite comp
        start local 4 // int x
        start local 5 // int y
        start local 6 // int w
        start local 7 // int h
        start local 8 // byte[] mask
        start local 9 // int maskoff
        start local 10 // int maskscan
         0: .line 79
            aload 3 /* comp */
            checkcast java.awt.AlphaComposite
            astore 11 /* acomp */
        start local 11 // java.awt.AlphaComposite acomp
         1: .line 80
            aload 11 /* acomp */
            invokevirtual java.awt.AlphaComposite.getRule:()I
            iconst_3
            if_icmpeq 3
         2: .line 81
            getstatic java.awt.AlphaComposite.SrcOver:Ljava/awt/AlphaComposite;
            astore 3 /* comp */
         3: .line 84
      StackMap locals: java.awt.AlphaComposite
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedMaskFill.rq:Lsun/java2d/pipe/RenderQueue;
            invokevirtual sun.java2d.pipe.RenderQueue.lock:()V
         4: .line 86
            aload 0 /* this */
            aload 1 /* sg2d */
            aload 3 /* comp */
            iconst_2
            invokevirtual sun.java2d.pipe.BufferedMaskFill.validateContext:(Lsun/java2d/SunGraphics2D;Ljava/awt/Composite;I)V
         5: .line 91
            aload 8 /* mask */
            ifnull 8
         6: .line 94
            aload 8 /* mask */
            arraylength
            iconst_3
            iadd
            bipush -4
            iand
            istore 12 /* maskBytesRequired */
        start local 12 // int maskBytesRequired
         7: .line 95
            goto 9
        end local 12 // int maskBytesRequired
         8: .line 97
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* maskBytesRequired */
        start local 12 // int maskBytesRequired
         9: .line 99
      StackMap locals: int
      StackMap stack:
            bipush 32
            iload 12 /* maskBytesRequired */
            iadd
            istore 13 /* totalBytesRequired */
        start local 13 // int totalBytesRequired
        10: .line 101
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedMaskFill.rq:Lsun/java2d/pipe/RenderQueue;
            invokevirtual sun.java2d.pipe.RenderQueue.getBuffer:()Lsun/java2d/pipe/RenderBuffer;
            astore 14 /* buf */
        start local 14 // sun.java2d.pipe.RenderBuffer buf
        11: .line 102
            iload 13 /* totalBytesRequired */
            aload 14 /* buf */
            invokevirtual sun.java2d.pipe.RenderBuffer.capacity:()I
            if_icmpgt 25
        12: .line 103
            iload 13 /* totalBytesRequired */
            aload 14 /* buf */
            invokevirtual sun.java2d.pipe.RenderBuffer.remaining:()I
            if_icmple 14
        13: .line 105
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedMaskFill.rq:Lsun/java2d/pipe/RenderQueue;
            invokevirtual sun.java2d.pipe.RenderQueue.flushNow:()V
        14: .line 108
      StackMap locals: int sun.java2d.pipe.RenderBuffer
      StackMap stack:
            aload 14 /* buf */
            bipush 32
            invokevirtual sun.java2d.pipe.RenderBuffer.putInt:(I)Lsun/java2d/pipe/RenderBuffer;
            pop
        15: .line 110
            aload 14 /* buf */
            iload 4 /* x */
            invokevirtual sun.java2d.pipe.RenderBuffer.putInt:(I)Lsun/java2d/pipe/RenderBuffer;
            iload 5 /* y */
            invokevirtual sun.java2d.pipe.RenderBuffer.putInt:(I)Lsun/java2d/pipe/RenderBuffer;
            iload 6 /* w */
            invokevirtual sun.java2d.pipe.RenderBuffer.putInt:(I)Lsun/java2d/pipe/RenderBuffer;
            iload 7 /* h */
            invokevirtual sun.java2d.pipe.RenderBuffer.putInt:(I)Lsun/java2d/pipe/RenderBuffer;
            pop
        16: .line 111
            aload 14 /* buf */
            iload 9 /* maskoff */
            invokevirtual sun.java2d.pipe.RenderBuffer.putInt:(I)Lsun/java2d/pipe/RenderBuffer;
            pop
        17: .line 112
            aload 14 /* buf */
            iload 10 /* maskscan */
            invokevirtual sun.java2d.pipe.RenderBuffer.putInt:(I)Lsun/java2d/pipe/RenderBuffer;
            pop
        18: .line 113
            aload 14 /* buf */
            iload 12 /* maskBytesRequired */
            invokevirtual sun.java2d.pipe.RenderBuffer.putInt:(I)Lsun/java2d/pipe/RenderBuffer;
            pop
        19: .line 114
            aload 8 /* mask */
            ifnull 30
        20: .line 116
            iload 12 /* maskBytesRequired */
            aload 8 /* mask */
            arraylength
            isub
            istore 15 /* padding */
        start local 15 // int padding
        21: .line 117
            aload 14 /* buf */
            aload 8 /* mask */
            invokevirtual sun.java2d.pipe.RenderBuffer.put:([B)Lsun/java2d/pipe/RenderBuffer;
            pop
        22: .line 118
            iload 15 /* padding */
            ifeq 30
        23: .line 119
            aload 14 /* buf */
            aload 14 /* buf */
            invokevirtual sun.java2d.pipe.RenderBuffer.position:()I
            iload 15 /* padding */
            iadd
            i2l
            invokevirtual sun.java2d.pipe.RenderBuffer.position:(J)V
        end local 15 // int padding
        24: .line 122
            goto 30
        25: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedMaskFill.rq:Lsun/java2d/pipe/RenderQueue;
            new sun.java2d.pipe.BufferedMaskFill$1
            dup
            aload 0 /* this */
            iload 4 /* x */
            iload 5 /* y */
            iload 6 /* w */
            iload 7 /* h */
            iload 9 /* maskoff */
            iload 10 /* maskscan */
            aload 8 /* mask */
            invokespecial sun.java2d.pipe.BufferedMaskFill$1.<init>:(Lsun/java2d/pipe/BufferedMaskFill;IIIIII[B)V
            invokevirtual sun.java2d.pipe.RenderQueue.flushAndInvokeNow:(Ljava/lang/Runnable;)V
        end local 14 // sun.java2d.pipe.RenderBuffer buf
        end local 13 // int totalBytesRequired
        end local 12 // int maskBytesRequired
        26: .line 132
            goto 30
      StackMap locals: sun.java2d.pipe.BufferedMaskFill sun.java2d.SunGraphics2D sun.java2d.SurfaceData java.awt.Composite int int int int byte[] int int java.awt.AlphaComposite
      StackMap stack: java.lang.Throwable
        27: astore 16
        28: .line 133
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedMaskFill.rq:Lsun/java2d/pipe/RenderQueue;
            invokevirtual sun.java2d.pipe.RenderQueue.unlock:()V
        29: .line 134
            aload 16
            athrow
        30: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedMaskFill.rq:Lsun/java2d/pipe/RenderQueue;
            invokevirtual sun.java2d.pipe.RenderQueue.unlock:()V
        31: .line 135
            return
        end local 11 // java.awt.AlphaComposite acomp
        end local 10 // int maskscan
        end local 9 // int maskoff
        end local 8 // byte[] mask
        end local 7 // int h
        end local 6 // int w
        end local 5 // int y
        end local 4 // int x
        end local 3 // java.awt.Composite comp
        end local 2 // sun.java2d.SurfaceData sData
        end local 1 // sun.java2d.SunGraphics2D sg2d
        end local 0 // sun.java2d.pipe.BufferedMaskFill this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   32     0                this  Lsun/java2d/pipe/BufferedMaskFill;
            0   32     1                sg2d  Lsun/java2d/SunGraphics2D;
            0   32     2               sData  Lsun/java2d/SurfaceData;
            0   32     3                comp  Ljava/awt/Composite;
            0   32     4                   x  I
            0   32     5                   y  I
            0   32     6                   w  I
            0   32     7                   h  I
            0   32     8                mask  [B
            0   32     9             maskoff  I
            0   32    10            maskscan  I
            1   32    11               acomp  Ljava/awt/AlphaComposite;
            7    8    12   maskBytesRequired  I
            9   26    12   maskBytesRequired  I
           10   26    13  totalBytesRequired  I
           11   26    14                 buf  Lsun/java2d/pipe/RenderBuffer;
           21   24    15             padding  I
      Exception table:
        from    to  target  type
           4    27      27  any
    MethodParameters:
          Name  Flags
      sg2d      
      sData     
      comp      
      x         final
      y         final
      w         final
      h         final
      mask      final
      maskoff   final
      maskscan  final

  protected abstract void maskFill(int, int, int, int, int, int, int, byte[]);
    descriptor: (IIIIIII[B)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      x         
      y         
      w         
      h         
      maskoff   
      maskscan  
      masklen   
      mask      

  protected abstract void validateContext(sun.java2d.SunGraphics2D, java.awt.Composite, int);
    descriptor: (Lsun/java2d/SunGraphics2D;Ljava/awt/Composite;I)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      sg2d      
      comp      
      ctxflags  
}
SourceFile: "BufferedMaskFill.java"
NestMembers:
  sun.java2d.pipe.BufferedMaskFill$1
InnerClasses:
  sun.java2d.pipe.BufferedMaskFill$1