Overview

CD is a platform-independent graphics library. It is implemented in several platforms using native graphics libraries: Microsoft Windows (GDI and GDI+) and X-Windows (XLIB).

The library contains functions to support both vector and image applications, and the visualization surface can be either a canvas or a more abstract surface, such as Clipboard, Metafile, PS, and so on.

To make the Application Programmers Interface (API) simple, all data are standard C types (int, double or char). Thus the application program does not have to maintain parallel data structures to deal with the graphic library.

Furthermore, the list of parameters of the CD primitive functions contains only the geometrical descriptions of the objects (line, circle, text, etc.). Where these objects should appear and what is the their color, thickness, etc. are defined as current state variables stored in the visualization surfaces. That is, the library is visualization-surface oriented, meaning that all attributes are stored in each visualization surface.

CD is free software, can be used for public and commercial applications.

Availability

The library is available for several compilers:

The library is available for several operating systems:

Support

The official support mechanism is by e-mail, using cd@tecgraf.puc-rio.br. Before sending your message:

After all of the above have been checked, report the problem, including in your message: function, element, driver, platform, and compiler.

We host CD support features at LuaForge. It provides us Lists, News, CVS and Files. The CD page at LuaForge is available at: http://luaforge.net/projects/cdlib/.

The discussion list is available at: http://lists.luaforge.net/mailman/listinfo/cdlib-users.
Source code, pre-compiled binaries and samples can be downloaded at: http://luaforge.net/frs/?group_id=88.
The CVS can be browsed at: http://luaforge.net/scm/?group_id=88.

If you want us to develop a specific feature for the library, Tecgraf is available for partnerships and cooperation. Please contact tcg@tecgraf.puc-rio.br.

Lua documentation and resources can be found at http://www.lua.org/.

Credits

This work was developed at Tecgraf by means of the partnership with PETROBRAS/CENPES.

Library Authors:

Thanks to the people that worked and contributed to the library:

We also thank the developers of the FreeType, libJPEG and Mesa libraries, for making the source code available, which helped us improve our implementation of the Simulation driver and of the X-Windows driver. Thanks to Alan Richardson for the XVertex rotines. Thanks to Jason Perkins for the Premake tool.

The CD distribution includes the FreeType library, this is a third party library not developed at Tecgraf. But its license is also free and have the same freedom as the Tecgraf Library License. You can read the Free Type license and copyright in the file freetype.txt. FreeType is copyright David Turner, Robert Wilhelm, and Werner Lemberg.

Mesa X-Windows utilities source code copyright Brian Paul. libJPEG quantization source code copyright Thomas G. Lane. XVertex rotines source code copyright Alan Richardson.

CD is registered at the National Institute of Intellectual Property in Brazil (INPI) under the number 07571-1, and so it is protected against illegal use. See the Tecgraf Library License for further usage information and Copyright.

Documentation

This library is available at http://www.tecgraf.puc-rio.br/cd

The full documentation can be downloaded from the Download Files. The documentation is also available in Adobe Acrobat and Windows HTML Help formats.

The HTML navigation uses the WebBook tool, available at http://www.tecgraf.puc-rio.br/webbook.