498 lines
10 KiB
C
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();
|