boxes/src/boxes.h.in

127 lines
3.0 KiB
C
Raw Normal View History

1999-03-19 18:51:19 +01:00
/*
* File: boxes.h
* Date created: March 18, 1999 (Thursday, 15:09h)
* Author: Thomas Jensen
* tsjensen@stud.informatik.uni-erlangen.de
* Version: $Id: boxes.h,v 1.3 1999/03/30 09:36:58 tsjensen Exp tsjensen $
1999-03-19 18:51:19 +01:00
* Language: ANSI C
* Purpose: Project-wide globals and data structures
* Remarks: ---
*
* Revision History:
*
* $Log: boxes.h,v $
* Revision 1.3 1999/03/30 09:36:58 tsjensen
* ... still programming ...
* It drew a correct box for the first time!
*
* Revision 1.2 1999/03/19 17:51:19 tsjensen
* ... still programming ...
*
1999-03-19 18:51:19 +01:00
* Revision 1.1 1999/03/18 15:09:34 tsjensen
* Initial revision
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*/
1999-03-18 16:08:57 +01:00
#ifndef BOXES_H
#define BOXES_H
#ident "$Id: boxes.h,v 1.3 1999/03/30 09:36:58 tsjensen Exp tsjensen $"
1999-03-18 16:08:57 +01:00
#define PROJECT "boxes" /* name of program */
#define VERSION "1.0" /* current release of project */
#define __TJ(s) fprintf (stderr, s);
/*
* some systems (especially sunos4) do not define EXIT_* constants
*/
#ifndef EXIT_FAILURE
#define EXIT_FAILURE 1
#endif
#ifndef EXIT_SUCCESS
#define EXIT_SUCCESS 0
#endif
/* free memory and set pointer to NULL
*/
#define BFREE(p) { \
if (p) { \
free (p); \
(p) = NULL; \
} \
}
1999-03-19 18:51:19 +01:00
extern char *shape_name[];
extern char *ofs_name[];
1999-03-18 16:08:57 +01:00
#define ANZ_OFFSETS 16
typedef enum {
NW_NNW, NNW_N, N_NNE, NNE_NE, NE_ENE, ENE_E, E_ESE, ESE_SE,
SE_SSE, SSE_S, S_SSW, SSW_SW, SW_WSW, WSW_W, W_WNW, WNW_NW
} soffset_t;
1999-03-18 16:08:57 +01:00
#define ANZ_SHAPES 16
typedef enum {
NW, NNW, N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, W, WNW
} shape_t;
1999-03-19 18:51:19 +01:00
#define SHAPES_PER_SIDE 5
#define ANZ_SIDES 4
#define ANZ_CORNERS 4
extern shape_t north_side[SHAPES_PER_SIDE]; /* groups of shapes, clockwise */
extern shape_t east_side[SHAPES_PER_SIDE];
extern shape_t south_side[SHAPES_PER_SIDE];
extern shape_t west_side[SHAPES_PER_SIDE];
extern shape_t corners[ANZ_CORNERS];
extern shape_t *sides[ANZ_SIDES];
1999-03-19 18:51:19 +01:00
#define BTOP 0 /* for use width sides */
#define BRIG 1
#define BBOT 2
#define BLEF 3
1999-03-18 16:08:57 +01:00
typedef struct {
char **chars;
size_t height;
size_t width;
int elastic; /* elastic is used only in orginial definition */
1999-03-18 16:08:57 +01:00
} sentry_t;
#define SENTRY_INITIALIZER (sentry_t) {NULL, 0, 0, 0}
1999-03-18 16:08:57 +01:00
typedef struct {
char *name;
char *author;
char *created;
char *revision;
char *revdate;
char *sample;
size_t minwidth;
size_t minheight;
1999-03-18 16:08:57 +01:00
sentry_t shape[ANZ_SHAPES];
int offset[ANZ_OFFSETS];
} design_t;
extern design_t *designs;
extern int design_idx;
extern int yylineno;
int isempty (const sentry_t *);
int yyerror (const char *, ...);
size_t widest (const sentry_t *, const int, ...);
size_t highest (const sentry_t *, const int, ...);
1999-03-18 16:08:57 +01:00
#endif /* BOXES_H */
/*EOF*/ /* vim: set cindent sw=4: */