2021-10-11 18:37:13 -03:00

498 lines
10 KiB
C

/* @(#)cgidefs.h 1.1 94/10/31 Copyr 1985-9 Sun Micro */
/*
* Copyright (c) 1985, 1986, 1987, 1988, 1989 by Sun Microsystems, Inc.
* Permission to use, copy, modify, and distribute this software for any
* purpose and without fee is hereby granted, provided that the above
* copyright notice appear in all copies and that both that copyright
* notice and this permission notice are retained, and that the name
* of Sun Microsystems, Inc., not be used in advertising or publicity
* pertaining to this software without specific, written prior permission.
* Sun Microsystems, Inc., makes no representations about the suitability
* of this software or the interface defined in this software for any
* purpose. It is provided "as is" without express or implied warranty.
*/
/*
* CGI Type definitions
*/
#include "cgiconstants.h" /* defines constants */
#ifndef pixrect_hs_DEFINED
#include <pixrect/pixrect_hs.h>
#endif
typedef char Cchar;
typedef float Cfloat;
typedef int Cint;
typedef enum
{
ACTIVE, INACTIVE
} Cactstate;
typedef enum
{
CLEAR, NO_OP, RETAIN
} Cacttype;
typedef enum
{
INDIVIDUAL, BUNDLED
} Casptype;
typedef enum
{
VALID_DATA,
TIMED_OUT,
DISABLED,
WRONG_STATE,
NOT_SUPPORTED
} Cawresult;
typedef enum
{
TRANSPARENT, OPAQUE
} Cbmode;
typedef enum
{
BITNOT, BITTRUE
} Cbitmaptype;
typedef enum
{
HOLLOW, SOLIDI, PATTERN, HATCH
} Cintertype;
typedef enum
{
STRING, CHARACTER, STROKE
} Cprectype;
typedef enum
{
SOLID, DOTTED, DASHED, DASHED_DOTTED, DASH_DOT_DOTTED, LONG_DASHED
} Clintype;
typedef enum
{
DOT, PLUS, ASTERISK, CIRCLE, X
} Cmartype;
typedef struct
{
Clintype line_type;
Cfloat line_width;
Cint line_color;
Cmartype marker_type;
Cfloat marker_size;
Cint marker_color;
Cintertype interior_style;
Cint hatch_index;
Cint pattern_index;
Cint fill_color;
Clintype perimeter_type;
Cfloat perimeter_width;
Cint perimeter_color;
Cint text_font;
Cprectype text_precision;
Cfloat character_expansion;
Cfloat character_spacing;
Cint text_color;
} Cbunatt;
typedef struct
{
unsigned char *ra;
unsigned char *ga;
unsigned char *ba;
Cint n;
} Ccentry;
typedef enum
{
OPEN, CLOSE
} Ccflag;
typedef enum
{
YES, NO
} Cchangetype;
typedef enum
{
NOCLIP,
CLIP,
CLIP_RECTANGLE
} Cclip;
typedef enum
{
CHORD, PIE
} Cclosetype;
typedef enum
{
REPLACE, AND, OR, NOT, XOR
} Ccombtype;
typedef struct
{
Cint x;
Cint y;
} Ccoor;
typedef struct
{
Ccoor *ptlist;
Cint n;
} Ccoorlist;
typedef struct
{
Ccoor *upper;
Ccoor *lower;
} Ccoorpair;
typedef enum
{
IC_LOCATOR,
IC_STROKE,
IC_VALUATOR,
IC_CHOICE,
IC_STRING,
IC_PICK
} Cdevoff;
typedef enum
{
E_TRACK,
E_ECHO,
E_TRACK_OR_ECHO,
E_TRACK_AND_ECHO
} Cechoav;
typedef enum
{
ECHO_OFF, ECHO_ON, TRACK_ON
} Cechostate;
typedef enum
{
NO_ECHO, PRINTERS_FIST, HIGHLIGHT, RUBBER_BAND_BOX,
DOTTED_LINE, SOLID_LINE, STRING_ECHO, XLINE, YLINE
} Cechotype;
typedef struct
{
Cint n;
Cechoav *elements;
Cechotype *echos;
} Cechotypelst;
typedef struct
{
Cechostate *echos;
Cint n;
} Cechostatelst;
typedef struct
{
int segid; /* segment */
int pickid; /* pick id */
} Cpick;
typedef struct
{
Ccoor *xypt; /* LOCATOR */
Ccoorlist *points; /* STROKE devices */
Cfloat val; /* VALUATOR device */
Cint choice; /* CHOICE devices */
Cchar *string; /* STRING device */
Cpick *pick; /* PICK devices */
} Cinrep;
typedef struct
{
Cinrep *echos;
Cint n;
} Cechodatalst;
typedef enum
{
NATURAL, POINT, BEST_FIT
} Cendstyle;
typedef enum
{
NO_OFLO, OFLO
} Ceqflow;
typedef Cint Cerror;
typedef enum
{
INTERRUPT, NO_ACTION, POLL
} Cerrtype;
typedef enum
{
CLIP_RECT, VIEWPORT, VIEWSURFACE
} Cexttype;
typedef enum
{
OFF, ON
} Cflag;
typedef struct
{
Cintertype style;
Cflag visible;
Cint color;
Cint hatch_index;
Cint pattern_index;
Cint index;
Clintype pstyle;
Cfloat pwidth;
Cint pcolor;
} Cfillatt;
typedef struct
{
Cint n;
Cint *num;
Casptype *value;
} Cflaglist;
typedef enum
{
FREEZE, REMOVE
} Cfreeze;
typedef struct
{
Clintype style;
Cfloat width;
Cint color;
Cint index;
} Clinatt;
typedef enum
{
L_FALSE, L_TRUE
} Clogical;
typedef struct pixrect Cpixrect;
typedef enum
{
RELEASE, NO_EVENTS, REQUEST_EVENT, RESPOND_EVENT, QUEUE_EVENT
} Clidstate;
typedef struct
{
Cmartype type;
Cfloat size;
Cint color;
Cint index;
} Cmarkatt;
typedef enum
{
NO_INPUT, ALWAYS_ON, SETTABLE, DEPENDS_ON_LID
} Cinputability;
typedef struct
{
Cint cur_index;
Cint row;
Cint column;
Cint *colorlist;
Ccoor *point;
Cint dx;
Cint dy;
} Cpatternatt;
typedef enum
{
PROMPT_OFF, PROMPT_ON
} Cpromstate;
typedef enum
{
ACK_ON, ACK_OFF
} Cackstate;
typedef struct
{
Cint n;
Cdevoff *class;
Cint *assoc;
} Cassoclid;
typedef struct
{
Clidstate state;
Cpromstate prompt;
Cackstate acknowledgement;
Cinrep *current;
Cint n;
Cint *triggers;
Cechotype echotyp;
Cechostate echosta;
Cint echodat;
} Cstatelist;
typedef struct
{
Clogical sample;
Cchangetype change;
Cint numassoc;
Cint *trigassoc;
Cinputability prompt;
Cinputability acknowledgement;
Cechotypelst *echo;
Cchar *classdep;
Cstatelist state;
} Cliddescript;
typedef enum
{
SIMULTANEOUS_EVENT_FOLLOWS, SINGLE_EVENT
} Cmesstype;
typedef enum
{
RIGHT, LEFT, UP, DOWN
} Cpathtype;
typedef enum
{
LFT, CNTER, RGHT, NRMAL, CNT
} Chaligntype;
typedef enum
{
TOP, CAP, HALF, BASE, BOTTOM, NORMAL, CONT
} Cvaligntype;
typedef enum
{
NOT_VALID, EMPTY, NON_EMPTY, ALMOST_FULL, FULL
} Cqtype;
typedef enum
{
ABSOLUTE, SCALED
} Cspecmode;
typedef enum
{
NONE, REQUIRED_FUNCTIONS_ONLY, SOME_NON_REQUIRED_FUNCTIONS,
ALL_NON_REQUIRED_FUNCTIONS
} Csuptype;
typedef struct
{
Cint fontset;
Cint index;
Cint current_font;
Cprectype precision;
Cfloat exp_factor;
Cfloat space;
Cint color;
Cint height;
Cfloat basex;
Cfloat basey;
Cfloat upx;
Cfloat upy;
Cpathtype path;
Chaligntype halign;
Cvaligntype valign;
Cfloat hcalind;
Cfloat vcalind;
} Ctextatt;
typedef enum
{
NOT_FINAL, FINAL
} Ctextfinal;
typedef struct
{
Cchangetype change;
Cassoclid *numassoc;
Cint maxassoc;
Cpromstate prompt;
Cackstate acknowledgement;
Cchar *name;
Cchar *description;
} Ctrigdis;
typedef struct
{
Cactstate state;
Cassoclid *assoc;
} Ctrigstate;
typedef enum
{
INTEGER, REAL, BOTH
} Cvdctype;
typedef struct
{
Cint numloc;
Cint numval;
Cint numstrk;
Cint numchoice;
Cint numstr;
Cint numtrig;
Csuptype event_queue;
Csuptype asynch;
Csuptype coord_map;
Csuptype echo;
Csuptype tracking;
Csuptype prompt;
Csuptype acknowledgement;
Csuptype trigger_manipulation;
} Ccgidesctab;
typedef struct
{
Cchar screenname[DEVNAMESIZE]; /* physical screen */
Cchar windowname[DEVNAMESIZE]; /* window */
Cint windowfd; /* window file */
Cint retained; /* retained flag */
Cint dd; /* device */
Cint cmapsize; /* color map size */
Cchar cmapname[DEVNAMESIZE]; /* color map name */
Cint flags; /* new flag */
Cchar **ptr; /* CGI tool descriptor */
} Cvwsurf;
/* define abnormal function calls */
Cpixrect *inquire_device_bitmap();
Clinatt *inquire_line_attributes();
Cmarkatt *inquire_marker_attributes();
Cfillatt *inquire_fill_area_attributes();
Cpatternatt *inquire_pattern_attributes();
Ctextatt *inquire_text_attributes();
Cflaglist *inquire_aspect_source_flags();
/* define abnormal CGIPW function calls */
Clinatt *cgipw_inquire_line_attributes();
Cmarkatt *cgipw_inquire_marker_attributes();
Cfillatt *cgipw_inquire_fill_area_attributes();
Cpatternatt *cgipw_inquire_pattern_attributes();
Ctextatt *cgipw_inquire_text_attributes();
Cflaglist *cgipw_inquire_aspect_source_flags();