123456789101112131415161718192021222324252627282930313233343536373839 |
- This directory contains libxmi, a machine-independent vector graphics
- rasterization library, and the sample program ./drawing.c. The source code
- for libxmi is distributed under the GNU GPL (see the file ./COPYING). The
- Web page for the package is: http://www.gnu.org/software/libxmi/libxmi.html .
- The file ./INSTALL explains how to install libxmi, and the file ./CUSTOMIZE
- explains how to customize it. Please read this file first, though.
- libxmi is based on the vector graphics code in the sample X server that is
- a part of the X Window System distribution. This code has been converted
- to ANSI C, extensively rearranged and commented, and somewhat extended.
- (In particular, by adding support for multicolored dashing.) The original
- X11 vector graphics code was written in the mid-to-late 1980's by Brian
- Kelleher, Joel McCormack, Todd Newman, Keith Packard, Robert Scheifler and
- Ken Whaley, who worked for Digital Equipment Corp., MIT, and/or the X
- Consortium. See ./README-X for an X Consortium permission notice. GNU
- extensions by Robert S. Maier <rsm@math.arizona.edu>.
- The public header file for libxmi is ./xmi.h. It declares the eight
- functions in libxmi's core API, e.g. miDrawPoints(), miDrawLines(),
- miFillPolygon(), miDrawRectangles(), miFillRectangles(), miDrawArcs(), and
- miFillArcs(). These functions have the same semantics as the corresponding
- X11 functions (XDrawPoints, XDrawLines, etc.). The libxmi API contains a
- reentrant function miDrawArcs_r() too, since miDrawArcs() is not reentrant.
- Each function in the core API adds painted points to an opaque miPaintedSet
- object, a pointer to which is passed as its first argument.
- The core API includes functions for creating, manipulating, and destroying
- miPaintSet objects. It also includes functions for creating, manipulating,
- and destroying miCanvas objects. The function miCopyPaintedSetToCanvas()
- moves the points in a miPaintedSet to the next stage of the graphics
- pipeline: it merges them onto a miCanvas. There is support in this second
- stage for sophisticated pixel-merging algorithms.
- In general, it should be easy to install libxmi as a standalone library, or
- incorporate libxmi bodily into another package's source tree. libxmi is
- written in `strict C', so it may be compiled with either an ANSI C compiler
- or a C++ compiler. See ./INSTALL.
|