home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dream 52
/
Amiga_Dream_52.iso
/
Amiga
/
Applications
/
Mathematiques
/
GraphIt.lha
/
GraphIt
/
graph.h
< prev
next >
Wrap
C/C++ Source or Header
|
1987-09-01
|
3KB
|
128 lines
/****************************************************************************/
/* Program: Graph It II (The C Program) */
/* SubModule: graph.h 1-20-87 */
/* CopyRight By Flynn D. Fishman January 1987 */
/* Feel Free to copy and alter this source */
/****************************************************************************/
/* This is the include file for graph it. It includes all the needed
constants */
#include <stdio.h>
#include <math.h>
#include <functions.h>
#include <exec/types.h>
#include <exec/exec.h>
#include <intuition/intuition.h>
#include <intuition/intuitionbase.h>
#include <graphics/gfx.h>
#include <graphics/gfxmacros.h>
#include <graphics/regions.h>
#include <graphics/copper.h>
#include <graphics/gels.h>
#include <graphics/gfxbase.h>
#include <graphics/text.h>
#include <devices/keymap.h>
#include <hardware/blit.h>
/* this is close enough */
#define INFINITY 932768;
/* number of elements to allocate for formula */
#define PARAMETERS 90
#define FSIZE 50
#define CONSTANTS 50
/* types of characters */
#define ALPHA 1
#define NUMERIC 2
#define OTHER 3
#define END 4 /* i.e. \r, \n or a semicolon */
#define BITMASK 0xff
#define HIGHBIT 0x80
#define LOWMASK 0x7f
/* types of formula errors */
#define UNKNOWN 2
#define INVALID 3
#define WINDOW 4
#define ever (;;)
struct Formula_Master
{
char *equation;
double *constants;
int position;
int error;
};
struct Graph_Parameters
{
struct Formula_Master *x1;
struct Formula_Master *y1;
struct Formula_Master *z1;
int yon;
int xon;
int zon;
int end;
int hidden;
double xstart;
double ystart;
double zstart;
double tstart;
double xend;
double yend;
double zend;
double tend;
double xlabels;
double ylabels;
double zlabels;
double detail;
int error;
};
double x, y, t, z;
double Value(), Solve(), GetNum();
char *AllocateFunction();
#define INTUITION_REV 1l
#define GRAPHICS_REV 1l
#define XSIZE 640l
#define YSIZE 200l
#define min(x,y) (x<y)?x:y
#define max(x,y) (x<y)?y:x
#define abs(x) (x<0)?-x:x
/* Icon placement constants */
#define XBORDER 28 /* pixels on right side of graph area */
#define YBORDER 16 /* pixels below graoh area */
#define XEXPANDX 56 /* Number of pixels for xstart = */
#define XEXPANDY 8 /* The hieght of the xexpand area */
#define YEXPANDX 9 /* the width of the yexpand area */
#define YEXPANDY 17 /* pixels for ystart = */
#define ICONX 16 /* The width of the icon */
#define ICONY 15 /* The hieght of the command icons */
#define BALLHEIGHT 5
#define BALLWIDTH 6
/* modes for graph */
#define ZOOM 1
#define MOVE 2
#define TOTALAREA 4.0
/* Help menu stuff */
#define FORWARD 1
#define BACKWARD 2
#define QUIT 3
#define FIRSTPAGE 1
#define LASTPAGE 5
#ifndef PI
#define PI 3.14159265358979 /* From memory, may not be correct */
#endif