# 1 Introduction

This manual explains the application programming interface (API) for the EZ Widget and Graphics Library (henceforth, EZwgl). It serves as both a specification and a users guide. This document referes to EZwgl release 1.50.

EZwgl is a library of C functions based on Xlib. Its purpose is to provide a tool that simplifies the task of graphical user interface (GUI) programming under the X window system environment. If you are a C programmer and want to build a nice graphical user interface for your applications, or you want to do some graphics programming under the X window system programming environment, then EZwgl is for you.

EZwgl implements about thirty or so commonly used widgets. Currently implemented widgets are:

- buttons, push button, check button, radio button, arrow button and menu button.

- dial, a numerical value editor.

- entry, a one line text editor.

- fancy listbox, a multi-column listbox.

- file selector, a style file selection dialogue.

- frame/labled-frame, a simple container widget.

- gradient bar

- histogram

- icon, a toplevel label/frame that is invisible by your window manager.

- label, textual or bitmap/pixmap/image label.

- listbox, a simple textual item selector.

- list tree, a widget for displaying a tree of items.

- menus, popup menu and pull-down menu.

- menubar

- notebook, a container widget for grouping widgets into pages.

- optional entry, a comboBox.

- pane-handle, a special widget for dividing its parent into panes.

- ruler

- sliders, horizontal and vertical sliders.

- spread sheet, a simple spread sheet.

- thumb wheel,

- 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.

- lcd, a widget mimics the liquid crystal display.

- led, a widget simulates the light emitting diode display.

- statusMeter , a widget implements the progress meter.

- term , a vt100 terminal emulator.

- 3D canvas, a widget specifically for the EZ graphics library.

- free label/frame. A freely movable label/frame whose geometry is not managed by the geometry manager.

EZwgl also implements a set of about 100 like graphics commands that provide high-level support for 3D graphics. It currently supports

- zbuffer

- doublle buffer, supports pixmap or 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 primitives

- bitmap fonts and a vector font

- mouse and keyboard input devices

EZwgl is designed to work on displays with an at least 8 bit deep PseudoColor, DirectColor, TrueColor, StaticColor, GrayScale, or StaticGray visual.

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.

The current release is 1.50

HTML Documentation Maintainance:`Arturo Espinosa <arturo@nuclecu.unam.mx>`