
   Basic Object-Oriented Programming System for Intuition
		Demos README File
		  Jim Mackraz

This directory contains standalone examples of 'boopsi' users and class
definitions.  There are still some remaining example to come, but
these should get you started using boopsi classes, and writing your
own custom gadget and image classes.

The examples are compiled under Lattice 5.0X, using a vanilla makefile.
You either need logical volumes MYINCLUDE:, VINCLUDE:, VLIB:, and INCLATTICE:,
or you need to modify the INCLUDE= line in the makefile.  See the makefile
for details.

----------- Demos ---------------------

Here is a list of the demos.  The source files are described later.
To match up source files with demos, see the makefile.

demoimage  - simple private imageclass
demopubi   - simple public imageclass
pubi 	   - public imageclass installed by background
	     program.
myclass.library - example of imageclass init'd from a .library
democlasslib    - program that uses myclass.library
demoframe - an example of a "frame image class"
demotextb - an example of a text button class that uses a frame image
	    which can be shared between gadgets.
demo1 	  - an example of boopsi gadgets, with normal GADGETUP messages
demo2	  - an example of boopsi gadgets using IDCMPUPDATE messages
demo3	  - an example of boopsi gadgets using interconnection
demo4	  - an example of boopsi gadgets using interconnection 
	    and grouping
demo5	  - an example of a gadget class whose objects are the composite
	    gadgets from demo4

----------- Source files ---------------------

-- MAINS --
demoimage.c	- main for demoimage.
demopubi.c	- main for demopubi
pubi.c		- main for pubi, a background process public class installer
demoframe.c	- main for demoframe
demotextb.c	- main for demotextb
democlasslib.c	- main for testing myclass.library
demo1.c		- main for demo1, uses GADGETUP messages
demo2.c		- main for demo2, uses IDCMPUPDATE messages
demo3.c		- main for demo2, uses interconnection
demo4.c		- main for demo2, uses interconnection and grouping
demo5.c		- main for demo2, uses a group gadget object class

-- CLASSES --
emboxclass.c	- embossed (raised) box private class.
emboxpubcl.c	- same, but public class
frame1class.c	- public "frame image class".
textbclass.c	- public "text button class using frame"
mymodelclass.c	- private model which maintains a value within a range
mygroupgclass.c	- private (group) gadget subclass encapsulating all demoN's.

-- INCLUDES --
mymodel.h	- defines (private) attribute values for mymodelclass.h
myclassbase.h
myclassbase.i	- definition of Library base for myclass.library.

-- LIBRARY STUFF --
myclasslib.asm	- Romtag and vector table for myclass.library.
myclassinit.c	- Init, Open, Close, and Expunge for myclass.library

-- GLUE, UTILITIES, and OTHER --
makefile	- explains the required Assign's.
classface.asm	- may someday (soon?) be in amiga.lib.  This is the
		  hook dispatching specific to boopsi, including
		  DoMethod, DoSuperMethod, CoerceMethod, and non-vararg
		  variations.  Also has tricky function SetSuperAttrs.
		  Used by class implementors and people calling DoMethod()
		  for their objects.
hookface.asm	- hook interface function (callee) for standard C parameters
tagdebug.c	- debugging routine dumpTagList()

