public abstract class sun.java2d.pipe.BufferedTextPipe extends sun.java2d.pipe.GlyphListPipe
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: sun.java2d.pipe.BufferedTextPipe
  super_class: sun.java2d.pipe.GlyphListPipe
{
  private static final int BYTES_PER_GLYPH_IMAGE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int BYTES_PER_GLYPH_POSITION;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int OFFSET_CONTRAST;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int OFFSET_RGBORDER;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int OFFSET_SUBPIXPOS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int OFFSET_POSITIONS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  protected final sun.java2d.pipe.RenderQueue rq;
    descriptor: Lsun/java2d/pipe/RenderQueue;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private static int createPackedParams(sun.java2d.SunGraphics2D, sun.font.GlyphList);
    descriptor: (Lsun/java2d/SunGraphics2D;Lsun/font/GlyphList;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.java2d.SunGraphics2D sg2d
        start local 1 // sun.font.GlyphList gl
         0: .line 61
            aload 1 /* gl */
            invokevirtual sun.font.GlyphList.usePositions:()Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: iconst_0
            ishl
         3: .line 62
            aload 1 /* gl */
            invokevirtual sun.font.GlyphList.isSubPixPos:()Z
            ifeq 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack: int
         4: iconst_0
      StackMap locals: sun.java2d.SunGraphics2D sun.font.GlyphList
      StackMap stack: int int
         5: iconst_1
            ishl
         6: .line 61
            ior
         7: .line 63
            aload 1 /* gl */
            invokevirtual sun.font.GlyphList.isRGBOrder:()Z
            ifeq 8
            iconst_1
            goto 9
      StackMap locals:
      StackMap stack: int
         8: iconst_0
      StackMap locals: sun.java2d.SunGraphics2D sun.font.GlyphList
      StackMap stack: int int
         9: iconst_2
            ishl
        10: .line 61
            ior
        11: .line 64
            aload 0 /* sg2d */
            getfield sun.java2d.SunGraphics2D.lcdTextContrast:I
            sipush 255
            iand
            bipush 8
            ishl
        12: .line 61
            ior
        13: .line 60
            ireturn
        end local 1 // sun.font.GlyphList gl
        end local 0 // sun.java2d.SunGraphics2D sg2d
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  sg2d  Lsun/java2d/SunGraphics2D;
            0   14     1    gl  Lsun/font/GlyphList;
    MethodParameters:
      Name  Flags
      sg2d  
      gl    

  protected void <init>(sun.java2d.pipe.RenderQueue);
    descriptor: (Lsun/java2d/pipe/RenderQueue;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.java2d.pipe.BufferedTextPipe this
        start local 1 // sun.java2d.pipe.RenderQueue rq
         0: .line 69
            aload 0 /* this */
            invokespecial sun.java2d.pipe.GlyphListPipe.<init>:()V
         1: .line 70
            aload 0 /* this */
            aload 1 /* rq */
            putfield sun.java2d.pipe.BufferedTextPipe.rq:Lsun/java2d/pipe/RenderQueue;
         2: .line 71
            return
        end local 1 // sun.java2d.pipe.RenderQueue rq
        end local 0 // sun.java2d.pipe.BufferedTextPipe this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/java2d/pipe/BufferedTextPipe;
            0    3     1    rq  Lsun/java2d/pipe/RenderQueue;
    MethodParameters:
      Name  Flags
      rq    

  protected void drawGlyphList(sun.java2d.SunGraphics2D, sun.font.GlyphList);
    descriptor: (Lsun/java2d/SunGraphics2D;Lsun/font/GlyphList;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // sun.java2d.pipe.BufferedTextPipe this
        start local 1 // sun.java2d.SunGraphics2D sg2d
        start local 2 // sun.font.GlyphList gl
         0: .line 80
            aload 1 /* sg2d */
            getfield sun.java2d.SunGraphics2D.composite:Ljava/awt/Composite;
            astore 3 /* comp */
        start local 3 // java.awt.Composite comp
         1: .line 81
            aload 3 /* comp */
            getstatic java.awt.AlphaComposite.Src:Ljava/awt/AlphaComposite;
            if_acmpne 3
         2: .line 90
            getstatic java.awt.AlphaComposite.SrcOver:Ljava/awt/AlphaComposite;
            astore 3 /* comp */
         3: .line 93
      StackMap locals: java.awt.Composite
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedTextPipe.rq:Lsun/java2d/pipe/RenderQueue;
            invokevirtual sun.java2d.pipe.RenderQueue.lock:()V
         4: .line 95
            aload 0 /* this */
            aload 1 /* sg2d */
            aload 3 /* comp */
            invokevirtual sun.java2d.pipe.BufferedTextPipe.validateContext:(Lsun/java2d/SunGraphics2D;Ljava/awt/Composite;)V
         5: .line 96
            aload 0 /* this */
            aload 1 /* sg2d */
            aload 2 /* gl */
            invokevirtual sun.java2d.pipe.BufferedTextPipe.enqueueGlyphList:(Lsun/java2d/SunGraphics2D;Lsun/font/GlyphList;)V
         6: .line 97
            goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 4
         8: .line 98
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedTextPipe.rq:Lsun/java2d/pipe/RenderQueue;
            invokevirtual sun.java2d.pipe.RenderQueue.unlock:()V
         9: .line 99
            aload 4
            athrow
        10: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedTextPipe.rq:Lsun/java2d/pipe/RenderQueue;
            invokevirtual sun.java2d.pipe.RenderQueue.unlock:()V
        11: .line 100
            return
        end local 3 // java.awt.Composite comp
        end local 2 // sun.font.GlyphList gl
        end local 1 // sun.java2d.SunGraphics2D sg2d
        end local 0 // sun.java2d.pipe.BufferedTextPipe this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/java2d/pipe/BufferedTextPipe;
            0   12     1  sg2d  Lsun/java2d/SunGraphics2D;
            0   12     2    gl  Lsun/font/GlyphList;
            1   12     3  comp  Ljava/awt/Composite;
      Exception table:
        from    to  target  type
           4     7       7  any
    MethodParameters:
      Name  Flags
      sg2d  
      gl    

  private void enqueueGlyphList(sun.java2d.SunGraphics2D, sun.font.GlyphList);
    descriptor: (Lsun/java2d/SunGraphics2D;Lsun/font/GlyphList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=12, args_size=3
        start local 0 // sun.java2d.pipe.BufferedTextPipe this
        start local 1 // sun.java2d.SunGraphics2D sg2d
        start local 2 // sun.font.GlyphList gl
         0: .line 106
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedTextPipe.rq:Lsun/java2d/pipe/RenderQueue;
            invokevirtual sun.java2d.pipe.RenderQueue.getBuffer:()Lsun/java2d/pipe/RenderBuffer;
            astore 3 /* buf */
        start local 3 // sun.java2d.pipe.RenderBuffer buf
         1: .line 107
            aload 2 /* gl */
            invokevirtual sun.font.GlyphList.getNumGlyphs:()I
            istore 4 /* totalGlyphs */
        start local 4 // int totalGlyphs
         2: .line 108
            iload 4 /* totalGlyphs */
            bipush 8
            imul
            istore 5 /* glyphBytesRequired */
        start local 5 // int glyphBytesRequired
         3: .line 110
            aload 2 /* gl */
            invokevirtual sun.font.GlyphList.usePositions:()Z
            ifeq 4
            iload 4 /* totalGlyphs */
            bipush 8
            imul
            goto 5
      StackMap locals: sun.java2d.pipe.RenderBuffer int int
      StackMap stack:
         4: iconst_0
         5: .line 109
      StackMap locals:
      StackMap stack: int
            istore 6 /* posBytesRequired */
        start local 6 // int posBytesRequired
         6: .line 111
            bipush 24
            iload 5 /* glyphBytesRequired */
            iadd
            iload 6 /* posBytesRequired */
            iadd
            istore 7 /* totalBytesRequired */
        start local 7 // int totalBytesRequired
         7: .line 113
            aload 2 /* gl */
            invokevirtual sun.font.GlyphList.getImages:()[J
            astore 8 /* images */
        start local 8 // long[] images
         8: .line 114
            aload 2 /* gl */
            invokevirtual sun.font.GlyphList.getX:()F
            ldc 0.5
            fadd
            fstore 9 /* glyphListOrigX */
        start local 9 // float glyphListOrigX
         9: .line 115
            aload 2 /* gl */
            invokevirtual sun.font.GlyphList.getY:()F
            ldc 0.5
            fadd
            fstore 10 /* glyphListOrigY */
        start local 10 // float glyphListOrigY
        10: .line 119
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedTextPipe.rq:Lsun/java2d/pipe/RenderQueue;
            aload 2 /* gl */
            invokevirtual sun.font.GlyphList.getStrike:()Ljava/lang/Object;
            invokevirtual sun.java2d.pipe.RenderQueue.addReference:(Ljava/lang/Object;)V
        11: .line 121
            iload 7 /* totalBytesRequired */
            aload 3 /* buf */
            invokevirtual sun.java2d.pipe.RenderBuffer.capacity:()I
            if_icmpgt 25
        12: .line 122
            iload 7 /* totalBytesRequired */
            aload 3 /* buf */
            invokevirtual sun.java2d.pipe.RenderBuffer.remaining:()I
            if_icmple 14
        13: .line 124
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedTextPipe.rq:Lsun/java2d/pipe/RenderQueue;
            invokevirtual sun.java2d.pipe.RenderQueue.flushNow:()V
        14: .line 126
      StackMap locals: sun.java2d.pipe.BufferedTextPipe sun.java2d.SunGraphics2D sun.font.GlyphList sun.java2d.pipe.RenderBuffer int int int int long[] float float
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedTextPipe.rq:Lsun/java2d/pipe/RenderQueue;
            bipush 20
            invokevirtual sun.java2d.pipe.RenderQueue.ensureAlignment:(I)V
        15: .line 127
            aload 3 /* buf */
            bipush 40
            invokevirtual sun.java2d.pipe.RenderBuffer.putInt:(I)Lsun/java2d/pipe/RenderBuffer;
            pop
        16: .line 129
            aload 3 /* buf */
            iload 4 /* totalGlyphs */
            invokevirtual sun.java2d.pipe.RenderBuffer.putInt:(I)Lsun/java2d/pipe/RenderBuffer;
            pop
        17: .line 130
            aload 3 /* buf */
            aload 1 /* sg2d */
            aload 2 /* gl */
            invokestatic sun.java2d.pipe.BufferedTextPipe.createPackedParams:(Lsun/java2d/SunGraphics2D;Lsun/font/GlyphList;)I
            invokevirtual sun.java2d.pipe.RenderBuffer.putInt:(I)Lsun/java2d/pipe/RenderBuffer;
            pop
        18: .line 131
            aload 3 /* buf */
            fload 9 /* glyphListOrigX */
            invokevirtual sun.java2d.pipe.RenderBuffer.putFloat:(F)Lsun/java2d/pipe/RenderBuffer;
            pop
        19: .line 132
            aload 3 /* buf */
            fload 10 /* glyphListOrigY */
            invokevirtual sun.java2d.pipe.RenderBuffer.putFloat:(F)Lsun/java2d/pipe/RenderBuffer;
            pop
        20: .line 134
            aload 3 /* buf */
            aload 8 /* images */
            iconst_0
            iload 4 /* totalGlyphs */
            invokevirtual sun.java2d.pipe.RenderBuffer.put:([JII)Lsun/java2d/pipe/RenderBuffer;
            pop
        21: .line 135
            aload 2 /* gl */
            invokevirtual sun.font.GlyphList.usePositions:()Z
            ifeq 26
        22: .line 136
            aload 2 /* gl */
            invokevirtual sun.font.GlyphList.getPositions:()[F
            astore 11 /* positions */
        start local 11 // float[] positions
        23: .line 137
            aload 3 /* buf */
            aload 11 /* positions */
            iconst_0
            iconst_2
            iload 4 /* totalGlyphs */
            imul
            invokevirtual sun.java2d.pipe.RenderBuffer.put:([FII)Lsun/java2d/pipe/RenderBuffer;
            pop
        end local 11 // float[] positions
        24: .line 139
            goto 26
        25: .line 142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.java2d.pipe.BufferedTextPipe.rq:Lsun/java2d/pipe/RenderQueue;
            new sun.java2d.pipe.BufferedTextPipe$1
            dup
            aload 0 /* this */
            iload 4 /* totalGlyphs */
            aload 2 /* gl */
            aload 1 /* sg2d */
            fload 9 /* glyphListOrigX */
            fload 10 /* glyphListOrigY */
            aload 8 /* images */
            invokespecial sun.java2d.pipe.BufferedTextPipe$1.<init>:(Lsun/java2d/pipe/BufferedTextPipe;ILsun/font/GlyphList;Lsun/java2d/SunGraphics2D;FF[J)V
            invokevirtual sun.java2d.pipe.RenderQueue.flushAndInvokeNow:(Ljava/lang/Runnable;)V
        26: .line 152
      StackMap locals:
      StackMap stack:
            return
        end local 10 // float glyphListOrigY
        end local 9 // float glyphListOrigX
        end local 8 // long[] images
        end local 7 // int totalBytesRequired
        end local 6 // int posBytesRequired
        end local 5 // int glyphBytesRequired
        end local 4 // int totalGlyphs
        end local 3 // sun.java2d.pipe.RenderBuffer buf
        end local 2 // sun.font.GlyphList gl
        end local 1 // sun.java2d.SunGraphics2D sg2d
        end local 0 // sun.java2d.pipe.BufferedTextPipe this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   27     0                this  Lsun/java2d/pipe/BufferedTextPipe;
            0   27     1                sg2d  Lsun/java2d/SunGraphics2D;
            0   27     2                  gl  Lsun/font/GlyphList;
            1   27     3                 buf  Lsun/java2d/pipe/RenderBuffer;
            2   27     4         totalGlyphs  I
            3   27     5  glyphBytesRequired  I
            6   27     6    posBytesRequired  I
            7   27     7  totalBytesRequired  I
            8   27     8              images  [J
            9   27     9      glyphListOrigX  F
           10   27    10      glyphListOrigY  F
           23   24    11           positions  [F
    MethodParameters:
      Name  Flags
      sg2d  final
      gl    final

  protected abstract void drawGlyphList(int, boolean, boolean, boolean, int, float, float, long[], float[]);
    descriptor: (IZZZIFF[J[F)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      numGlyphs     
      usePositions  
      subPixPos     
      rgbOrder      
      lcdContrast   
      glOrigX       
      glOrigY       
      images        
      positions     

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