0
1
2
3
(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 800.00 600.00)
  (visible rect 0.00, 0.00 800.00 x 600.00)
  (coverage rect 0.00, 0.00 800.00 x 600.00)
  (intersects coverage rect 1)
  (contentsScale 2.00)
  (children 1
    (GraphicsLayer
      (bounds 800.00 600.00)
      (contentsOpaque 1)
      (visible rect 0.00, 0.00 800.00 x 600.00)
      (coverage rect 0.00, 0.00 800.00 x 600.00)
      (intersects coverage rect 1)
      (contentsScale 2.00)
      (tile cache coverage 0, 0 800 x 600)
      (tile size 800 x 600)
      (top left tile 0, 0 tiles grid 1 x 1)
      (in window 1)
      (children 1
        (GraphicsLayer
          (bounds 800.00 600.00)
          (drawsContent 1)
          (visible rect 0.00, 0.00 800.00 x 600.00)
          (coverage rect 0.00, 0.00 800.00 x 600.00)
          (intersects coverage rect 1)
          (contentsScale 2.00)
          (children 6
            (GraphicsLayer
              (bounds 50.00 50.00)
              (contentsOpaque 1)
              (transform [0.87 0.50 0.00 0.00] [-0.50 0.87 0.00 0.00] [0.00 0.00 1.00 0.00] [175.00 0.00 -5.00 1.00])
              (visible rect 0.00, 0.00 50.00 x 50.00)
              (coverage rect -160.71, -296.65 992.82 x 919.62)
              (intersects coverage rect 1)
              (contentsScale 2.00)
            )
            (GraphicsLayer
              (position 250.00 0.00)
              (bounds 50.00 50.00)
              (contentsOpaque 1)
              (transform [0.87 0.50 0.00 0.00] [-0.50 0.87 0.00 0.00] [0.00 0.00 1.00 0.00] [175.00 0.00 -5.00 1.00])
              (visible rect 0.00, 0.00 50.00 x 50.00)
              (coverage rect -377.21, -171.65 992.82 x 919.62)
              (intersects coverage rect 1)
              (contentsScale 2.00)
            )
            (GraphicsLayer
              (bounds 800.00 600.00)
              (drawsContent 1)
              (visible rect 0.00, 0.00 800.00 x 600.00)
              (coverage rect 0.00, 0.00 800.00 x 600.00)
              (intersects coverage rect 1)
              (contentsScale 2.00)
            )
            (GraphicsLayer
              (position 5.00 5.00)
              (bounds 210.00 210.00)
              (drawsContent 1)
              (visible rect 0.00, 0.00 210.00 x 210.00)
              (coverage rect -5.00, -5.00 800.00 x 600.00)
              (intersects coverage rect 1)
              (contentsScale 2.00)
            )
            (GraphicsLayer
              (position 255.00 5.00)
              (bounds 210.00 210.00)
              (drawsContent 1)
              (visible rect 0.00, 0.00 210.00 x 210.00)
              (coverage rect -255.00, -5.00 800.00 x 600.00)
              (intersects coverage rect 1)
              (contentsScale 2.00)
              (children 1
                (GraphicsLayer
                  (offsetFromRenderer width=5 height=5)
                  (position 5.00 5.00)
                  (bounds 200.00 200.00)
                  (visible rect 0.00, 0.00 200.00 x 200.00)
                  (coverage rect 0.00, 0.00 200.00 x 200.00)
                  (intersects coverage rect 1)
                  (contentsScale 2.00)
                  (children 1
                    (GraphicsLayer
                      (offsetFromRenderer width=5 height=5)
                      (anchor 0.00 0.00)
                      (bounds 200.00 400.00)
                      (drawsContent 1)
                      (visible rect 0.00, 0.00 200.00 x 200.00)
                      (coverage rect 0.00, 0.00 200.00 x 200.00)
                      (intersects coverage rect 1)
                      (contentsScale 2.00)
                    )
                  )
                )
              )
            )
            (GraphicsLayer
              (position 255.00 255.00)
              (bounds 210.00 210.00)
              (drawsContent 1)
              (visible rect 0.00, 0.00 210.00 x 210.00)
              (coverage rect -255.00, -255.00 800.00 x 600.00)
              (intersects coverage rect 1)
              (contentsScale 2.00)
              (children 1
                (GraphicsLayer
                  (offsetFromRenderer width=5 height=5)
                  (position 5.00 5.00)
                  (bounds 200.00 200.00)
                  (visible rect 0.00, 0.00 200.00 x 200.00)
                  (coverage rect 0.00, 0.00 200.00 x 200.00)
                  (intersects coverage rect 1)
                  (contentsScale 2.00)
                  (children 1
                    (GraphicsLayer
                      (offsetFromRenderer width=5 height=5)
                      (anchor 0.00 0.00)
                      (bounds 200.00 400.00)
                      (drawsContent 1)
                      (visible rect 0.00, 0.00 200.00 x 200.00)
                      (coverage rect 0.00, 0.00 200.00 x 200.00)
                      (intersects coverage rect 1)
                      (contentsScale 2.00)
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  )
)



(Frame scrolling node
  (scrollable area size 800 600)
  (contents size 800 600)
  (scrollable area parameters
    (horizontal scroll elasticity 1)
    (vertical scroll elasticity 1)
    (horizontal scrollbar mode 0)
    (vertical scrollbar mode 0))
  (layout viewport at (0,0) size 800x600)
  (min layout viewport origin (0,0))
  (max layout viewport origin (0,0))
  (behavior for fixed 0)
  (children 2
    (Overflow scrolling node
      (scrollable area size 200 200)
      (contents size 200 400)
      (scrollable area parameters
        (horizontal scroll elasticity 1)
        (vertical scroll elasticity 1)
        (horizontal scrollbar mode 0)
        (vertical scrollbar mode 0)
        (allows vertical scrolling 1))
    )
    (Overflow scrolling node
      (scrollable area size 200 200)
      (contents size 200 400)
      (scrollable area parameters
        (horizontal scroll elasticity 1)
        (vertical scroll elasticity 1)
        (horizontal scrollbar mode 0)
        (vertical scrollbar mode 0)
        (allows vertical scrolling 1))
    )
  )
)


