
"Matt S Trentini" <matt_trentini@yahoo.com.au> 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