[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Multiscale Kansas?
Maloney, John wrote:
> Morphic (the graphical object framework underlying Kansas) was originally
> designed to support arbitrary scaling, and the scaling code worked at one time,
> although to my knowledge it has not recently been tested.
I'll take a look. Did the mysterious 3D GUI use this code too or was
it a completely different beast?
> However, we later
> started using pixmap images in the system (e.g., in the web browser) but
> haven't yet written code to scale these images.
If you limit yourself to power of two scales, then you can store every
bitmap in all possible resolutions (like mip maps). I do it for anti-aliasing
and its not hard (don't ask about how long it takes me to calculate these
> You'd want to do something
> intelligent about "greeking" text below a certain size, and you'd probably want
> to put in some sort of detail suppression to simplify the drawing of composite
> morphs when zoomed way out. The Pad++ folks also discovered that you need to
> turn off mouse sensitivity as the screen size of objects shrink or you find
> that you're clicking on sub-pixel buttons without realizing it!
Right - every drawing operation and event dispatching must take the
different scales into account. It is almost as hard as doing 3D, though
not quite (no "angled" objects and you get to stick to power of two).
> I'd love to see this happen. I think it would require 4-6 weeks of solid work.
That is exactly what I was asking - is it worth it? It might be neat to be
able to zoom into the little "icon" in an object's slot and have it turn out
to be another full object! Of course, the "portals" idea ends up allowing
an object to show up in more than one place on the screen (which doesn't
seem to be popular among Self fans), though it only really *exists* in
one place at a time.
> [lots of great sort comments]
Thanks! This was great - it is probably exactly what my friend wanted
to know. I'll just pass it along to him.
Since I always just use bubble sort I never had to worry about equal
elements getting out of order (just kidding!).