$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Andy Little (andy_at_[hidden])
Date: 2004-09-21 08:18:53
"Matt S Trentini" <matt_trentini_at_[hidden]> wrote ...
> Andy, your "unitless" concepts are terrific, keep 'em coming. :)
Thanks for the encouragement :-)
Back in the 'good old days', before GUIs and multitasking os'es, drawing on
the display was a simple process, with some form of move_to, line_to, fill
etc primitives. I guess I am trying to simulate that approach as closely as
possible. IOW C++ currently has standards for character stream output, so
I'm thinking... why not a standard for graphics stream output also?
I am not looking into embedding any intelligent objects in the 'canvas' to
begin with, however I am trying to keep that in mind. The component approach
of ATL/WTL is very interesting from that point of view, wherein you add your
messaging by multiple derivation, combined with CRTP. This Might be a very
useful mechanism to make dumb drawing objects intelligent. For example, if I
had a dumb line, it should be possible to 'attach' a class that can detect
if that line is being grabbed with the mouse and so on.
> Having
> said that, first and foremost I want a library to provide me with
> 'normal' widgets, the 'canvas' comes secondary.
Well... If I were to do that (which I am not really considering, simply
because I dont have the experience or knowledge and am currently looking
into simple 'dumb' drawing primitives), I would make all dimensions (eg size
of a window) in some unit eg millimetres rather than pixels . I guess I am
trumpetting my physical-quantities library, but to be honest this was a
major reason for starting the project. I implemented a millimetres type in a
previous project and it made my life much easier. (The physical-quantities
library is simply a huge sidetrack from solving that problem.) I just got
fed up with device specific unit systems and now I would find it very
difficult to go back to using floats or (gasp) ints for (at least 'client')
dimensions.
regards
Andy Little