Boost logo

Boost :

From: Alan Gutierrez (alan-boost_at_[hidden])
Date: 2004-12-29 06:29:39


* Marcelo E. Magallon <mmagallo_at_[hidden]> [2004-12-28 16:42]:
> On Thu, Dec 23, 2004 at 12:11:08PM -0500, Alan Gutierrez wrote:
>
> > I'd like to look at how OS X is able to make a PDF of everything.
> > Observing that capability lead me to believe that you could
> > simply swap out the underlying device.
>
> That's easy: you start with a vector description of *everything* and
> plug a rasterizer where needed. This vector description in Quartz is
> called DPS: Display PostScript.
>
> This gives you the gimmicks you see on MacOS X, for example window
> minimization and maximization effects. You just need to start with a
> rectangle, and subdivide the edges, and apply some transformation to
> them. Then you can use algebraic grid generation to compute the inner
> grid. And now you only need to apply the grid transformation to the
> elements of the window.

    Thinking:

        ui -> paint
        ui -> box
        ui -> component
        
    One can create components by using resource handles, one can
    draw boxes using a very simple device, or work with vector
    graphics. Different abstractions of drawing.

    On weak devices components or boxes are the best you will get.

    On better devices you can paint.
    
    On Palm you might do box<render_as<native>>, simple aaboxes.

    On OS X you do box<render_as<native>>, native vector described aaboxes.

    On Win32 you do box<render_as<paint>>, for a software
        implementation of vector described aaboxes.

    Same with components.

        component<render_as<resource>>
        component<render_as<box>>
        component<render_as<paint>>

        button<render_as<native>> on OS X is Aqua.

        button<render_as<native>> on Win32 requires an HWND.
        button<render_as<paint>> on Win32 is "light-weight".

    Where canvas is a vector graphics library:

        canvas<render_as<box>> causes a compile time error.

    Current thinking:

        ui -> window
        ui -> box
        ui -> paint
        ui -> component
        ui -> form
        ui -> grid
        ui -> document
        ui -> canvas
            .
            .
            .
            (binding, validation, accesibility, mvp, etc.)

    What I'm driving at. A wide, but shallow, scope.

--
Alan Gutierrez - alan_at_[hidden]

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