home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ARM Club 3
/
TheARMClub_PDCD3.iso
/
hensa
/
graphics
/
a090_1
/
!ReadMe
next >
Wrap
Text File
|
1992-05-14
|
5KB
|
122 lines
The Euclid C Library (V0.02) By Paul Field
==========================================
This software provides a simple interface to the euclid module and structures
to aid accessing the euclid data structure. It also provides high-level
functions for plotting functions, converting euclid pictures into sprites and
displaying euclid pictures in windows.
The important files are :
euclidswis.h - Macros that expand to euclid SWI numbers
cache.* - Routines to moderate use of a single cache between
multitasking processes
edraw.* - Provides a nice interface to 'euclid_draw'
esprite.* - Routine to convert euclid pictures to sprites
euclid.* - Low-level structures and code to interface to the Euclid
module
ewindow.* - Routines to create and manipulate windows with euclid
pictures in them
function.* - Routine to create graphs of functions
shape.* - Routines to create different shapes
Makefile - Compiles and links 'euclid_lib'
MakeEx - Compiles and links 'example'
(You will have to alter the make files so that they know where the
C libraries are on your system)
The program 'example' shows just about all the features of the euclid library.
See its !Help file for details.
There are likely to be two problems with the software as it stands
i) The code is based on information in docs.structure and docs.SWIS
(on the euclid disc) and docs.raytrace (on the arclight disc)
which may be out of date.
Some of the information is also inaccurate, for example some of the
SWI numbers given in docs.SWIS are wrong :
Euclid_Set should be &80648
Euclid_Rotate should be &8064E
Euclid_Zoom should be &8064D
In ArcLight.Docs.RayTrace, Euclid_Draw:
The information block for timed out calls is returned in R2 NOT R1.
ii) The code has been tested fairly thoroughly but some of it is quite complex
and I may not have tested all cases (especially error cases - all errors
should be handled OK, but I haven't tested this for all cases).
There may some problems with the structures in euclid.h - in some places
I was unsure whether to use signed or unsigned integers.
This library of routines is in an early stage of development and it will
only grow with your help and support. Please contact me if :
You find any bugs.
You can suggest any improvements to the existing code.
You can suggest new functions or modules that would be useful.
You have written code that you would like to be included in the library.
You just liked the software and found it useful - It is very encouraging for
a programmer to know that the work put into a project has been worthwhile.
Version details
===============
V0.02 - Altered 'euclid_draw' in light of information in !Arclight.Docs.Raytrace
- Added 'edraw', 'ewindow', 'esprite', 'shape' and 'cache' routines
- Rewrote 'example' to show off all the new modules
Things to do (Maybe)
====================
1) Sort out the palette problems that occur when you try to draw into sprites
that have a different number of colours to the current mode.
2) Write 'film' - routines to load/save/create/playback etc films.
3) Alter 'cache' to become a more general 'process' control module and
define the interface to a process.
4) Allow various objects (e.g. drawing cache/picture structure) to be in flex blocks.
5) Routines to convert between draw files and euclid files
6) Routines to handle 'object viewer windows' as in the euclid editor
7) Some sort of picture viewer - displays the whole euclid structure as a tree
--------------------------------------------------------------------------------
'Free' software comes from the goodwill of programmers. They often put a lot
of effort into software from which they receive no financial gain. However,
to stop less altruistic people taking advantage of their work, it is standard
practice to include some restrictions on copying for profit and the use of the
software.
Here are the restrictions for the 'Euclid C library' software V0.02.
Distribution:
This software may be freely copied as long as no profit is made from its
distribution (a reasonable copying and media charge may be made) and all
files are included unchanged.
Usage:
This software may be used in other programs (excluding commercial software)
as long as identification of this software and its author is made in any
program credits.
For permission to use the library in commercial software please contact
the author.
Modifications:
The distribution of modified versions of the software is prohibited
(see distribution). If you have made an alteration to the software, send me
details of the change and I may include the alteration in a new version of
the software (which I will send to you). I retain copyright of the code at
all times.
These restrictions apply to version 0.02 of the software and I reserve the
right to change them for future versions of the software.
Paul Field
3, Little Heath
Chadwell Heath
Romford
Essex
RM6 4XX
email: paulf@dcs.qmw.ac.uk (Until the end of 1994)