Previous: Overview
Up: First report of the Algrebra Assistant
Next: Things to do
Work done
At the date of this writing, the first part, the graphics interface
has been mostly completed. Windows open, equations are rendered in the
windows, and refreshed when required, and some support for fonts
exist.
A somewhat primitive interaction model based mostly on X events has
been written by James Noble of Victoria University, Wellington
<kjx@comp.vuw.ac.nz>, and this was heavily modified and subclassed to
provided the required flexibility. The Navel
view manager is far from complete,
and is rather experimental at this time.
In support of the above, several pieces were constructed:
- [poly] a set of objects to describe scalars, vectors, and various
kinds of operators. This has mostly just been sketched out, and many
of the finer details and embellishments need to be added.
- [boites
] a set of objects that provides formatting control for
equations. Inspiration for these objects, and the algorithms were
taken from Donald Knuth's TeXbook description of the
formatter.
The chapters on Glue and Building boxes were particularly important.
- [window] These objects inherit from the Navel system and
provide specialization of the response to various events such as
redraw and configureNotify
. The equationView object knows how to convert a
poly object into its boites representation, and then ask
the boites to draw themselves. The boites are
independant of what they are drawing on so long as they have accurate
ideas of how big the primitive objects are. (That is, how big the
fonts are). This is currently specific to X windows, both in the way
the size of a string of characters is discovered, and the naming
of the fonts. (Naming of fonts should properly be done via X
resources in order to be X server imdependant. However, most servers
do provide something usefull named fixed and have a font named
Symbol
wcscps@YP.nobel