1 Introduction
This manual explains the application
programming interface (API) for the EZ Widget and Graphics
Library (henceforth, the EZwgl).
It serves as both a specification and
a users guide. This document referes to
EZwgl release 1.2.
EZwgl is a library of C functions based on Xlib.
It is designed for developing graphical
user interface (GUI) and writing graphics applications under
the X window system.
The main goal of EZwgl is to provide a tool that
simplifies the task of X programming. If you are a C
programmer and want to build a nice graphical user
interface for your applications, or you want to do some
simple graphics programming under the X window
system programming environment, then EZwgl
is for you.
EZwgl consists of two logically independent pieces,
a widget library and a graphics library.
The widget library implements about twenty or so
most commonly used widgets. Currently implemented widgets are:
- buttons, push button, check button, radio
button and menu button.
- entry, a one line text editor, supports a few
emacs editing commands and the X11 selection mechanism.
- executor, a widget to run other EZwgl applications.
- fancy listbox, an item selector with configurable
items.
- file selector, a Motif
style file selection
dialogue.
- frame/labled-frame, a simple container widget for
grouping widgets together.
- gridbag, a container widget that arrange its children
in rows and columns.
- icon, a toplevel label/frame that is invisible by your
window manager.
- label, textual or bitmap/pixmap/image labeled.
- listbox, a simple item selector.
- list tree, a widget for displaying a tree of items.
- menus, popup menu and pull-down menu.
- notebook, a container widget for grouping
widgets into pages.
- optional entry, a comboBox.
- pane-handle, a special widget for dividing its parent
into panes.
- sliders, horizontal and vertical sliders.
- text, an editable text browser. Text widget supports a
few hardcoded text properties: fonts, foreground/background color
and bitmaps/pixmaps.
- raw X window, a widget that gives you a native X window.
- work area, a special container widget capable of
managing items and other widgets.
- 3D canvas, a widget specifically for the EZ
graphics library.
There are also two special purpose widgets in the EZ widget library.
- no-window-label/frame. This widget is not a widget in the
usual sense because it doesn't have its own window.
Its primary purpose is to serve as buliding blocks for
constructing complex labels (e.g. mixed pixmap and textual labels)
for button type widgets.
- free label/frame. A freely movable label/frame.
It is essentially an icon with a parent. The location of
a free label/frame is not managed by the geometry manager.
The EZ graphics library is a set of about 100 OpenGL
like graphics routines that provide high-level support for 3D graphics.
It currently supports
- zbuffer
- doublle buffer, supports a pixmap back buffer and an XImage back buffer.
- RGB or Colormap mode, supports a simulated RGB mode (dithering) for 8bit visuals.
- flat or smooth shading
- lighting
- fog
- polygon, line and points rendering
- bitmap fonts and a vector font
- mouse and keyboard input devices
EZwgl is designed to work on displays with a
bit deep
PseudoColor, DirectColor, TrueColor, StaticColor, GrayScale,
or StaticGray visual. It does not, and will not work on
displays with depth
bit.
EZwgl has been tested on the following platforms,
SunSparc/X11R5, SGI-Indigo/X11R5,
Pentium-Linux/X11R6 and Alpha OSF/X11R5/X11R6.
It should work on any Unix systems with X11R5/X11R6.
V1.3.