An internal data structure that keeps track of skin-related metadata
for a tree node. The justification for the existence of this class lies
in the visibleNodes
data structure, which is a flat list of
nodes that are visible at any given time. In this context, visible means
that their parent hierarchy is expanded, not
that they are being
painted. This list, combined with getNodeHeight()
, enables us
to quickly determine which nodes to paint given a graphics clip rect.
It also enables us to quickly traverse the tree view when handling key
NOTE: some of this data is managed by TreeView and cached here
to provide further optimizations during painting and user input.