adjusting level of detail displayed.

Is it possible to adjust the level of detail rendered based on the current
display settings? 

I have a situation where I am displaying a graph of some data. I want to
change the axis depending on the space that is available. This isn't a
matter of scaling. If my graph has a vertical range of 2000 units and i have
400 pixels to work with, I want a major tick every 250 graph units (50
pixels) and a minor tick every 50 graph units (10 pixels) and I want a label
to appear every 500 graph units (100 pixels). If I have 500 pixels then I
want to have ticks at 200 and  20 graph units (50 and 5 pixels).

It may also be that I have a map of a city. Depending on the current scale,
I am going to want to show more or less detail. This is going to depend on
both the level of zoom and the size of the view port to which it is
rendering. If I'm looking at the whole city i only want the outline and
major highways, unless its being rendered to an 8' X 8' piece of paper. 

This sort of information is going to be important if I was to make a widget
like tab bar. Since I'm going to be building it dynamically, I need to know
how much space I can use before I have to have a second row of tabs. 

Along a similar line of though, has there been any thought to including some
mechanism for handling font metrics? I supose its more a discussion for
JavaScript unless it can be an addition to the SVG DOM (either as properties
and helper functions for font elements and text elements or as a global
FontMetrics object). SVG doesn't flow text for very good reasons but there
are times when breaking text into multiple lines is important. For those of
us who build SVG on the fly and not with tool like illustrator, we need a
programatic way to make decisions about breaking lines. I've seen some good
ideas but having access to font metric data would make things really useful.


Just some thoughts. 

> Adam van den Hoven
> Internet Application Developer
> Blue Zone
> tel. 604.685.4310
> fax. 604.685.4391
> Blue Zone makes you interactive.(tm) http://www.bluezone.net/
> 

Received on Friday, 26 January 2001 13:21:05 UTC