home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Vectronix 2
/
VECTRONIX2.iso
/
FILES_01
/
MARK_WC2.LZH
/
INCLUDE
/
OBDEFS.H
< prev
next >
Wrap
C/C++ Source or Header
|
1988-04-27
|
5KB
|
203 lines
/************************************************************************/
/* OBDEFS.H Common OBJECT definitions and structures. */
/* Copyright 1985 Atari Corp. */
/* Revisions Copyright 1987 Mark Williams Co. */
/************************************************************************/
#define ROOT 0
/* max string length */
#define MAX_LEN 81
/* max depth of search or draw */
#define MAX_DEPTH 8
/* inside patterns */
#define IP_HOLLOW 0
#define IP_1PATT 1
#define IP_2PATT 2
#define IP_3PATT 3
#define IP_4PATT 4
#define IP_5PATT 5
#define IP_6PATT 6
#define IP_SOLID 7
/* gsx modes */
#define MD_REPLACE 1
#define MD_TRANS 2
#define MD_XOR 3
#define MD_ERASE 4
/* bit blt rules */
#define ALL_WHITE 0
#define S_AND_D 1
#define S_AND_NOTD 2
#define S_ONLY 3
#define NOTS_AND_D 4
#define D_ONLY 5
#define S_XOR_D 6
#define S_OR_D 7
#define NOT_SORD 8
#define NOT_SXORD 9
#define D_INVERT 10
#define NOT_D 11
#define S_OR_NOTD 12
#define NOTS_OR_D 13
#define NOT_SANDD 14
#define ALL_BLACK 15
/* font types */
#define IBM 3
#define SMALL 5
/* Graphic types of obs */
#define G_BOX 20
#define G_TEXT 21
#define G_BOXTEXT 22
#define G_IMAGE 23
#define G_USERDEF 24 /* Some sources call this G_PROGDEF */
#define G_IBOX 25
#define G_BUTTON 26
#define G_BOXCHAR 27
#define G_STRING 28
#define G_FTEXT 29
#define G_FBOXTEXT 30
#define G_ICON 31
#define G_TITLE 32
/* Object flags */
#define NONE 0x0
#define SELECTABLE 0x1
#define DEFAULT 0x2
#define EXIT 0x4
#define EDITABLE 0x8
#define RBUTTON 0x10
#define LASTOB 0x20
#define TOUCHEXIT 0x40
#define HIDETREE 0x80
#define INDIRECT 0x100
/* Object states */
#define NORMAL 0x0
#define SELECTED 0x1
#define CROSSED 0x2
#define CHECKED 0x4
#define DISABLED 0x8
#define OUTLINED 0x10
#define SHADOWED 0x20
/* Object colors */
#define WHITE 0
#define BLACK 1
#define RED 2
#define GREEN 3
#define BLUE 4
#define CYAN 5
#define YELLOW 6
#define MAGENTA 7
#define LWHITE 8
#define LBLACK 9
#define LRED 10
#define LGREEN 11
#define LBLUE 12
#define LCYAN 13
#define LYELLOW 14
#define LMAGENTA 15
/* editable text field definitions */
#define EDSTART 0
#define EDINIT 1
#define EDCHAR 2
#define EDEND 3
/* editable text justification */
#define TE_LEFT 0
#define TE_RIGHT 1
#define TE_CNTR 2
/* Structure Definitions */
typedef struct object
{
int ob_next; /* -> object's next sibling */
int ob_head; /* -> head of object's children */
int ob_tail; /* -> tail of object's children */
unsigned int ob_type; /* type of object- BOX, CHAR,...*/
unsigned int ob_flags; /* flags */
unsigned int ob_state; /* state- SELECTED, OPEN, ... */
unsigned long ob_spec; /* "out"- -> anything else */
int ob_x; /* upper left corner of object */
int ob_y; /* upper left corner of object */
int ob_width; /* width of obj */
int ob_height; /* height of obj */
} OBJECT;
typedef struct orect
{
struct orect *o_link;
int o_x;
int o_y;
int o_w;
int o_h;
} ORECT;
typedef struct grect
{
int g_x;
int g_y;
int g_w;
int g_h;
} GRECT;
typedef struct text_edinfo
{
unsigned char * te_ptext; /* ptr to text (must be 1st) */
unsigned char * te_ptmplt; /* ptr to template */
unsigned char * te_pvalid; /* ptr to validation chrs. */
int te_font; /* font */
int te_junk1; /* junk word */
int te_just; /* justification- left, right...*/
int te_color; /* color information word */
int te_junk2; /* junk word */
int te_thickness; /* border thickness */
int te_txtlen; /* length of text string */
int te_tmplen; /* length of template string */
} TEDINFO;
typedef struct icon_block
{
int * ib_pmask;
int * ib_pdata;
char * ib_ptext;
int ib_char;
int ib_xchar;
int ib_ychar;
int ib_xicon;
int ib_yicon;
int ib_wicon;
int ib_hicon;
int ib_xtext;
int ib_ytext;
int ib_wtext;
int ib_htext;
} ICONBLK;
typedef struct bit_block
{
char * bi_pdata; /* ptr to bit forms data */
int bi_wb; /* width of form in bytes */
int bi_hl; /* height in lines */
int bi_x; /* source x in bit form */
int bi_y; /* source y in bit form */
int bi_color; /* fg color of blt */
} BITBLK;
typedef struct user_blk
{
int (*ub_code)();
long ub_parm;
} USERBLK; /* Some sources call this APPLBLK */
typedef struct parm_blk
{
OBJECT *pb_tree;
int pb_obj;
int pb_prevstate;
int pb_currstate;
int pb_x, pb_y, pb_w, pb_h;
int pb_xc, pb_yc, pb_wc, pb_hc;
long pb_parm;
} PARMBLK;