class com.sun.javafx.sg.prism.NGCanvas$RenderBuf
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.javafx.sg.prism.NGCanvas$RenderBuf
  super_class: java.lang.Object
{
  final com.sun.javafx.sg.prism.NGCanvas$InitType init_type;
    descriptor: Lcom/sun/javafx/sg/prism/NGCanvas$InitType;
    flags: (0x0010) ACC_FINAL

  com.sun.prism.RTTexture tex;
    descriptor: Lcom/sun/prism/RTTexture;
    flags: (0x0000) 

  com.sun.prism.Graphics g;
    descriptor: Lcom/sun/prism/Graphics;
    flags: (0x0000) 

  com.sun.javafx.sg.prism.NGCanvas$EffectInput input;
    descriptor: Lcom/sun/javafx/sg/prism/NGCanvas$EffectInput;
    flags: (0x0000) 

  private com.sun.javafx.sg.prism.NGCanvas$PixelData savedPixelData;
    descriptor: Lcom/sun/javafx/sg/prism/NGCanvas$PixelData;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(com.sun.javafx.sg.prism.NGCanvas$InitType);
    descriptor: (Lcom/sun/javafx/sg/prism/NGCanvas$InitType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.javafx.sg.prism.NGCanvas$RenderBuf this
        start local 1 // com.sun.javafx.sg.prism.NGCanvas$InitType init_type
         0: .line 182
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 180
            aload 0 /* this */
            aconst_null
            putfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.savedPixelData:Lcom/sun/javafx/sg/prism/NGCanvas$PixelData;
         2: .line 183
            aload 0 /* this */
            aload 1 /* init_type */
            putfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.init_type:Lcom/sun/javafx/sg/prism/NGCanvas$InitType;
         3: .line 184
            return
        end local 1 // com.sun.javafx.sg.prism.NGCanvas$InitType init_type
        end local 0 // com.sun.javafx.sg.prism.NGCanvas$RenderBuf this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lcom/sun/javafx/sg/prism/NGCanvas$RenderBuf;
            0    4     1  init_type  Lcom/sun/javafx/sg/prism/NGCanvas$InitType;
    MethodParameters:
           Name  Flags
      init_type  

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.javafx.sg.prism.NGCanvas$RenderBuf this
         0: .line 187
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.tex:Lcom/sun/prism/RTTexture;
            ifnull 1
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.tex:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.dispose:()V
         1: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.tex:Lcom/sun/prism/RTTexture;
         2: .line 190
            aload 0 /* this */
            aconst_null
            putfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.g:Lcom/sun/prism/Graphics;
         3: .line 191
            aload 0 /* this */
            aconst_null
            putfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.input:Lcom/sun/javafx/sg/prism/NGCanvas$EffectInput;
         4: .line 192
            return
        end local 0 // com.sun.javafx.sg.prism.NGCanvas$RenderBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/javafx/sg/prism/NGCanvas$RenderBuf;

  public boolean validate(com.sun.prism.Graphics, int, int);
    descriptor: (Lcom/sun/prism/Graphics;II)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=4
        start local 0 // com.sun.javafx.sg.prism.NGCanvas$RenderBuf this
        start local 1 // com.sun.prism.Graphics resg
        start local 2 // int tw
        start local 3 // int th
         0: .line 197
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.tex:Lcom/sun/prism/RTTexture;
            ifnonnull 5
         1: .line 198
            iconst_0
            dup
            istore 5 /* ch */
        start local 5 // int ch
         2: istore 4 /* cw */
        start local 4 // int cw
         3: .line 199
            iconst_1
            istore 6 /* create */
        start local 6 // boolean create
         4: .line 200
            goto 11
        end local 6 // boolean create
        end local 5 // int ch
        end local 4 // int cw
         5: .line 201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.tex:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.getContentWidth:()I
            istore 4 /* cw */
        start local 4 // int cw
         6: .line 202
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.tex:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.getContentHeight:()I
            istore 5 /* ch */
        start local 5 // int ch
         7: .line 203
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.tex:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.lock:()V
         8: .line 204
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.tex:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.isSurfaceLost:()Z
            ifne 9
            iload 4 /* cw */
            iload 2 /* tw */
            if_icmplt 9
            iload 5 /* ch */
            iload 3 /* th */
            if_icmplt 9
            iconst_0
            goto 10
      StackMap locals: int int
      StackMap stack:
         9: iconst_1
      StackMap locals:
      StackMap stack: int
        10: istore 6 /* create */
        start local 6 // boolean create
        11: .line 206
      StackMap locals: int
      StackMap stack:
            iload 6 /* create */
            ifeq 36
        12: .line 207
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.tex:Lcom/sun/prism/RTTexture;
            astore 7 /* oldtex */
        start local 7 // com.sun.prism.RTTexture oldtex
        13: .line 208
            aload 1 /* resg */
            ifnonnull 15
        14: .line 209
            invokestatic com.sun.prism.GraphicsPipeline.getDefaultResourceFactory:()Lcom/sun/prism/ResourceFactory;
            goto 16
        15: .line 210
      StackMap locals: com.sun.prism.RTTexture
      StackMap stack:
            aload 1 /* resg */
            invokeinterface com.sun.prism.Graphics.getResourceFactory:()Lcom/sun/prism/ResourceFactory;
        16: .line 208
      StackMap locals:
      StackMap stack: com.sun.prism.ResourceFactory
            astore 8 /* factory */
        start local 8 // com.sun.prism.ResourceFactory factory
        17: .line 212
            aload 8 /* factory */
            iload 2 /* tw */
            iload 3 /* th */
            getstatic com.sun.prism.Texture$WrapMode.CLAMP_TO_ZERO:Lcom/sun/prism/Texture$WrapMode;
            invokeinterface com.sun.prism.ResourceFactory.createRTTexture:(IILcom/sun/prism/Texture$WrapMode;)Lcom/sun/prism/RTTexture;
        18: .line 211
            astore 9 /* newtex */
        start local 9 // com.sun.prism.RTTexture newtex
        19: .line 213
            aload 0 /* this */
            aload 9 /* newtex */
            putfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.tex:Lcom/sun/prism/RTTexture;
        20: .line 214
            aload 0 /* this */
            aload 9 /* newtex */
            invokeinterface com.sun.prism.RTTexture.createGraphics:()Lcom/sun/prism/Graphics;
            putfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.g:Lcom/sun/prism/Graphics;
        21: .line 215
            aload 0 /* this */
            new com.sun.javafx.sg.prism.NGCanvas$EffectInput
            dup
            aload 9 /* newtex */
            invokespecial com.sun.javafx.sg.prism.NGCanvas$EffectInput.<init>:(Lcom/sun/prism/RTTexture;)V
            putfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.input:Lcom/sun/javafx/sg/prism/NGCanvas$EffectInput;
        22: .line 216
            aload 7 /* oldtex */
            ifnull 33
        23: .line 217
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.init_type:Lcom/sun/javafx/sg/prism/NGCanvas$InitType;
            getstatic com.sun.javafx.sg.prism.NGCanvas$InitType.PRESERVE_UPPER_LEFT:Lcom/sun/javafx/sg/prism/NGCanvas$InitType;
            if_acmpne 31
        24: .line 218
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.g:Lcom/sun/prism/Graphics;
            getstatic com.sun.prism.CompositeMode.SRC:Lcom/sun/prism/CompositeMode;
            invokeinterface com.sun.prism.Graphics.setCompositeMode:(Lcom/sun/prism/CompositeMode;)V
        25: .line 219
            aload 7 /* oldtex */
            invokeinterface com.sun.prism.RTTexture.isSurfaceLost:()Z
            ifeq 29
        26: .line 220
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.savedPixelData:Lcom/sun/javafx/sg/prism/NGCanvas$PixelData;
            ifnull 30
        27: .line 221
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.savedPixelData:Lcom/sun/javafx/sg/prism/NGCanvas$PixelData;
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.g:Lcom/sun/prism/Graphics;
            iload 4 /* cw */
            iload 5 /* ch */
            invokevirtual com.sun.javafx.sg.prism.NGCanvas$PixelData.restore:(Lcom/sun/prism/Graphics;II)V
        28: .line 223
            goto 30
        29: .line 224
      StackMap locals: com.sun.prism.ResourceFactory com.sun.prism.RTTexture
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.g:Lcom/sun/prism/Graphics;
            aload 7 /* oldtex */
            fconst_0
            fconst_0
            iload 4 /* cw */
            i2f
            iload 5 /* ch */
            i2f
            invokeinterface com.sun.prism.Graphics.drawTexture:(Lcom/sun/prism/Texture;FFFF)V
        30: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.g:Lcom/sun/prism/Graphics;
            getstatic com.sun.prism.CompositeMode.SRC_OVER:Lcom/sun/prism/CompositeMode;
            invokeinterface com.sun.prism.Graphics.setCompositeMode:(Lcom/sun/prism/CompositeMode;)V
        31: .line 228
      StackMap locals:
      StackMap stack:
            aload 7 /* oldtex */
            invokeinterface com.sun.prism.RTTexture.unlock:()V
        32: .line 229
            aload 7 /* oldtex */
            invokeinterface com.sun.prism.RTTexture.dispose:()V
        33: .line 231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.init_type:Lcom/sun/javafx/sg/prism/NGCanvas$InitType;
            getstatic com.sun.javafx.sg.prism.NGCanvas$InitType.FILL_WHITE:Lcom/sun/javafx/sg/prism/NGCanvas$InitType;
            if_acmpne 35
        34: .line 232
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.g:Lcom/sun/prism/Graphics;
            getstatic com.sun.prism.paint.Color.WHITE:Lcom/sun/prism/paint/Color;
            invokeinterface com.sun.prism.Graphics.clear:(Lcom/sun/prism/paint/Color;)V
        35: .line 234
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 9 // com.sun.prism.RTTexture newtex
        end local 8 // com.sun.prism.ResourceFactory factory
        end local 7 // com.sun.prism.RTTexture oldtex
        36: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.g:Lcom/sun/prism/Graphics;
            ifnonnull 55
        37: .line 237
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.tex:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.createGraphics:()Lcom/sun/prism/Graphics;
            putfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.g:Lcom/sun/prism/Graphics;
        38: .line 238
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.g:Lcom/sun/prism/Graphics;
            ifnonnull 55
        39: .line 239
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.tex:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.dispose:()V
        40: .line 240
            aload 1 /* resg */
            ifnonnull 42
        41: .line 241
            invokestatic com.sun.prism.GraphicsPipeline.getDefaultResourceFactory:()Lcom/sun/prism/ResourceFactory;
            goto 43
        42: .line 242
      StackMap locals:
      StackMap stack:
            aload 1 /* resg */
            invokeinterface com.sun.prism.Graphics.getResourceFactory:()Lcom/sun/prism/ResourceFactory;
        43: .line 240
      StackMap locals:
      StackMap stack: com.sun.prism.ResourceFactory
            astore 7 /* factory */
        start local 7 // com.sun.prism.ResourceFactory factory
        44: .line 243
            aload 0 /* this */
            aload 7 /* factory */
            iload 2 /* tw */
            iload 3 /* th */
            getstatic com.sun.prism.Texture$WrapMode.CLAMP_TO_ZERO:Lcom/sun/prism/Texture$WrapMode;
            invokeinterface com.sun.prism.ResourceFactory.createRTTexture:(IILcom/sun/prism/Texture$WrapMode;)Lcom/sun/prism/RTTexture;
            putfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.tex:Lcom/sun/prism/RTTexture;
        45: .line 244
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.tex:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.createGraphics:()Lcom/sun/prism/Graphics;
            putfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.g:Lcom/sun/prism/Graphics;
        46: .line 245
            aload 0 /* this */
            new com.sun.javafx.sg.prism.NGCanvas$EffectInput
            dup
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.tex:Lcom/sun/prism/RTTexture;
            invokespecial com.sun.javafx.sg.prism.NGCanvas$EffectInput.<init>:(Lcom/sun/prism/RTTexture;)V
            putfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.input:Lcom/sun/javafx/sg/prism/NGCanvas$EffectInput;
        47: .line 246
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.savedPixelData:Lcom/sun/javafx/sg/prism/NGCanvas$PixelData;
            ifnull 52
        48: .line 247
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.g:Lcom/sun/prism/Graphics;
            getstatic com.sun.prism.CompositeMode.SRC:Lcom/sun/prism/CompositeMode;
            invokeinterface com.sun.prism.Graphics.setCompositeMode:(Lcom/sun/prism/CompositeMode;)V
        49: .line 248
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.savedPixelData:Lcom/sun/javafx/sg/prism/NGCanvas$PixelData;
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.g:Lcom/sun/prism/Graphics;
            iload 2 /* tw */
            iload 3 /* th */
            invokevirtual com.sun.javafx.sg.prism.NGCanvas$PixelData.restore:(Lcom/sun/prism/Graphics;II)V
        50: .line 249
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.g:Lcom/sun/prism/Graphics;
            getstatic com.sun.prism.CompositeMode.SRC_OVER:Lcom/sun/prism/CompositeMode;
            invokeinterface com.sun.prism.Graphics.setCompositeMode:(Lcom/sun/prism/CompositeMode;)V
        51: .line 250
            goto 54
      StackMap locals: com.sun.prism.ResourceFactory
      StackMap stack:
        52: aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.init_type:Lcom/sun/javafx/sg/prism/NGCanvas$InitType;
            getstatic com.sun.javafx.sg.prism.NGCanvas$InitType.FILL_WHITE:Lcom/sun/javafx/sg/prism/NGCanvas$InitType;
            if_acmpne 54
        53: .line 251
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.g:Lcom/sun/prism/Graphics;
            getstatic com.sun.prism.paint.Color.WHITE:Lcom/sun/prism/paint/Color;
            invokeinterface com.sun.prism.Graphics.clear:(Lcom/sun/prism/paint/Color;)V
        54: .line 253
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 7 // com.sun.prism.ResourceFactory factory
        55: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.init_type:Lcom/sun/javafx/sg/prism/NGCanvas$InitType;
            getstatic com.sun.javafx.sg.prism.NGCanvas$InitType.CLEAR:Lcom/sun/javafx/sg/prism/NGCanvas$InitType;
            if_acmpne 57
        56: .line 258
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.g:Lcom/sun/prism/Graphics;
            invokeinterface com.sun.prism.Graphics.clear:()V
        57: .line 260
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // boolean create
        end local 5 // int ch
        end local 4 // int cw
        end local 3 // int th
        end local 2 // int tw
        end local 1 // com.sun.prism.Graphics resg
        end local 0 // com.sun.javafx.sg.prism.NGCanvas$RenderBuf this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   58     0     this  Lcom/sun/javafx/sg/prism/NGCanvas$RenderBuf;
            0   58     1     resg  Lcom/sun/prism/Graphics;
            0   58     2       tw  I
            0   58     3       th  I
            3    5     4       cw  I
            6   58     4       cw  I
            2    5     5       ch  I
            7   58     5       ch  I
            4    5     6   create  Z
           11   58     6   create  Z
           13   36     7   oldtex  Lcom/sun/prism/RTTexture;
           17   36     8  factory  Lcom/sun/prism/ResourceFactory;
           19   36     9   newtex  Lcom/sun/prism/RTTexture;
           44   55     7  factory  Lcom/sun/prism/ResourceFactory;
    MethodParameters:
      Name  Flags
      resg  
      tw    
      th    

  private void save(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.javafx.sg.prism.NGCanvas$RenderBuf this
        start local 1 // int tw
        start local 2 // int th
         0: .line 264
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.tex:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.isVolatile:()Z
            ifeq 4
         1: .line 265
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.savedPixelData:Lcom/sun/javafx/sg/prism/NGCanvas$PixelData;
            ifnonnull 3
         2: .line 266
            aload 0 /* this */
            new com.sun.javafx.sg.prism.NGCanvas$PixelData
            dup
            iload 1 /* tw */
            iload 2 /* th */
            invokespecial com.sun.javafx.sg.prism.NGCanvas$PixelData.<init>:(II)V
            putfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.savedPixelData:Lcom/sun/javafx/sg/prism/NGCanvas$PixelData;
         3: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.savedPixelData:Lcom/sun/javafx/sg/prism/NGCanvas$PixelData;
            aload 0 /* this */
            getfield com.sun.javafx.sg.prism.NGCanvas$RenderBuf.tex:Lcom/sun/prism/RTTexture;
            invokevirtual com.sun.javafx.sg.prism.NGCanvas$PixelData.save:(Lcom/sun/prism/RTTexture;)V
         4: .line 270
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int th
        end local 1 // int tw
        end local 0 // com.sun.javafx.sg.prism.NGCanvas$RenderBuf this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/javafx/sg/prism/NGCanvas$RenderBuf;
            0    5     1    tw  I
            0    5     2    th  I
    MethodParameters:
      Name  Flags
      tw    
      th    
}
SourceFile: "NGCanvas.java"
NestHost: com.sun.javafx.sg.prism.NGCanvas
InnerClasses:
  EffectInput = com.sun.javafx.sg.prism.NGCanvas$EffectInput of com.sun.javafx.sg.prism.NGCanvas
  final InitType = com.sun.javafx.sg.prism.NGCanvas$InitType of com.sun.javafx.sg.prism.NGCanvas
  private PixelData = com.sun.javafx.sg.prism.NGCanvas$PixelData of com.sun.javafx.sg.prism.NGCanvas
  RenderBuf = com.sun.javafx.sg.prism.NGCanvas$RenderBuf of com.sun.javafx.sg.prism.NGCanvas
  public final WrapMode = com.sun.prism.Texture$WrapMode of com.sun.prism.Texture