libxmi is a C/C++ function library for rasterizing 2-D
vector graphics. It can draw 2-D graphical primitives, including wide
polygonal lines and circular and elliptical arcs, into a user-supplied
matrix of pixels. Sophisticated line styles, such as multicolored dashing
patterns, can be specified. There is also support for filling and
The current version of the
libxmi package is
version 1.2, released in June 2000. It can be installed on
GNU/Linux, FreeBSD, and Unix systems. Since
libxmi is written
in ANSI C, it should be easy to compile and install on almost any
system with a C compiler.
libxmi package is free software. Here is information on obtaining the
libxmi good for?
It can be used as a drop-in rendering module in any application that needs
to scan-convert 2-D vector graphics. It is highly customizable. For
example, the `pixel' datatype can be redefined at compile time. The
algorithm used for compositing pixels can be redefined too.
libxmi uses the Painter's Algorithm
(a new pixel value replaces an old one). But it would be trivial
to install it so that it uses alpha compositing instead. The package, and
its header file
xmi.h, include full documentation.
libxmi is based on the scan-conversion code in the X11 sample
server, which was written in the late 1980s by programmers associated with
the X Consortium. Even though it
maintains pixel-level compatibility with X11 drawing functions,
it has been
decoupled from the X Window System: it no longer requires an
In 1999, Robert Maier extracted
the scan-conversion code, converted it to ANSI C, and modified it to
use a two-stage graphics pipeline (the second stage being the stage when
pixel-merging takes place). The resulting code was incorporated as a
rendering module in the GNU plotting
utilities package, of which he is the maintainer. The rendering
module is now being distributed separately, under the name
Please send FSF & GNU inquiries & questions to firstname.lastname@example.org. There are also other ways to contact the FSF.
Please send comments on these web pages to email@example.com, send other questions to firstname.lastname@example.org.
Copyright (C) 2000 Free Software Foundation, Inc.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
Updated: 09 Aug 2000 rsm