Tango Graphics Package

Oskar Linde oskar.lindeREM at OVEgmail.com
Wed Jul 11 23:00:09 PDT 2007


Mike Parker wrote:

> Tango is going visual! Headless visual! With the addition of a general 
> purpose 2D graphics package, Tango users will be able to generate 2D 
> images on the fly for use in a variety of applications, on the server or 
> the desktop. The package supports basic 2D primitives, complex shapes, 
> fonts, alpha-blending, transformations, paths, styles, and other common 
> 2D graphics operations. The design is inspired by several existing APIs, 
> such as Java2D and OpenVG, so anyone who has experience with other APIs 
> should be able to get up and running quickly.

This all sounds very useful, but I have to ask why this is being added 
to Tango. The structure of Tango as a monolithic package only makes 
sense (to me) for heavily interdependent components. I can't see many 
other modules in Tango being dependent on this library, so why does its 
release schedule need to be tied to Tango's?

I found nothing written about the design of this library in the posted 
links (I probably didn't look hard enough). Is the idea to do everything 
Cairo, OpenVG, Java2D, GDI+, Quartz, etc can do?

What are the target applications? When reading the above, I got 
something such as web server graphics generation in mind. Is the library 
meant to support things ranging from accelerated 2D graphics for games 
to high quality desktop publishing technologies such as advanced type 
setting?

What back ends are developed? Apart from a basic image buffer back end 
(I assume), what other back ends are being considered primary? SVG, 
PostScript, PDF, GDI+ and OpenGL all seem to be candidates.

What external libraries will this depend on? I assume libpng and 
FreeType at the very least.

In all, it sound very interesting. I have personally several 
applications that could use this. There must have been a tremendous 
amount of work involved getting this done.

-- 
Oskar



More information about the Digitalmars-d-announce mailing list