Hi Alex!
That is a cool idea.
Views get activated under certain condition of the
camera of another view.
This is what semantic zooming really is about! If I have a figure for a
software package and I only have a 5 by 5 pixel area to draw on, I will
render it empty. If I have 50 by 50 I can draw classes. If I have 500 by
500 I can draw methods and classes. So I am not sure I understand how your
camera altitude will implement this, but having a "condition" for selecting
one rendering or the other of a given GUI element seems the right way to
go. In fact the easiest way of letting the client of the framework
implement his own semantic zooming is by letting him register a callback
for when the available area for a figure changes. Then he could choose one
or the other of his available renderings. A variant in which the framework
would know a little more would have the client pass pairs of surface
thresholds and renderers to the framework.
Cheers,
M.