home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
misc
/
volume31
/
jgraph
/
part06
/
jgraph.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-07-14
|
4KB
|
230 lines
/*
* $Source: /n/fs/vd/jsp/src/jgraph/RCS/jgraph.h,v $
* $Revision: 8.0 $
* $Date: 92/07/03 14:15:58 $
* $Author: jsp $
*/
#include "list.h"
#include "prio_list.h"
#ifdef LCC
#include <stdlib.h>
#endif
#define PPI 120
#define FPPI 120.0
#define CPI 72.0
#define FCPI 72.0
#define CNULL ((char *)0)
#define GMNULL ((Point)0)
#define FSIG -10010.0
#define HASH_SIZE 5.0
#define MHASH_SIZE 2.0
typedef struct point {
struct point *flink;
struct point *blink;
float x;
float y;
char e; /* 'x' for x_ebars, 'y' for y_ebars, 'p' for neither */
} *Point;
typedef struct flist {
struct flist *flink;
struct flist *blink;
float f;
} *Flist;
typedef struct label {
char *label;
float x;
float y;
float rotate;
char *font;
float fontsize;
char hj;
char vj;
float gray[3];
char graytype;
float linesep;
float xmin;
float xmax;
float ymin;
float ymax;
int nlines;
} *Label;
typedef struct curve {
struct curve *flink;
struct curve *blink;
int num;
Label l;
Label lmark;
Point pts;
Point yepts;
Point xepts;
int npts;
Point general_marks;
float marksize[2];
float fill[3];
float gray[3];
float afill[3];
float pfill[3];
float linethick;
float mrotate;
Flist gen_linetype;
char graytype ;
char filltype ;
char afilltype;
char pfilltype;
char marktype;
char linetype;
char *postscript;
int postfile;
int rarrow;
int larrow;
int rarrows;
int larrows;
int bezier;
int poly;
float asize[2];
int clip;
} *Curve;
typedef struct string {
struct string *flink;
struct string *blink;
int num;
Label s;
} *String;
typedef struct hash {
struct hash *flink;
struct hash *blink;
float loc;
float size;
int major;
} *Hash;
typedef struct deflt {
float rotate;
float fontsize;
Point general_marks;
float fill;
float linethick;
float marksize[2];
char *font;
char hj;
char vj;
char marktype;
} *Default;
typedef struct axis {
Label label;
Label hl;
float max;
float min;
float pmax;
float pmin;
float logmin;
float logfactor;
float size;
float psize;
float factor;
float hash_interval;
float hash_start;
float hash_scale;
float log_base;
float draw_hash_marks_at;
float draw_hash_labels_at;
float draw_at;
float gray[3];
char graytype;
float gr_gray[3];
char gr_graytype;
float mgr_gray[3];
char mgr_graytype;
int grid_lines;
int mgrid_lines;
int draw_hash_labels;
int draw_axis_line;
int draw_hash_marks;
int draw_axis_label;
int auto_hash_labels;
int auto_hash_marks;
int minor_hashes;
int precision;
int start_given;
String hash_labels;
Hash hash_lines;
int is_x;
int is_lg;
} *Axis;
typedef struct legend {
float linelength;
float linebreak;
int anylines;
float midspace;
char type; /* 'n' = off, 'u' = userdefined (use Label), 'c' = custom */
Label l;
} *Legend;
typedef struct graph {
struct graph *flink;
struct graph *blink;
int num;
float xminval;
float yminval;
float xmaxval;
float ymaxval;
float x_translate;
float y_translate;
Axis x_axis;
Axis y_axis;
Curve curves;
Legend legend;
String strings;
Label title;
int clip;
int border;
Default def;
} *Graph;
typedef struct graphs {
struct graphs *flink;
struct graphs *blink;
Graph g;
float height;
float width;
float bb[4]; /* Bounding box */
char *preamble;
char *epilogue;
int prefile;
int epifile;
} *Graphs;
extern float ctop();
extern float disttop();
extern float intop();
extern float ptoc();
extern float ptodist();
extern char *getlabel();
extern char *getmultiline();
/* Stuff defined in jgraph.c */
extern Curve new_line();
extern Curve new_curve();
extern Curve get_curve();
extern Graph new_graph();
extern Graph get_graph();
extern String new_string();
extern String get_string();
extern Label new_label();
extern char *MARKTYPESTRS[];
extern char MARKTYPES[];
extern int NMARKTYPES;
extern int NORMALMARKTYPES;