Last April I announced a package of object-oriented extensions to
the Pop-11 RC_GRAPHIC library.
This made it possible to create static and moving pictures defined
declaratively (almost), with associated event handlers of various types.
This package has now been extended significantly, with bugs in the event
handling removed so that dragging works properly (thanks to help from
John Gibson) and with automatic detection of the difference between
colour handling on Suns and DEC Alphas (and maybe others) and a host of
further extensions including
A new window object class, so that a whole RC_GRAPHIC window can be
treated as an object, its size or location changed, hidden, exposed,
etc. Making such an object the current one automatically makes its
coordinate frame and other things current, so that LIB RC_CONTEXT
becomes redundant. (I suspect I have not done this optimally: help
welcome.)
A much richer picture description language, including specification
of colours for sub-pictures or individual print strings, and also
different fonts in the same picture.
A class of buttons, making it easy to create control panels with
buttons for invoking arbitrary Pop-11 or unix events or process
asynchronously (I shall eventually make this replace my previously
announced ved_menu package based on propsheet)
A class of constrained mover objects, which can be constrained to
move vertically, or horizontally, or on the line between two
specified points, etc.
A demonstration of how to use these mechanisms in a toy "interactive
painting" package, with mouse selectable colours and mouse
selectable brush shapes.
This package is freely available to Poplog users from the Birmingham
Poplog ftp site
ftp://ftp.cs.bham.ac.uk/pub/dist/poplog
Later I hope to combine it with some of the powerful image manipulating
facilities in David Young's popvision package available from Sussex.
The RCLIB package is in the rclib/ subdirectory and the complete package
is also in compressed a tar file rctar.gz, i.e. get it as
ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/rctar.gz
Other things available in that directory are described in the README
file, including a lot of AI teaching materials based on Pop-11, e.g.
in the teach/ subdirectory, the poprulebase library in the prb/
subdirectory, and the sim_agent toolkit in the sim/ subdirectory.
I hope eventually to produce new teaching materials based on sim_agent
and the rclib facilities, which will be useful for introducing students
to the design of interacting agents with various sorts of architectures,
reactive, deliberative, reflective, etc.
All offers of cooperation, suggestions for improvement, etc. welcome.
Note: "Poplog" is a trade mark of the University of Sussex.
Aaron
---
Aaron Sloman, ( http://www.cs.bham.ac.uk/~axs )
School of Computer Science, The University of Birmingham, B15 2TT, England
EMAIL A.Sloman@cs.bham.ac.uk
Phone: +44-121-414-4775 (Sec 3711) Fax: +44-121-414-4281
|