abstract class com.sun.javafx.tk.quantum.ViewPainter implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.javafx.tk.quantum.ViewPainter
  super_class: java.lang.Object
{
  private static com.sun.javafx.sg.prism.NodePath[] ROOT_PATHS;
    descriptor: [Lcom/sun/javafx/sg/prism/NodePath;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  protected static final java.util.concurrent.locks.ReentrantLock renderLock;
    descriptor: Ljava/util/concurrent/locks/ReentrantLock;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected int penWidth;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int penHeight;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int viewWidth;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int viewHeight;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected final com.sun.javafx.tk.quantum.SceneState sceneState;
    descriptor: Lcom/sun/javafx/tk/quantum/SceneState;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected com.sun.prism.Presentable presentable;
    descriptor: Lcom/sun/prism/Presentable;
    flags: (0x0004) ACC_PROTECTED

  protected com.sun.prism.ResourceFactory factory;
    descriptor: Lcom/sun/prism/ResourceFactory;
    flags: (0x0004) ACC_PROTECTED

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

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

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

  private com.sun.javafx.sg.prism.NGNode root;
    descriptor: Lcom/sun/javafx/sg/prism/NGNode;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.javafx.sg.prism.NGNode overlayRoot;
    descriptor: Lcom/sun/javafx/sg/prism/NGNode;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.javafx.geom.Rectangle dirtyRect;
    descriptor: Lcom/sun/javafx/geom/Rectangle;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.javafx.geom.RectBounds clip;
    descriptor: Lcom/sun/javafx/geom/RectBounds;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.javafx.geom.RectBounds dirtyRegionTemp;
    descriptor: Lcom/sun/javafx/geom/RectBounds;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.javafx.geom.DirtyRegionPool dirtyRegionPool;
    descriptor: Lcom/sun/javafx/geom/DirtyRegionPool;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.javafx.geom.DirtyRegionContainer dirtyRegionContainer;
    descriptor: Lcom/sun/javafx/geom/DirtyRegionContainer;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.javafx.geom.transform.Affine3D tx;
    descriptor: Lcom/sun/javafx/geom/transform/Affine3D;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.javafx.geom.transform.Affine3D scaleTx;
    descriptor: Lcom/sun/javafx/geom/transform/Affine3D;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.javafx.geom.transform.GeneralTransform3D viewProjTx;
    descriptor: Lcom/sun/javafx/geom/transform/GeneralTransform3D;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.javafx.geom.transform.GeneralTransform3D projTx;
    descriptor: Lcom/sun/javafx/geom/transform/GeneralTransform3D;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.prism.RTTexture sceneBuffer;
    descriptor: Lcom/sun/prism/RTTexture;
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 61
            ldc Lcom/sun/javafx/tk/quantum/ViewPainter;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.sun.javafx.tk.quantum.ViewPainter.$assertionsDisabled:Z
         3: .line 67
            getstatic com.sun.prism.impl.PrismSettings.dirtyRegionCount:I
            anewarray com.sun.javafx.sg.prism.NodePath
            putstatic com.sun.javafx.tk.quantum.ViewPainter.ROOT_PATHS:[Lcom/sun/javafx/sg/prism/NodePath;
         4: .line 73
            new java.util.concurrent.locks.ReentrantLock
            dup
            invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
            putstatic com.sun.javafx.tk.quantum.ViewPainter.renderLock:Ljava/util/concurrent/locks/ReentrantLock;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(com.sun.javafx.tk.quantum.GlassScene);
    descriptor: (Lcom/sun/javafx/tk/quantum/GlassScene;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.javafx.tk.quantum.ViewPainter this
        start local 1 // com.sun.javafx.tk.quantum.GlassScene gs
         0: .line 126
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 78
            aload 0 /* this */
            iconst_m1
            putfield com.sun.javafx.tk.quantum.ViewPainter.penWidth:I
         2: .line 79
            aload 0 /* this */
            iconst_m1
            putfield com.sun.javafx.tk.quantum.ViewPainter.penHeight:I
         3: .line 127
            aload 0 /* this */
            aload 1 /* gs */
            invokevirtual com.sun.javafx.tk.quantum.GlassScene.getSceneState:()Lcom/sun/javafx/tk/quantum/SceneState;
            putfield com.sun.javafx.tk.quantum.ViewPainter.sceneState:Lcom/sun/javafx/tk/quantum/SceneState;
         4: .line 128
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneState:Lcom/sun/javafx/tk/quantum/SceneState;
            ifnonnull 6
         5: .line 129
            new java.lang.NullPointerException
            dup
            ldc "Scene state is null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 132
      StackMap locals: com.sun.javafx.tk.quantum.ViewPainter com.sun.javafx.tk.quantum.GlassScene
      StackMap stack:
            getstatic com.sun.prism.impl.PrismSettings.dirtyOptsEnabled:Z
            ifeq 16
         7: .line 133
            aload 0 /* this */
            new com.sun.javafx.geom.transform.Affine3D
            dup
            invokespecial com.sun.javafx.geom.transform.Affine3D.<init>:()V
            putfield com.sun.javafx.tk.quantum.ViewPainter.tx:Lcom/sun/javafx/geom/transform/Affine3D;
         8: .line 134
            aload 0 /* this */
            new com.sun.javafx.geom.transform.GeneralTransform3D
            dup
            invokespecial com.sun.javafx.geom.transform.GeneralTransform3D.<init>:()V
            putfield com.sun.javafx.tk.quantum.ViewPainter.viewProjTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
         9: .line 135
            aload 0 /* this */
            new com.sun.javafx.geom.transform.GeneralTransform3D
            dup
            invokespecial com.sun.javafx.geom.transform.GeneralTransform3D.<init>:()V
            putfield com.sun.javafx.tk.quantum.ViewPainter.projTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
        10: .line 136
            aload 0 /* this */
            new com.sun.javafx.geom.transform.Affine3D
            dup
            invokespecial com.sun.javafx.geom.transform.Affine3D.<init>:()V
            putfield com.sun.javafx.tk.quantum.ViewPainter.scaleTx:Lcom/sun/javafx/geom/transform/Affine3D;
        11: .line 137
            aload 0 /* this */
            new com.sun.javafx.geom.RectBounds
            dup
            invokespecial com.sun.javafx.geom.RectBounds.<init>:()V
            putfield com.sun.javafx.tk.quantum.ViewPainter.clip:Lcom/sun/javafx/geom/RectBounds;
        12: .line 138
            aload 0 /* this */
            new com.sun.javafx.geom.Rectangle
            dup
            invokespecial com.sun.javafx.geom.Rectangle.<init>:()V
            putfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRect:Lcom/sun/javafx/geom/Rectangle;
        13: .line 139
            aload 0 /* this */
            new com.sun.javafx.geom.RectBounds
            dup
            invokespecial com.sun.javafx.geom.RectBounds.<init>:()V
            putfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRegionTemp:Lcom/sun/javafx/geom/RectBounds;
        14: .line 140
            aload 0 /* this */
            new com.sun.javafx.geom.DirtyRegionPool
            dup
            getstatic com.sun.prism.impl.PrismSettings.dirtyRegionCount:I
            invokespecial com.sun.javafx.geom.DirtyRegionPool.<init>:(I)V
            putfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRegionPool:Lcom/sun/javafx/geom/DirtyRegionPool;
        15: .line 141
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRegionPool:Lcom/sun/javafx/geom/DirtyRegionPool;
            invokevirtual com.sun.javafx.geom.DirtyRegionPool.checkOut:()Lcom/sun/javafx/geom/DirtyRegionContainer;
            putfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRegionContainer:Lcom/sun/javafx/geom/DirtyRegionContainer;
        16: .line 143
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.javafx.tk.quantum.GlassScene gs
        end local 0 // com.sun.javafx.tk.quantum.ViewPainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lcom/sun/javafx/tk/quantum/ViewPainter;
            0   17     1    gs  Lcom/sun/javafx/tk/quantum/GlassScene;
    MethodParameters:
      Name  Flags
      gs    

  protected final void setRoot(com.sun.javafx.sg.prism.NGNode);
    descriptor: (Lcom/sun/javafx/sg/prism/NGNode;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.javafx.tk.quantum.ViewPainter this
        start local 1 // com.sun.javafx.sg.prism.NGNode node
         0: .line 146
            aload 0 /* this */
            aload 1 /* node */
            putfield com.sun.javafx.tk.quantum.ViewPainter.root:Lcom/sun/javafx/sg/prism/NGNode;
         1: .line 147
            return
        end local 1 // com.sun.javafx.sg.prism.NGNode node
        end local 0 // com.sun.javafx.tk.quantum.ViewPainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/javafx/tk/quantum/ViewPainter;
            0    2     1  node  Lcom/sun/javafx/sg/prism/NGNode;
    MethodParameters:
      Name  Flags
      node  

  protected final void setOverlayRoot(com.sun.javafx.sg.prism.NGNode);
    descriptor: (Lcom/sun/javafx/sg/prism/NGNode;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.javafx.tk.quantum.ViewPainter this
        start local 1 // com.sun.javafx.sg.prism.NGNode node
         0: .line 150
            aload 0 /* this */
            aload 1 /* node */
            putfield com.sun.javafx.tk.quantum.ViewPainter.overlayRoot:Lcom/sun/javafx/sg/prism/NGNode;
         1: .line 151
            return
        end local 1 // com.sun.javafx.sg.prism.NGNode node
        end local 0 // com.sun.javafx.tk.quantum.ViewPainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/javafx/tk/quantum/ViewPainter;
            0    2     1  node  Lcom/sun/javafx/sg/prism/NGNode;
    MethodParameters:
      Name  Flags
      node  

  private void adjustPerspective(com.sun.javafx.sg.prism.NGCamera);
    descriptor: (Lcom/sun/javafx/sg/prism/NGCamera;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.sun.javafx.tk.quantum.ViewPainter this
        start local 1 // com.sun.javafx.sg.prism.NGCamera camera
         0: .line 155
            getstatic com.sun.javafx.tk.quantum.ViewPainter.$assertionsDisabled:Z
            ifne 1
            getstatic com.sun.prism.impl.PrismSettings.dirtyOptsEnabled:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 156
      StackMap locals:
      StackMap stack:
            aload 1 /* camera */
            instanceof com.sun.javafx.sg.prism.NGPerspectiveCamera
            ifeq 7
         2: .line 157
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.scaleTx:Lcom/sun/javafx/geom/transform/Affine3D;
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.width:I
            i2d
            ldc 2.0
            ddiv
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.height:I
            ineg
            i2d
            ldc 2.0
            ddiv
            dconst_1
            invokevirtual com.sun.javafx.geom.transform.Affine3D.setToScale:(DDD)V
         3: .line 158
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.scaleTx:Lcom/sun/javafx/geom/transform/Affine3D;
            dconst_1
            ldc -1.0
            invokevirtual com.sun.javafx.geom.transform.Affine3D.translate:(DD)V
         4: .line 159
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.projTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.scaleTx:Lcom/sun/javafx/geom/transform/Affine3D;
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.mul:(Lcom/sun/javafx/geom/transform/BaseTransform;)Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            pop
         5: .line 160
            aload 0 /* this */
            aload 1 /* camera */
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.viewProjTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.javafx.sg.prism.NGCamera.getProjViewTx:(Lcom/sun/javafx/geom/transform/GeneralTransform3D;)Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            putfield com.sun.javafx.tk.quantum.ViewPainter.viewProjTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
         6: .line 161
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.projTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.viewProjTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.mul:(Lcom/sun/javafx/geom/transform/GeneralTransform3D;)Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            pop
         7: .line 163
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.javafx.sg.prism.NGCamera camera
        end local 0 // com.sun.javafx.tk.quantum.ViewPainter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/sun/javafx/tk/quantum/ViewPainter;
            0    8     1  camera  Lcom/sun/javafx/sg/prism/NGCamera;
    MethodParameters:
        Name  Flags
      camera  

  protected void paintImpl(com.sun.prism.Graphics);
    descriptor: (Lcom/sun/prism/Graphics;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=11, locals=14, args_size=2
        start local 0 // com.sun.javafx.tk.quantum.ViewPainter this
        start local 1 // com.sun.prism.Graphics backBufferGraphics
         0: .line 168
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.width:I
            ifle 1
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.height:I
            ifle 1
            aload 1 /* backBufferGraphics */
            ifnonnull 3
         1: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.root:Lcom/sun/javafx/sg/prism/NGNode;
            aload 1 /* backBufferGraphics */
            invokevirtual com.sun.javafx.sg.prism.NGNode.renderForcedContent:(Lcom/sun/prism/Graphics;)V
         2: .line 170
            return
         3: .line 175
      StackMap locals:
      StackMap stack:
            aload 1 /* backBufferGraphics */
            astore 2 /* g */
        start local 2 // com.sun.prism.Graphics g
         4: .line 177
            aload 0 /* this */
            invokevirtual com.sun.javafx.tk.quantum.ViewPainter.getPixelScaleFactorX:()F
            fstore 3 /* pixelScaleX */
        start local 3 // float pixelScaleX
         5: .line 178
            aload 0 /* this */
            invokevirtual com.sun.javafx.tk.quantum.ViewPainter.getPixelScaleFactorY:()F
            fstore 4 /* pixelScaleY */
        start local 4 // float pixelScaleY
         6: .line 180
            aload 2 /* g */
            fload 3 /* pixelScaleX */
            fload 4 /* pixelScaleY */
            invokeinterface com.sun.prism.Graphics.setPixelScaleFactors:(FF)V
         7: .line 184
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.overlayRoot:Lcom/sun/javafx/sg/prism/NGNode;
            ifnonnull 13
         8: .line 185
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.freshBackBuffer:Z
            ifne 13
         9: .line 186
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneState:Lcom/sun/javafx/tk/quantum/SceneState;
            invokevirtual com.sun.javafx.tk.quantum.SceneState.getScene:()Lcom/sun/javafx/tk/quantum/GlassScene;
            invokevirtual com.sun.javafx.tk.quantum.GlassScene.isEntireSceneDirty:()Z
            ifne 13
        10: .line 187
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneState:Lcom/sun/javafx/tk/quantum/SceneState;
            invokevirtual com.sun.javafx.tk.quantum.SceneState.getScene:()Lcom/sun/javafx/tk/quantum/GlassScene;
            invokevirtual com.sun.javafx.tk.quantum.GlassScene.getDepthBuffer:()Z
            ifne 13
        11: .line 188
            getstatic com.sun.prism.impl.PrismSettings.dirtyOptsEnabled:Z
            ifeq 13
        12: .line 184
            iconst_0
            goto 14
      StackMap locals: com.sun.prism.Graphics float float
      StackMap stack:
        13: iconst_1
      StackMap locals:
      StackMap stack: int
        14: istore 5 /* renderEverything */
        start local 5 // boolean renderEverything
        15: .line 191
            getstatic com.sun.prism.impl.PrismSettings.showDirtyRegions:Z
            ifne 16
            getstatic com.sun.prism.impl.PrismSettings.showOverdraw:Z
            ifne 16
            iconst_0
            goto 17
      StackMap locals: int
      StackMap stack:
        16: iconst_1
      StackMap locals:
      StackMap stack: int
        17: istore 6 /* showDirtyOpts */
        start local 6 // boolean showDirtyOpts
        18: .line 195
            iload 6 /* showDirtyOpts */
            ifeq 42
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneState:Lcom/sun/javafx/tk/quantum/SceneState;
            invokevirtual com.sun.javafx.tk.quantum.SceneState.getScene:()Lcom/sun/javafx/tk/quantum/GlassScene;
            invokevirtual com.sun.javafx.tk.quantum.GlassScene.getDepthBuffer:()Z
            ifne 42
        19: .line 196
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.width:I
            i2f
            fload 3 /* pixelScaleX */
            fmul
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            istore 7 /* bufferWidth */
        start local 7 // int bufferWidth
        20: .line 197
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.height:I
            i2f
            fload 4 /* pixelScaleY */
            fmul
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            istore 8 /* bufferHeight */
        start local 8 // int bufferHeight
        21: .line 199
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            ifnull 29
        22: .line 200
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.lock:()V
        23: .line 201
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.isSurfaceLost:()Z
            ifne 26
        24: .line 202
            iload 7 /* bufferWidth */
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.getContentWidth:()I
            if_icmpne 26
        25: .line 203
            iload 8 /* bufferHeight */
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.getContentHeight:()I
            if_icmpeq 29
        26: .line 204
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.unlock:()V
        27: .line 205
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.dispose:()V
        28: .line 206
            aload 0 /* this */
            aconst_null
            putfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
        29: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            ifnonnull 37
        30: .line 213
            aload 0 /* this */
            aload 2 /* g */
            invokeinterface com.sun.prism.Graphics.getResourceFactory:()Lcom/sun/prism/ResourceFactory;
        31: .line 214
            iload 7 /* bufferWidth */
        32: .line 215
            iload 8 /* bufferHeight */
        33: .line 216
            getstatic com.sun.prism.Texture$WrapMode.CLAMP_TO_ZERO:Lcom/sun/prism/Texture$WrapMode;
        34: .line 217
            iconst_0
        35: .line 213
            invokeinterface com.sun.prism.ResourceFactory.createRTTexture:(IILcom/sun/prism/Texture$WrapMode;Z)Lcom/sun/prism/RTTexture;
            putfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
        36: .line 218
            iconst_1
            istore 5 /* renderEverything */
        37: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.contentsUseful:()V
        38: .line 222
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.createGraphics:()Lcom/sun/prism/Graphics;
            astore 2 /* g */
        39: .line 223
            aload 2 /* g */
            fload 3 /* pixelScaleX */
            fload 4 /* pixelScaleY */
            invokeinterface com.sun.prism.Graphics.setPixelScaleFactors:(FF)V
        40: .line 224
            aload 2 /* g */
            fload 3 /* pixelScaleX */
            fload 4 /* pixelScaleY */
            invokeinterface com.sun.prism.Graphics.scale:(FF)V
        end local 8 // int bufferHeight
        end local 7 // int bufferWidth
        41: .line 225
            goto 45
      StackMap locals:
      StackMap stack:
        42: aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            ifnull 45
        43: .line 229
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.dispose:()V
        44: .line 230
            aload 0 /* this */
            aconst_null
            putfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
        45: .line 234
      StackMap locals:
      StackMap stack:
            iconst_m1
            istore 7 /* status */
        start local 7 // int status
        46: .line 238
            iload 5 /* renderEverything */
            ifne 62
        47: .line 239
            getstatic com.sun.javafx.logging.PulseLogger.PULSE_LOGGING_ENABLED:Z
            ifeq 49
        48: .line 240
            ldc "Dirty Opts Computed"
            invokestatic com.sun.javafx.logging.PulseLogger.newPhase:(Ljava/lang/String;)V
        49: .line 242
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.clip:Lcom/sun/javafx/geom/RectBounds;
            fconst_0
            fconst_0
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.width:I
            i2f
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.height:I
            i2f
            invokevirtual com.sun.javafx.geom.RectBounds.setBounds:(FFFF)V
        50: .line 243
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRegionTemp:Lcom/sun/javafx/geom/RectBounds;
            invokevirtual com.sun.javafx.geom.RectBounds.makeEmpty:()Lcom/sun/javafx/geom/RectBounds;
            pop
        51: .line 244
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRegionContainer:Lcom/sun/javafx/geom/DirtyRegionContainer;
            invokevirtual com.sun.javafx.geom.DirtyRegionContainer.reset:()V
        52: .line 245
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.tx:Lcom/sun/javafx/geom/transform/Affine3D;
            invokevirtual com.sun.javafx.geom.transform.Affine3D.setToIdentity:()V
        53: .line 246
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.projTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.javafx.geom.transform.GeneralTransform3D.setIdentity:()Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            pop
        54: .line 247
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneState:Lcom/sun/javafx/tk/quantum/SceneState;
            invokevirtual com.sun.javafx.tk.quantum.SceneState.getCamera:()Lcom/sun/javafx/sg/prism/NGCamera;
            invokevirtual com.sun.javafx.tk.quantum.ViewPainter.adjustPerspective:(Lcom/sun/javafx/sg/prism/NGCamera;)V
        55: .line 248
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.root:Lcom/sun/javafx/sg/prism/NGNode;
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.clip:Lcom/sun/javafx/geom/RectBounds;
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRegionTemp:Lcom/sun/javafx/geom/RectBounds;
        56: .line 249
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRegionPool:Lcom/sun/javafx/geom/DirtyRegionPool;
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRegionContainer:Lcom/sun/javafx/geom/DirtyRegionContainer;
        57: .line 250
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.tx:Lcom/sun/javafx/geom/transform/Affine3D;
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.projTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
        58: .line 248
            invokevirtual com.sun.javafx.sg.prism.NGNode.accumulateDirtyRegions:(Lcom/sun/javafx/geom/RectBounds;Lcom/sun/javafx/geom/RectBounds;Lcom/sun/javafx/geom/DirtyRegionPool;Lcom/sun/javafx/geom/DirtyRegionContainer;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/transform/GeneralTransform3D;)I
            istore 7 /* status */
        59: .line 251
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRegionContainer:Lcom/sun/javafx/geom/DirtyRegionContainer;
            invokevirtual com.sun.javafx.geom.DirtyRegionContainer.roundOut:()V
        60: .line 252
            iload 7 /* status */
            iconst_1
            if_icmpne 62
        61: .line 253
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.root:Lcom/sun/javafx/sg/prism/NGNode;
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRegionContainer:Lcom/sun/javafx/geom/DirtyRegionContainer;
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.tx:Lcom/sun/javafx/geom/transform/Affine3D;
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.projTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.javafx.sg.prism.NGNode.doPreCulling:(Lcom/sun/javafx/geom/DirtyRegionContainer;Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/transform/GeneralTransform3D;)V
        62: .line 259
      StackMap locals:
      StackMap stack:
            iload 7 /* status */
            iconst_1
            if_icmpne 63
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRegionContainer:Lcom/sun/javafx/geom/DirtyRegionContainer;
            invokevirtual com.sun.javafx.geom.DirtyRegionContainer.size:()I
            goto 64
      StackMap locals:
      StackMap stack:
        63: iconst_0
      StackMap locals:
      StackMap stack: int
        64: istore 8 /* dirtyRegionSize */
        start local 8 // int dirtyRegionSize
        65: .line 261
            iload 8 /* dirtyRegionSize */
            ifle 114
        66: .line 265
            aload 2 /* g */
            iconst_1
            invokeinterface com.sun.prism.Graphics.setHasPreCullingBits:(Z)V
        67: .line 268
            getstatic com.sun.javafx.logging.PulseLogger.PULSE_LOGGING_ENABLED:Z
            ifeq 69
        68: .line 269
            ldc "Render Roots Discovered"
            invokestatic com.sun.javafx.logging.PulseLogger.newPhase:(Ljava/lang/String;)V
        69: .line 271
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        70: goto 75
        71: .line 272
      StackMap locals: int
      StackMap stack:
            iload 9 /* i */
            invokestatic com.sun.javafx.tk.quantum.ViewPainter.getRootPath:(I)Lcom/sun/javafx/sg/prism/NodePath;
            astore 10 /* path */
        start local 10 // com.sun.javafx.sg.prism.NodePath path
        72: .line 273
            aload 10 /* path */
            invokevirtual com.sun.javafx.sg.prism.NodePath.clear:()V
        73: .line 274
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.root:Lcom/sun/javafx/sg/prism/NGNode;
            iload 9 /* i */
            invokestatic com.sun.javafx.tk.quantum.ViewPainter.getRootPath:(I)Lcom/sun/javafx/sg/prism/NodePath;
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRegionContainer:Lcom/sun/javafx/geom/DirtyRegionContainer;
            iload 9 /* i */
            invokevirtual com.sun.javafx.geom.DirtyRegionContainer.getDirtyRegion:(I)Lcom/sun/javafx/geom/RectBounds;
            iload 9 /* i */
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.tx:Lcom/sun/javafx/geom/transform/Affine3D;
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.projTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            invokevirtual com.sun.javafx.sg.prism.NGNode.getRenderRoot:(Lcom/sun/javafx/sg/prism/NodePath;Lcom/sun/javafx/geom/RectBounds;ILcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/transform/GeneralTransform3D;)V
        end local 10 // com.sun.javafx.sg.prism.NodePath path
        74: .line 271
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        75: iload 9 /* i */
            iload 8 /* dirtyRegionSize */
            if_icmplt 71
        end local 9 // int i
        76: .line 279
            getstatic com.sun.javafx.logging.PulseLogger.PULSE_LOGGING_ENABLED:Z
            ifeq 84
        77: .line 280
            new java.lang.StringBuilder
            dup
            iload 8 /* dirtyRegionSize */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " different dirty regions to render"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.javafx.logging.PulseLogger.addMessage:(Ljava/lang/String;)V
        78: .line 281
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        79: goto 83
        80: .line 282
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Dirty Region "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 9 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRegionContainer:Lcom/sun/javafx/geom/DirtyRegionContainer;
            iload 9 /* i */
            invokevirtual com.sun.javafx.geom.DirtyRegionContainer.getDirtyRegion:(I)Lcom/sun/javafx/geom/RectBounds;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.javafx.logging.PulseLogger.addMessage:(Ljava/lang/String;)V
        81: .line 283
            new java.lang.StringBuilder
            dup
            ldc "Render Root Path "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 9 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 9 /* i */
            invokestatic com.sun.javafx.tk.quantum.ViewPainter.getRootPath:(I)Lcom/sun/javafx/sg/prism/NodePath;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.javafx.logging.PulseLogger.addMessage:(Ljava/lang/String;)V
        82: .line 281
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        83: iload 9 /* i */
            iload 8 /* dirtyRegionSize */
            if_icmplt 80
        end local 9 // int i
        84: .line 289
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.logging.PulseLogger.PULSE_LOGGING_ENABLED:Z
            ifeq 98
            getstatic com.sun.prism.impl.PrismSettings.printRenderGraph:Z
            ifeq 98
        85: .line 290
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 9 /* s */
        start local 9 // java.lang.StringBuilder s
        86: .line 291
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* roots */
        start local 10 // java.util.List roots
        87: .line 292
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        88: goto 95
        89: .line 293
      StackMap locals: java.lang.StringBuilder java.util.List int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRegionContainer:Lcom/sun/javafx/geom/DirtyRegionContainer;
            iload 11 /* i */
            invokevirtual com.sun.javafx.geom.DirtyRegionContainer.getDirtyRegion:(I)Lcom/sun/javafx/geom/RectBounds;
            astore 12 /* dirtyRegion */
        start local 12 // com.sun.javafx.geom.RectBounds dirtyRegion
        90: .line 295
            aload 12 /* dirtyRegion */
            invokevirtual com.sun.javafx.geom.RectBounds.getWidth:()F
            fconst_0
            fcmpl
            ifle 94
            aload 12 /* dirtyRegion */
            invokevirtual com.sun.javafx.geom.RectBounds.getHeight:()F
            fconst_0
            fcmpl
            ifle 94
        91: .line 296
            iload 11 /* i */
            invokestatic com.sun.javafx.tk.quantum.ViewPainter.getRootPath:(I)Lcom/sun/javafx/sg/prism/NodePath;
            astore 13 /* nodePath */
        start local 13 // com.sun.javafx.sg.prism.NodePath nodePath
        92: .line 297
            aload 13 /* nodePath */
            invokevirtual com.sun.javafx.sg.prism.NodePath.isEmpty:()Z
            ifne 94
        93: .line 298
            aload 10 /* roots */
            aload 13 /* nodePath */
            invokevirtual com.sun.javafx.sg.prism.NodePath.last:()Lcom/sun/javafx/sg/prism/NGNode;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // com.sun.javafx.sg.prism.NodePath nodePath
        end local 12 // com.sun.javafx.geom.RectBounds dirtyRegion
        94: .line 292
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        95: iload 11 /* i */
            iload 8 /* dirtyRegionSize */
            if_icmplt 89
        end local 11 // int i
        96: .line 302
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.root:Lcom/sun/javafx/sg/prism/NGNode;
            aload 9 /* s */
            aload 10 /* roots */
            invokevirtual com.sun.javafx.sg.prism.NGNode.printDirtyOpts:(Ljava/lang/StringBuilder;Ljava/util/List;)V
        97: .line 303
            aload 9 /* s */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.javafx.logging.PulseLogger.addMessage:(Ljava/lang/String;)V
        end local 10 // java.util.List roots
        end local 9 // java.lang.StringBuilder s
        98: .line 307
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        99: goto 112
       100: .line 308
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRegionContainer:Lcom/sun/javafx/geom/DirtyRegionContainer;
            iload 9 /* i */
            invokevirtual com.sun.javafx.geom.DirtyRegionContainer.getDirtyRegion:(I)Lcom/sun/javafx/geom/RectBounds;
            astore 10 /* dirtyRegion */
        start local 10 // com.sun.javafx.geom.RectBounds dirtyRegion
       101: .line 311
            aload 10 /* dirtyRegion */
            invokevirtual com.sun.javafx.geom.RectBounds.getWidth:()F
            fconst_0
            fcmpl
            ifle 111
            aload 10 /* dirtyRegion */
            invokevirtual com.sun.javafx.geom.RectBounds.getHeight:()F
            fconst_0
            fcmpl
            ifle 111
       102: .line 315
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRect:Lcom/sun/javafx/geom/Rectangle;
            aload 10 /* dirtyRegion */
            invokevirtual com.sun.javafx.geom.RectBounds.getMinX:()F
            fload 3 /* pixelScaleX */
            fmul
            f2d
            invokestatic java.lang.Math.floor:(D)D
            d2i
            dup
            istore 11 /* x0 */
        start local 11 // int x0
       103: putfield com.sun.javafx.geom.Rectangle.x:I
       104: .line 316
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRect:Lcom/sun/javafx/geom/Rectangle;
            aload 10 /* dirtyRegion */
            invokevirtual com.sun.javafx.geom.RectBounds.getMinY:()F
            fload 4 /* pixelScaleY */
            fmul
            f2d
            invokestatic java.lang.Math.floor:(D)D
            d2i
            dup
            istore 12 /* y0 */
        start local 12 // int y0
       105: putfield com.sun.javafx.geom.Rectangle.y:I
       106: .line 317
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRect:Lcom/sun/javafx/geom/Rectangle;
            aload 10 /* dirtyRegion */
            invokevirtual com.sun.javafx.geom.RectBounds.getMaxX:()F
            fload 3 /* pixelScaleX */
            fmul
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            iload 11 /* x0 */
            isub
            putfield com.sun.javafx.geom.Rectangle.width:I
       107: .line 318
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRect:Lcom/sun/javafx/geom/Rectangle;
            aload 10 /* dirtyRegion */
            invokevirtual com.sun.javafx.geom.RectBounds.getMaxY:()F
            fload 4 /* pixelScaleY */
            fmul
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
            iload 12 /* y0 */
            isub
            putfield com.sun.javafx.geom.Rectangle.height:I
       108: .line 319
            aload 2 /* g */
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRect:Lcom/sun/javafx/geom/Rectangle;
            invokeinterface com.sun.prism.Graphics.setClipRect:(Lcom/sun/javafx/geom/Rectangle;)V
       109: .line 320
            aload 2 /* g */
            iload 9 /* i */
            invokeinterface com.sun.prism.Graphics.setClipRectIndex:(I)V
       110: .line 321
            aload 0 /* this */
            aload 2 /* g */
            iload 9 /* i */
            invokestatic com.sun.javafx.tk.quantum.ViewPainter.getRootPath:(I)Lcom/sun/javafx/sg/prism/NodePath;
            invokevirtual com.sun.javafx.tk.quantum.ViewPainter.doPaint:(Lcom/sun/prism/Graphics;Lcom/sun/javafx/sg/prism/NodePath;)V
        end local 12 // int y0
        end local 11 // int x0
        end local 10 // com.sun.javafx.geom.RectBounds dirtyRegion
       111: .line 307
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
       112: iload 9 /* i */
            iload 8 /* dirtyRegionSize */
            if_icmplt 100
        end local 9 // int i
       113: .line 324
            goto 117
       114: .line 326
      StackMap locals:
      StackMap stack:
            aload 2 /* g */
            iconst_0
            invokeinterface com.sun.prism.Graphics.setHasPreCullingBits:(Z)V
       115: .line 327
            aload 2 /* g */
            aconst_null
            invokeinterface com.sun.prism.Graphics.setClipRect:(Lcom/sun/javafx/geom/Rectangle;)V
       116: .line 328
            aload 0 /* this */
            aload 2 /* g */
            aconst_null
            invokevirtual com.sun.javafx.tk.quantum.ViewPainter.doPaint:(Lcom/sun/prism/Graphics;Lcom/sun/javafx/sg/prism/NodePath;)V
       117: .line 330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.root:Lcom/sun/javafx/sg/prism/NGNode;
            aload 2 /* g */
            invokevirtual com.sun.javafx.sg.prism.NGNode.renderForcedContent:(Lcom/sun/prism/Graphics;)V
       118: .line 333
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.overlayRoot:Lcom/sun/javafx/sg/prism/NGNode;
            ifnull 120
       119: .line 334
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.overlayRoot:Lcom/sun/javafx/sg/prism/NGNode;
            aload 2 /* g */
            invokevirtual com.sun.javafx.sg.prism.NGNode.render:(Lcom/sun/prism/Graphics;)V
       120: .line 342
      StackMap locals:
      StackMap stack:
            iload 6 /* showDirtyOpts */
            ifeq 160
       121: .line 343
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            ifnull 130
       122: .line 344
            aload 2 /* g */
            invokeinterface com.sun.prism.Graphics.sync:()V
       123: .line 345
            aload 1 /* backBufferGraphics */
            invokeinterface com.sun.prism.Graphics.clear:()V
       124: .line 346
            aload 1 /* backBufferGraphics */
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            fconst_0
            fconst_0
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.width:I
            i2f
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.height:I
            i2f
       125: .line 347
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.getContentX:()I
            i2f
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.getContentY:()I
            i2f
       126: .line 348
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.getContentX:()I
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.getContentWidth:()I
            iadd
            i2f
       127: .line 349
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.getContentY:()I
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.getContentHeight:()I
            iadd
            i2f
       128: .line 346
            invokeinterface com.sun.prism.Graphics.drawTexture:(Lcom/sun/prism/Texture;FFFFFFFF)V
       129: .line 350
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneBuffer:Lcom/sun/prism/RTTexture;
            invokeinterface com.sun.prism.RTTexture.unlock:()V
       130: .line 353
      StackMap locals:
      StackMap stack:
            getstatic com.sun.prism.impl.PrismSettings.showOverdraw:Z
            ifeq 148
       131: .line 355
            iload 8 /* dirtyRegionSize */
            ifle 142
       132: .line 358
            iconst_0
            istore 9 /* i */
        start local 9 // int i
       133: goto 140
       134: .line 359
      StackMap locals: int
      StackMap stack:
            new com.sun.javafx.geom.Rectangle
            dup
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRegionContainer:Lcom/sun/javafx/geom/DirtyRegionContainer;
            iload 9 /* i */
            invokevirtual com.sun.javafx.geom.DirtyRegionContainer.getDirtyRegion:(I)Lcom/sun/javafx/geom/RectBounds;
            invokespecial com.sun.javafx.geom.Rectangle.<init>:(Lcom/sun/javafx/geom/BaseBounds;)V
            astore 10 /* clip */
        start local 10 // com.sun.javafx.geom.Rectangle clip
       135: .line 360
            aload 1 /* backBufferGraphics */
            iload 9 /* i */
            invokeinterface com.sun.prism.Graphics.setClipRectIndex:(I)V
       136: .line 361
            aload 0 /* this */
            aload 1 /* backBufferGraphics */
            aload 10 /* clip */
            invokevirtual com.sun.javafx.tk.quantum.ViewPainter.paintOverdraw:(Lcom/sun/prism/Graphics;Lcom/sun/javafx/geom/Rectangle;)V
       137: .line 362
            aload 1 /* backBufferGraphics */
            new com.sun.prism.paint.Color
            dup
            fconst_1
            fconst_0
            fconst_0
            ldc 0.3
            invokespecial com.sun.prism.paint.Color.<init>:(FFFF)V
            invokeinterface com.sun.prism.Graphics.setPaint:(Lcom/sun/prism/paint/Paint;)V
       138: .line 363
            aload 1 /* backBufferGraphics */
            aload 10 /* clip */
            getfield com.sun.javafx.geom.Rectangle.x:I
            i2f
            aload 10 /* clip */
            getfield com.sun.javafx.geom.Rectangle.y:I
            i2f
            aload 10 /* clip */
            getfield com.sun.javafx.geom.Rectangle.width:I
            i2f
            aload 10 /* clip */
            getfield com.sun.javafx.geom.Rectangle.height:I
            i2f
            invokeinterface com.sun.prism.Graphics.drawRect:(FFFF)V
        end local 10 // com.sun.javafx.geom.Rectangle clip
       139: .line 358
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
       140: iload 9 /* i */
            iload 8 /* dirtyRegionSize */
            if_icmplt 134
        end local 9 // int i
       141: .line 365
            goto 159
       142: .line 367
      StackMap locals:
      StackMap stack:
            new com.sun.javafx.geom.Rectangle
            dup
            iconst_0
            iconst_0
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.width:I
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.height:I
            invokespecial com.sun.javafx.geom.Rectangle.<init>:(IIII)V
            astore 9 /* clip */
        start local 9 // com.sun.javafx.geom.Rectangle clip
       143: .line 368
            getstatic com.sun.javafx.tk.quantum.ViewPainter.$assertionsDisabled:Z
            ifne 144
            aload 1 /* backBufferGraphics */
            invokeinterface com.sun.prism.Graphics.getClipRectIndex:()I
            ifeq 144
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       144: .line 369
      StackMap locals: com.sun.javafx.geom.Rectangle
      StackMap stack:
            aload 0 /* this */
            aload 1 /* backBufferGraphics */
            aload 9 /* clip */
            invokevirtual com.sun.javafx.tk.quantum.ViewPainter.paintOverdraw:(Lcom/sun/prism/Graphics;Lcom/sun/javafx/geom/Rectangle;)V
       145: .line 370
            aload 1 /* backBufferGraphics */
            new com.sun.prism.paint.Color
            dup
            fconst_1
            fconst_0
            fconst_0
            ldc 0.3
            invokespecial com.sun.prism.paint.Color.<init>:(FFFF)V
            invokeinterface com.sun.prism.Graphics.setPaint:(Lcom/sun/prism/paint/Paint;)V
       146: .line 371
            aload 1 /* backBufferGraphics */
            aload 9 /* clip */
            getfield com.sun.javafx.geom.Rectangle.x:I
            i2f
            aload 9 /* clip */
            getfield com.sun.javafx.geom.Rectangle.y:I
            i2f
            aload 9 /* clip */
            getfield com.sun.javafx.geom.Rectangle.width:I
            i2f
            aload 9 /* clip */
            getfield com.sun.javafx.geom.Rectangle.height:I
            i2f
            invokeinterface com.sun.prism.Graphics.drawRect:(FFFF)V
        end local 9 // com.sun.javafx.geom.Rectangle clip
       147: .line 373
            goto 159
       148: .line 375
      StackMap locals:
      StackMap stack:
            iload 8 /* dirtyRegionSize */
            ifle 157
       149: .line 377
            aload 1 /* backBufferGraphics */
            new com.sun.prism.paint.Color
            dup
            fconst_1
            fconst_0
            fconst_0
            ldc 0.3
            invokespecial com.sun.prism.paint.Color.<init>:(FFFF)V
            invokeinterface com.sun.prism.Graphics.setPaint:(Lcom/sun/prism/paint/Paint;)V
       150: .line 378
            iconst_0
            istore 9 /* i */
        start local 9 // int i
       151: goto 155
       152: .line 379
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.dirtyRegionContainer:Lcom/sun/javafx/geom/DirtyRegionContainer;
            iload 9 /* i */
            invokevirtual com.sun.javafx.geom.DirtyRegionContainer.getDirtyRegion:(I)Lcom/sun/javafx/geom/RectBounds;
            astore 10 /* reg */
        start local 10 // com.sun.javafx.geom.RectBounds reg
       153: .line 380
            aload 1 /* backBufferGraphics */
            aload 10 /* reg */
            invokevirtual com.sun.javafx.geom.RectBounds.getMinX:()F
            aload 10 /* reg */
            invokevirtual com.sun.javafx.geom.RectBounds.getMinY:()F
            aload 10 /* reg */
            invokevirtual com.sun.javafx.geom.RectBounds.getWidth:()F
            aload 10 /* reg */
            invokevirtual com.sun.javafx.geom.RectBounds.getHeight:()F
            invokeinterface com.sun.prism.Graphics.fillRect:(FFFF)V
        end local 10 // com.sun.javafx.geom.RectBounds reg
       154: .line 378
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
       155: iload 9 /* i */
            iload 8 /* dirtyRegionSize */
            if_icmplt 152
        end local 9 // int i
       156: .line 382
            goto 159
       157: .line 384
      StackMap locals:
      StackMap stack:
            aload 1 /* backBufferGraphics */
            new com.sun.prism.paint.Color
            dup
            fconst_1
            fconst_0
            fconst_0
            ldc 0.3
            invokespecial com.sun.prism.paint.Color.<init>:(FFFF)V
            invokeinterface com.sun.prism.Graphics.setPaint:(Lcom/sun/prism/paint/Paint;)V
       158: .line 385
            aload 1 /* backBufferGraphics */
            fconst_0
            fconst_0
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.width:I
            i2f
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.height:I
            i2f
            invokeinterface com.sun.prism.Graphics.fillRect:(FFFF)V
       159: .line 388
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.root:Lcom/sun/javafx/sg/prism/NGNode;
            invokevirtual com.sun.javafx.sg.prism.NGNode.clearPainted:()V
       160: .line 390
      StackMap locals:
      StackMap stack:
            return
        end local 8 // int dirtyRegionSize
        end local 7 // int status
        end local 6 // boolean showDirtyOpts
        end local 5 // boolean renderEverything
        end local 4 // float pixelScaleY
        end local 3 // float pixelScaleX
        end local 2 // com.sun.prism.Graphics g
        end local 1 // com.sun.prism.Graphics backBufferGraphics
        end local 0 // com.sun.javafx.tk.quantum.ViewPainter this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  161     0                this  Lcom/sun/javafx/tk/quantum/ViewPainter;
            0  161     1  backBufferGraphics  Lcom/sun/prism/Graphics;
            4  161     2                   g  Lcom/sun/prism/Graphics;
            5  161     3         pixelScaleX  F
            6  161     4         pixelScaleY  F
           15  161     5    renderEverything  Z
           18  161     6       showDirtyOpts  Z
           20   41     7         bufferWidth  I
           21   41     8        bufferHeight  I
           46  161     7              status  I
           65  161     8     dirtyRegionSize  I
           70   76     9                   i  I
           72   74    10                path  Lcom/sun/javafx/sg/prism/NodePath;
           79   84     9                   i  I
           86   98     9                   s  Ljava/lang/StringBuilder;
           87   98    10               roots  Ljava/util/List<Lcom/sun/javafx/sg/prism/NGNode;>;
           88   96    11                   i  I
           90   94    12         dirtyRegion  Lcom/sun/javafx/geom/RectBounds;
           92   94    13            nodePath  Lcom/sun/javafx/sg/prism/NodePath;
           99  113     9                   i  I
          101  111    10         dirtyRegion  Lcom/sun/javafx/geom/RectBounds;
          103  111    11                  x0  I
          105  111    12                  y0  I
          133  141     9                   i  I
          135  139    10                clip  Lcom/sun/javafx/geom/Rectangle;
          143  147     9                clip  Lcom/sun/javafx/geom/Rectangle;
          151  156     9                   i  I
          153  154    10                 reg  Lcom/sun/javafx/geom/RectBounds;
    MethodParameters:
                    Name  Flags
      backBufferGraphics  final

  private void paintOverdraw(com.sun.prism.Graphics, com.sun.javafx.geom.Rectangle);
    descriptor: (Lcom/sun/prism/Graphics;Lcom/sun/javafx/geom/Rectangle;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=6, args_size=3
        start local 0 // com.sun.javafx.tk.quantum.ViewPainter this
        start local 1 // com.sun.prism.Graphics g
        start local 2 // com.sun.javafx.geom.Rectangle clip
         0: .line 403
            aload 2 /* clip */
            getfield com.sun.javafx.geom.Rectangle.width:I
            aload 2 /* clip */
            getfield com.sun.javafx.geom.Rectangle.height:I
            imul
            newarray 10
            astore 3 /* pixels */
        start local 3 // int[] pixels
         1: .line 404
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.root:Lcom/sun/javafx/sg/prism/NGNode;
            getstatic com.sun.javafx.geom.transform.BaseTransform.IDENTITY_TRANSFORM:Lcom/sun/javafx/geom/transform/BaseTransform;
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.projTx:Lcom/sun/javafx/geom/transform/GeneralTransform3D;
            aload 2 /* clip */
            aload 3 /* pixels */
            aload 1 /* g */
            invokeinterface com.sun.prism.Graphics.getClipRectIndex:()I
            invokevirtual com.sun.javafx.sg.prism.NGNode.drawDirtyOpts:(Lcom/sun/javafx/geom/transform/BaseTransform;Lcom/sun/javafx/geom/transform/GeneralTransform3D;Lcom/sun/javafx/geom/Rectangle;[II)V
         2: .line 405
            aload 3 /* pixels */
            aload 2 /* clip */
            getfield com.sun.javafx.geom.Rectangle.width:I
            aload 2 /* clip */
            getfield com.sun.javafx.geom.Rectangle.height:I
            invokestatic com.sun.prism.Image.fromIntArgbPreData:([III)Lcom/sun/prism/Image;
            astore 4 /* image */
        start local 4 // com.sun.prism.Image image
         3: .line 406
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.factory:Lcom/sun/prism/ResourceFactory;
            aload 4 /* image */
            getstatic com.sun.prism.Texture$WrapMode.CLAMP_TO_EDGE:Lcom/sun/prism/Texture$WrapMode;
            invokeinterface com.sun.prism.ResourceFactory.getCachedTexture:(Lcom/sun/prism/Image;Lcom/sun/prism/Texture$WrapMode;)Lcom/sun/prism/Texture;
            astore 5 /* texture */
        start local 5 // com.sun.prism.Texture texture
         4: .line 407
            aload 1 /* g */
            aload 5 /* texture */
            aload 2 /* clip */
            getfield com.sun.javafx.geom.Rectangle.x:I
            i2f
            aload 2 /* clip */
            getfield com.sun.javafx.geom.Rectangle.y:I
            i2f
            aload 2 /* clip */
            getfield com.sun.javafx.geom.Rectangle.x:I
            aload 2 /* clip */
            getfield com.sun.javafx.geom.Rectangle.width:I
            iadd
            i2f
            aload 2 /* clip */
            getfield com.sun.javafx.geom.Rectangle.y:I
            aload 2 /* clip */
            getfield com.sun.javafx.geom.Rectangle.height:I
            iadd
            i2f
            fconst_0
            fconst_0
            aload 2 /* clip */
            getfield com.sun.javafx.geom.Rectangle.width:I
            i2f
            aload 2 /* clip */
            getfield com.sun.javafx.geom.Rectangle.height:I
            i2f
            invokeinterface com.sun.prism.Graphics.drawTexture:(Lcom/sun/prism/Texture;FFFFFFFF)V
         5: .line 408
            aload 5 /* texture */
            invokeinterface com.sun.prism.Texture.unlock:()V
         6: .line 409
            return
        end local 5 // com.sun.prism.Texture texture
        end local 4 // com.sun.prism.Image image
        end local 3 // int[] pixels
        end local 2 // com.sun.javafx.geom.Rectangle clip
        end local 1 // com.sun.prism.Graphics g
        end local 0 // com.sun.javafx.tk.quantum.ViewPainter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lcom/sun/javafx/tk/quantum/ViewPainter;
            0    7     1        g  Lcom/sun/prism/Graphics;
            0    7     2     clip  Lcom/sun/javafx/geom/Rectangle;
            1    7     3   pixels  [I
            3    7     4    image  Lcom/sun/prism/Image;
            4    7     5  texture  Lcom/sun/prism/Texture;
    MethodParameters:
      Name  Flags
      g     final
      clip  final

  private static com.sun.javafx.sg.prism.NodePath getRootPath(int);
    descriptor: (I)Lcom/sun/javafx/sg/prism/NodePath;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // int i
         0: .line 412
            getstatic com.sun.javafx.tk.quantum.ViewPainter.ROOT_PATHS:[Lcom/sun/javafx/sg/prism/NodePath;
            iload 0 /* i */
            aaload
            ifnonnull 2
         1: .line 413
            getstatic com.sun.javafx.tk.quantum.ViewPainter.ROOT_PATHS:[Lcom/sun/javafx/sg/prism/NodePath;
            iload 0 /* i */
            new com.sun.javafx.sg.prism.NodePath
            dup
            invokespecial com.sun.javafx.sg.prism.NodePath.<init>:()V
            aastore
         2: .line 415
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.tk.quantum.ViewPainter.ROOT_PATHS:[Lcom/sun/javafx/sg/prism/NodePath;
            iload 0 /* i */
            aaload
            areturn
        end local 0 // int i
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     i  I
    MethodParameters:
      Name  Flags
      i     

  protected void disposePresentable();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.javafx.tk.quantum.ViewPainter this
         0: .line 419
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.presentable:Lcom/sun/prism/Presentable;
            instanceof com.sun.prism.GraphicsResource
            ifeq 2
         1: .line 420
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.presentable:Lcom/sun/prism/Presentable;
            checkcast com.sun.prism.GraphicsResource
            invokeinterface com.sun.prism.GraphicsResource.dispose:()V
         2: .line 422
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.javafx.tk.quantum.ViewPainter.presentable:Lcom/sun/prism/Presentable;
         3: .line 423
            return
        end local 0 // com.sun.javafx.tk.quantum.ViewPainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/javafx/tk/quantum/ViewPainter;

  protected boolean validateStageGraphics();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.javafx.tk.quantum.ViewPainter this
         0: .line 426
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneState:Lcom/sun/javafx/tk/quantum/SceneState;
            invokevirtual com.sun.javafx.tk.quantum.SceneState.isValid:()Z
            ifne 2
         1: .line 429
            iconst_0
            ireturn
         2: .line 432
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneState:Lcom/sun/javafx/tk/quantum/SceneState;
            invokevirtual com.sun.javafx.tk.quantum.SceneState.getWidth:()I
            dup_x1
            putfield com.sun.javafx.tk.quantum.ViewPainter.viewWidth:I
            putfield com.sun.javafx.tk.quantum.ViewPainter.width:I
         3: .line 433
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneState:Lcom/sun/javafx/tk/quantum/SceneState;
            invokevirtual com.sun.javafx.tk.quantum.SceneState.getHeight:()I
            dup_x1
            putfield com.sun.javafx.tk.quantum.ViewPainter.viewHeight:I
            putfield com.sun.javafx.tk.quantum.ViewPainter.height:I
         4: .line 435
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneState:Lcom/sun/javafx/tk/quantum/SceneState;
            invokevirtual com.sun.javafx.tk.quantum.SceneState.isWindowVisible:()Z
            ifeq 5
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneState:Lcom/sun/javafx/tk/quantum/SceneState;
            invokevirtual com.sun.javafx.tk.quantum.SceneState.isWindowMinimized:()Z
            ifne 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 0 // com.sun.javafx.tk.quantum.ViewPainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/javafx/tk/quantum/ViewPainter;

  protected float getPixelScaleFactorX();
    descriptor: ()F
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.javafx.tk.quantum.ViewPainter this
         0: .line 439
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.presentable:Lcom/sun/prism/Presentable;
            ifnonnull 1
            fconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.presentable:Lcom/sun/prism/Presentable;
            invokeinterface com.sun.prism.Presentable.getPixelScaleFactorX:()F
      StackMap locals:
      StackMap stack: float
         2: freturn
        end local 0 // com.sun.javafx.tk.quantum.ViewPainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/javafx/tk/quantum/ViewPainter;

  protected float getPixelScaleFactorY();
    descriptor: ()F
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.javafx.tk.quantum.ViewPainter this
         0: .line 443
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.presentable:Lcom/sun/prism/Presentable;
            ifnonnull 1
            fconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.presentable:Lcom/sun/prism/Presentable;
            invokeinterface com.sun.prism.Presentable.getPixelScaleFactorY:()F
      StackMap locals:
      StackMap stack: float
         2: freturn
        end local 0 // com.sun.javafx.tk.quantum.ViewPainter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/javafx/tk/quantum/ViewPainter;

  private void doPaint(com.sun.prism.Graphics, com.sun.javafx.sg.prism.NodePath);
    descriptor: (Lcom/sun/prism/Graphics;Lcom/sun/javafx/sg/prism/NodePath;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.sun.javafx.tk.quantum.ViewPainter this
        start local 1 // com.sun.prism.Graphics g
        start local 2 // com.sun.javafx.sg.prism.NodePath renderRootPath
         0: .line 448
            aload 2 /* renderRootPath */
            ifnull 5
         1: .line 449
            aload 2 /* renderRootPath */
            invokevirtual com.sun.javafx.sg.prism.NodePath.isEmpty:()Z
            ifeq 4
         2: .line 452
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.root:Lcom/sun/javafx/sg/prism/NGNode;
            invokevirtual com.sun.javafx.sg.prism.NGNode.clearDirtyTree:()V
         3: .line 453
            return
         4: .line 456
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.tk.quantum.ViewPainter.$assertionsDisabled:Z
            ifne 5
            aload 2 /* renderRootPath */
            invokevirtual com.sun.javafx.sg.prism.NodePath.getCurrentNode:()Lcom/sun/javafx/sg/prism/NGNode;
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.root:Lcom/sun/javafx/sg/prism/NGNode;
            if_acmpeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 458
      StackMap locals:
      StackMap stack:
            getstatic com.sun.javafx.logging.PulseLogger.PULSE_LOGGING_ENABLED:Z
            ifeq 7
         6: .line 459
            ldc "Painting"
            invokestatic com.sun.javafx.logging.PulseLogger.newPhase:(Ljava/lang/String;)V
         7: .line 461
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneState:Lcom/sun/javafx/tk/quantum/SceneState;
            invokevirtual com.sun.javafx.tk.quantum.SceneState.getScene:()Lcom/sun/javafx/tk/quantum/GlassScene;
            astore 3 /* scene */
        start local 3 // com.sun.javafx.tk.quantum.GlassScene scene
         8: .line 462
            aload 3 /* scene */
            invokevirtual com.sun.javafx.tk.quantum.GlassScene.clearEntireSceneDirty:()V
         9: .line 463
            aload 1 /* g */
            aload 3 /* scene */
            invokevirtual com.sun.javafx.tk.quantum.GlassScene.getLights:()[Lcom/sun/javafx/sg/prism/NGLightBase;
            invokeinterface com.sun.prism.Graphics.setLights:([Lcom/sun/javafx/sg/prism/NGLightBase;)V
        10: .line 464
            aload 1 /* g */
            aload 3 /* scene */
            invokevirtual com.sun.javafx.tk.quantum.GlassScene.getDepthBuffer:()Z
            invokeinterface com.sun.prism.Graphics.setDepthBuffer:(Z)V
        11: .line 465
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneState:Lcom/sun/javafx/tk/quantum/SceneState;
            invokevirtual com.sun.javafx.tk.quantum.SceneState.getClearColor:()Lcom/sun/prism/paint/Color;
            astore 4 /* clearColor */
        start local 4 // com.sun.prism.paint.Color clearColor
        12: .line 466
            aload 4 /* clearColor */
            ifnull 14
        13: .line 467
            aload 1 /* g */
            aload 4 /* clearColor */
            invokeinterface com.sun.prism.Graphics.clear:(Lcom/sun/prism/paint/Color;)V
        14: .line 469
      StackMap locals: com.sun.javafx.tk.quantum.GlassScene com.sun.prism.paint.Color
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneState:Lcom/sun/javafx/tk/quantum/SceneState;
            invokevirtual com.sun.javafx.tk.quantum.SceneState.getCurrentPaint:()Lcom/sun/prism/paint/Paint;
            astore 5 /* curPaint */
        start local 5 // com.sun.prism.paint.Paint curPaint
        15: .line 470
            aload 5 /* curPaint */
            ifnull 20
        16: .line 471
            aload 5 /* curPaint */
            invokevirtual com.sun.prism.paint.Paint.getType:()Lcom/sun/prism/paint/Paint$Type;
            getstatic com.sun.prism.paint.Paint$Type.COLOR:Lcom/sun/prism/paint/Paint$Type;
            if_acmpeq 18
        17: .line 472
            aload 1 /* g */
            invokeinterface com.sun.prism.Graphics.getRenderTarget:()Lcom/sun/prism/RenderTarget;
            aload 5 /* curPaint */
            invokevirtual com.sun.prism.paint.Paint.isOpaque:()Z
            invokeinterface com.sun.prism.RenderTarget.setOpaque:(Z)V
        18: .line 474
      StackMap locals: com.sun.prism.paint.Paint
      StackMap stack:
            aload 1 /* g */
            aload 5 /* curPaint */
            invokeinterface com.sun.prism.Graphics.setPaint:(Lcom/sun/prism/paint/Paint;)V
        19: .line 475
            aload 1 /* g */
            fconst_0
            fconst_0
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.width:I
            i2f
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.height:I
            i2f
            invokeinterface com.sun.prism.Graphics.fillQuad:(FFFF)V
        20: .line 477
      StackMap locals:
      StackMap stack:
            aload 1 /* g */
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.sceneState:Lcom/sun/javafx/tk/quantum/SceneState;
            invokevirtual com.sun.javafx.tk.quantum.SceneState.getCamera:()Lcom/sun/javafx/sg/prism/NGCamera;
            invokeinterface com.sun.prism.Graphics.setCamera:(Lcom/sun/javafx/sg/prism/NGCamera;)V
        21: .line 478
            aload 1 /* g */
            aload 2 /* renderRootPath */
            invokeinterface com.sun.prism.Graphics.setRenderRoot:(Lcom/sun/javafx/sg/prism/NodePath;)V
        22: .line 479
            aload 0 /* this */
            getfield com.sun.javafx.tk.quantum.ViewPainter.root:Lcom/sun/javafx/sg/prism/NGNode;
            aload 1 /* g */
            invokevirtual com.sun.javafx.sg.prism.NGNode.render:(Lcom/sun/prism/Graphics;)V
        23: .line 480
            return
        end local 5 // com.sun.prism.paint.Paint curPaint
        end local 4 // com.sun.prism.paint.Color clearColor
        end local 3 // com.sun.javafx.tk.quantum.GlassScene scene
        end local 2 // com.sun.javafx.sg.prism.NodePath renderRootPath
        end local 1 // com.sun.prism.Graphics g
        end local 0 // com.sun.javafx.tk.quantum.ViewPainter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   24     0            this  Lcom/sun/javafx/tk/quantum/ViewPainter;
            0   24     1               g  Lcom/sun/prism/Graphics;
            0   24     2  renderRootPath  Lcom/sun/javafx/sg/prism/NodePath;
            8   24     3           scene  Lcom/sun/javafx/tk/quantum/GlassScene;
           12   24     4      clearColor  Lcom/sun/prism/paint/Color;
           15   24     5        curPaint  Lcom/sun/prism/paint/Paint;
    MethodParameters:
                Name  Flags
      g               
      renderRootPath  
}
SourceFile: "ViewPainter.java"
InnerClasses:
  public final WrapMode = com.sun.prism.Texture$WrapMode of com.sun.prism.Texture
  public final Type = com.sun.prism.paint.Paint$Type of com.sun.prism.paint.Paint