[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] Axiom/TK project
From: |
Camm Maguire |
Subject: |
Re: [Axiom-developer] Axiom/TK project |
Date: |
07 Jun 2005 09:52:34 -0400 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Hi Tim! Just checking here as I know you've already done some work on
the gcl-tk first page I sent. What's the current status?
It would appear that almost all the issues mentioned below are already
worked out in gcl-tk, at least on Linux at the moment, leaving only
the relatively simple but perhaps tedious job of writing the lisp
functions for the various pages. No?
Take care,
address@hidden writes:
> Axiom runs on multiple systems but there are two GUI components,
> the browser and the graphics, that are not portable. They are
> written in C using X11.
>
> The Axiom/TK project will recreate the same functionality using
> lisp and TK. Since both of these systems run on all platforms
> we will eliminate the portability problem and remove the remaining
> portion of C code from Axiom.
>
> The tasks are listed below and are designed as steps that show progress
> in small increments that could take anywhere from a day to two weeks.
>
> The project has two subgoals, a running browser and a running graphics.
>
> The browser steps are:
>
> Get a running lisp
> GCL is preferred but any common lisp will do
> Get a running TK
> Initially we can use a binary version
> Later we need to build it from sources
> Connect lisp and TK
> TK uses sockets so the lisp must handle sockets
> GCL has an LTK (Lisp-TK) package but it is untested
> Show primitive capability
> A newly started lisp should be able to start TK
> Show the first browser screen
> The first browser screen layout should be created from lisp
> Show an image in the browser screen
> The browser shows images in the browser so this must be demonstrated
> Handle the buttons
> The browser uses buttons for navigation so callbacks must be handled
> Handle the hyperlink
> The browser uses callbacks to find the next page and open other windows
> Handle user input
> The browser has text input which needs to be transmitted back to lisp
> Handle fonts
> The browser uses bold and italic fonts
> Parse the browser pages
> The browser uses a latex style page language which must be parsed in lisp.
> Connect to Axiom
> The browser connects to the running Axiom thru sman and sockets
> Send commands to Axiom
> The browser sends commands to Axiom thru sockets
> Receive commands from Axiom
> Axiom sends page commands to the browser
>
> The graphics subtask is very similar to the above and builds on the same code.
> However there are additional requirements.
>
> Draw in a window
> Initially we need to open a window and draw a line between two points
> Open a command window
> Clicking on the graph opens a command window with controls
> Handle dual window interactions
> Clicking on control buttons needs to change the graph
> Handle rotate, translate
> The graphics controls know how to rotate and translate the graph
> Handle 2D drawing
> Axiom has code that knows how to scale, draw axes, etc
> Handle 3D drawing
> Axiom knows how to shade and smooth 3D objects
> Handle Axiom requests
> Axiom sends point lists to the graphics
> Handle Axiom commands
> Axiom can command rotations, shading, etc
>
>
> Tim
>
>
> _______________________________________________
> Axiom-developer mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/axiom-developer
>
>
>
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah