DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T g

⟦69643ce4d⟧ TextFile

    Length: 2321 (0x911)
    Types: TextFile
    Names: »graph.h«

Derivation

└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
    └─ ⟦this⟧ »EUUGD11/euug-87hel/sec1/graph/graph.h« 

TextFile

/*
 * Copyright (C) 1986   Alan Kent
 *
 * Permission is granted to freely distribute part or
 * all of this code as long as it is not for profit
 * and this message is retained in the code.
 *
 * No resposibility is taken for any damage or incorect
 * results this program generates.
 * 
 */


#define MAX_GRAPHS 30

typedef struct table_st {
    int size;
    double *data;
    struct table_st *next;
} table_st;

typedef struct tnode_st {
    int operator;
    struct tnode_st *left , *right;
    struct table_st *table;
    struct expr_list_st *expr_list;
    struct attr_st *expr;
    char *ident;
    double value;
    struct range_st *range;
    struct int_st *interval;
    int func;
    struct parm_st *parm_list;
    struct trow_st *const_table;
} tnode_st;

typedef struct attr_st {
    double value;
    int node_type;
    struct attr_st *left , *right;
    char *ident;
    struct parm_st *parm_list;
} attr_st;

typedef struct expr_list_st {
    struct attr_st *expr;
    struct expr_list_st *next;
} expr_list_st;

typedef struct range_st {
    double min , max;
} range_st;

typedef struct int_st {
#define ISIZE	0
#define INUMINT	1
    int int_type;
    double value;
} int_st;

typedef struct graph_st {
    int line_type;	/* NO,DOTTED,SOLID,LONGDASHED,SHORTDASHED,DOTDASHED */
    int point_type;	/* A mask MSK_TRIANGLE etc */
#define MSK_CIRCLE	0x01
#define MSK_TRIANGLE	0x02
#define MSK_SQUARE	0x04
#define MSK_CROSS	0x08
#define MSK_PLUS	0x10
    int cumulative;	/* true/false */
    char *label;
    char *legend;	/* NULL means dont put in legend */
    table_st *table;
} graph_st;

typedef struct axis_st {
    char *format;	/* printf format for numbering axis */
    char *user_format;	/* user defined format */
    char *label;
    int scale;		/* AUTO,NO */
    int frame;		/* FRAME,GRID,OUTLINE,NO */
    int linear;		/* LOG,LINEAR */
    int auto_tick_size;	/* true/false */
    range_st range;
    int_st *interval;
    double tick_size;
    double power_10;
} axis_st;

typedef struct parm_st {
    int parm_type;
    char *ident;
    tnode_st *tab_expr;
    attr_st *expr;
    struct parm_st *next;
} parm_st;

typedef struct tcol_st {
    struct attr_st *expr;
    struct tcol_st *next;
} tcol_st;

typedef struct trow_st {
    struct tcol_st *cols;
    struct trow_st *next;
} trow_st;