

This directory contains programming examples.  A simple "make" should 
build everything.


example1.c

	This is example1 as referenced in the documentation.
	It shows the ubiquitous "Hello World" program with a Drawtext
	object.

example2.c

	This is example2 as referenced in the documentation.
	This shows how to use double click and drag and drop
	notification.  

	When the objects labeled "Red" "Green" "Blue" and "Black" 
	are double clicked, the border surrounding them is changed 
	to that color.  These four objects can also be dragged and
	dropped onto the object labeled "Drop Here", causing a 
	message to be printed to standard output.

example3.c

	This is an example using the array_tile to layout 3 objects
	of different types.  The array_tile automatically positions
	each one.  This is also a simple example of creating drawimages
	and drawicons.  The objects in this example can be clicked on,
	but it doesn't do anything.

darea_demo.c

	This demonstrates the Drawarea package -- nothing interactive,
	just a pretty picture.  The pie chart and the bar chart are
	created by hand, using the primitives of the drawarea package.
	The charts automatically rescale when the frame is resized.

	This looks best on color monitors but will work on monochrome.

line_demo.c

	This is a demo of the Drawline package with an interface
	to change the attributes of a drawline object.  Grip objects 
	are used to drag the endpoints of the drawline.

treetool.l

	This is a demo of the tree package.  It reads standard input
	that is structured in lisp-like syntax.  On end of input, it
	graphs the structure.
	In pseudo BNF, the syntax is:
		start -> <list> <start> <EOF>
		<list> -> "(" <string> <list> ")"
		<list> -> <nothing>
		<string> -> [a..zA..Z]+
		<string> -> <quote> [a..zA..Z]* <quote>
	The file "things" in this directory contains an example input file.
	To run: treetool < things


tlstool.c

	This is a version of 'lstool'.  This program browses directories,
	laying out the files and subdirectories in a tree.  Double clicking
	on directories expands the tree.  This is a minimal implementation 
	with few features, ready for hacking.

	This demo also provides an example of sizing objects in the 
	canvas_shell.  In a future release, resizing will be automatic.  
	This shows how to deal with it until then.  Also note that the 
	scrollbars are splittable.

puzzdemo.c

	This is a version of the classical two dimensional sliding puzzle 
	implemented with grips, drawimages, and an array_tile.  This is
	the closest of all these examples to a real application.  As such,
	it shows how easy it is to write a reasonable application with
	these packages.

	This requires a color monitor because it displays a color image.
	Unfortunately XView provides no utilities for loading color images
	at runtime, so this image is compiled in.  If anyone wants to send
	me a color rasterfile load routine, this functionality will be 
	added.  


