-- | Layout nodes
-- Updates content{x,y} to its correct values based on position of upper-left
-- corner and properites of the node.
layout :: (Float, Float) -> Node -> Node
layout (x', y') (NLeaf p) = NLeaf (p & content . x .~ x'
                                     & content . y .~ y')
layout :: (Float, Float) -> Node -> Node
layout (x', y') (NLeaf p) = NLeaf (p & content . x .~ x'
                                     & content . y .~ y')
layout (x', y') (NLeaf p) = NLeaf (p & content . x .~ x'
                                     & content . y .~ y')