Boost logo

Boost :

From: clee_at_[hidden]
Date: 2002-05-15 00:41:31


Jens Maurer <Jens.Maurer_at_[hidden]> writes:

> Maxim Shemanarev wrote:
> > Since I received some positive responses about AGG
> > http://lists.boost.org/MailArchives/boost/msg28757.php , I'd like to make a
> > proposal for preliminary (not formal) discussion of the library.

> [snip]

> - It is unfortunate that all examples appear to be
> Win32-only, and MSVC wizard-generated also. There does not
> seem to be a "Makefile" or other means around that would
> allow users of Borland, Intel or Metrowerks compilers to
> compile the examples. I suggest using only bare-bones
> features of the Win32 native library (no fancy AFX lib)
> to open a window, and then pass control to the 2D library
> to show its features (probably a controlled "quit" from
> the example app needs a little event handling from the
> underlying platform also).

I have been making my way through the process of understanding the library, and
have been impressed with the quality+speed of the output. I'm working on linux,
so I've started implementing the examples in a platform independent way.
Currently, the output is saved to .ppm format image files. (ppm is an extremely
simple format (almost "raw") graphics that is easy to view under linux---I'm not
sure if common viewers are available under the win32 or mac platforms). An X11
or SDL example should be simple enough for me to do next. (I can email you the
code to Maxim.)

If rating platform independence, I'd give AGG, per se, high marks. The Lingua
Franca of high quality 2D rendering is generally pixmap memory buffers, and AGG
sticks to this convention: you hand it a pointer to an area of memory, throw in
specifications of the pixel format, height, width and such, and AGG will render
to it.

> Implementation
> ==============

> [snip]
> - Using Comeau C++, there were some warnings such as these:
> "../include/agg_scanline.h", line 91: warning: type qualifier on return type
> is meaningless
> const int get_x() const { return m_clipped_x; }
> ....
> [snip, other warnings mentioned]

I see the same warnings with the intel compiler (version 6, may have the same
EDG frontend as Comeau C++).

Better documentation would, of course, help. My version of the examples might
be better for teaching purposes because the display code is limitted to a single
function call: in the win32 examples, it was hard for me at first to separate
the win32-specific code from what was essential to AGG.

Putting aside the faults, great work!

-chris

-- 
Christopher Lee
Washington University Dept. of Anatomy and Neurobiology

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