/* Standard definitions to use -- boolean variables, etc */ #ifndef STDDEF_H #define STDDEF_H typedef unsigned long LONG; typedef unsigned WORD; typedef unsigned char BYTE; typedef unsigned char SHORT; typedef void VOID; #define MAXINT 0xFFFF #define MAXLONG 0xFFFFFFFF #define NULL ((char *)0) #ifndef NIL #define NIL '\0' #endif typedef char BOOLEAN; #define FALSE 0 #define TRUE (!FALSE) typedef VOID (func)(); typedef int (ifunc)(); typedef LONG (lfunc)(); /* Inclusive between macro */ #define IBETWEEN(x, a, b) (((x) >= (a) && (x) <= (b)) ? TRUE : FALSE) /* Exclusive between macro */ #define EBETWEEN(x, a, b) (((x) > (a) && (x) < (b)) ? TRUE : FALSE) extern char *strcat(); extern char *malloc(); extern char *lmalloc(); typedef struct { int w,h; } wh; typedef struct { int x,y; } xy; typedef struct { int x,y,w,h; } xywh; typedef struct { int x,y,x1,y1; } xyxy; typedef struct { int x,y,x1,y1,x2,y2,x3,y3; } xyxyxyxy; #define XYWH_PTR(a) &a.x, &a.y, &a.w, &a.h #define XYXY_PTR(a) &a.x, &a.y, &a.x1, &a.y1 #define XY_PTR(a) &a.x, &a.y #define WH_PTR(a) &a.w, &a.h #define XYXYXYXY_PTR(a) &a.x, &a.y, &a.x1, &a.y1, &a.x2, &a.y2, &a.x3, &a.y3 #define MAX(a, b) ((a) > (b) ? (a) : (b)) #define MIN(a, b) ((a) < (b) ? (a) : (b)) #define new(p) ((p) = malloc(sizeof(*p))) /* Like Pascal's new */ #endif