/****************************************
 *************   consts.h   *************
 ****************************************/

/*** Defined constants ********************************************************/

/* The main version string */

#define VERSION_STRING		"$VER: StickIt ©1993,1994 Andy Dean v2.00"
#define VERSION_STRING2		"Author's address:\n\
 Electronic Engineering Dept.\n University College London\n Torrington Place\n\
 London\n ENGLAND\n WC1E 7JE\n Email:adean@eleceng.ucl.ac.uk\n\n\
This software is \"PostCard-ware\" - \nif you like and use the program, \n\
send me a PostCard. Thanks!"

/* Which version of the operating system do we require ? */

#define OS_VER			37

/* Maximum number of notes */

#define NO_NOTES		100

/* Preferences defaults */

#define DEFAULT_BACKCOLOUR	2
#define DEFAULT_TEXTCOLOUR	1
#define DEFAULT_CARATCOLOUR	3

#define DEFAULT_NOTEFILE	"StickIt2.notes"

#define DEFAULT_CXPRIORITY	0
#define DEFAULT_CXPOPUP		TRUE
#define DEFAULT_CXPOPKEY	"lalt lshift s"

#define DEFAULT_PUBSCREEN	"Workbench"

#define DEFAULT_CLIPUNIT	0

#define DEFAULT_DELAY		0

#define DEFAULT_EMPTYQUIT	FALSE
#define DEFAULT_HIDEWARN	TRUE

/* Note defaults */

#define DEFAULT_LEFTEDGE	12
#define DEFAULT_TOPEDGE		24
#define DEFAULT_NOTEHEIGHT	55
#define DEFAULT_NOTEWIDTH	100
#define DEFAULT_FONTSIZE	12

#define DEFAULT_MINWIDTH	40
#define DEFAULT_MINHEIGHT	20
#define DEFAULT_MAXWIDTH	640
#define DEFAULT_MAXHEIGHT	480

/* String lengths */

#define STRLEN_NOTETEXT		4096
#define STRLEN_NOTETITLE	128
#define STRLEN_FNAME		256
#define STRLEN_FONTNAME		128
#define STRLEN_ERRMSG		256
#define STRLEN_FONTSTYLES	10
#define STRLEN_PUBSCREEN	128
#define STRLEN_CXPOPKEY		128

/* No of pixels between each line of text */

#define NO_INTERLINE_PIXELS	2

/* Carat width */

#define CARAT_WIDTH		2

/* Constants for working out the carat position after movement */

#define PTRCHANGE_CLICK		1
#define PTRCHANGE_CURSOR	0

/* Buffer size for rawkey events */

#define SIZE_RAWKEYBUFFER	10	/* plenty big enough */

/* If there are no free notes available */

#define NO_FREE_NOTES		-1

/* Can't find note pointer in prj->notes[] */

#define NOT_IN_ARRAY		-1

/* Linked list node type */

#define NT_STICKIT2		100

/* Make sure the linked list is ordered properly */

#define MAXPRI			127

/* Colour types for the commodities cycle gadget */

#define COLOUR_BACKGROUND	0
#define COLOUR_TEXT		1
#define COLOUR_CARAT		2

/*** Enumerated types *********************************************************/

typedef enum {
	ERR_WARNING,
	ERR_OPENNOTE,
	ERR_NOTEFILEOPEN,
	ERR_FATAL,		/* Fatal error */
	ERR_MALLOC
}error_e;

#ifdef TRUE
#undef TRUE
#endif

#ifdef FALSE
#undef FALSE
#endif

typedef enum {
	FALSE,
	TRUE
}bool_e;
