Boost logo

Boost :

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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk