#ifndef HPPLOT_H
#define HPPLOT_H

/****************************************************************
 *																															*
 * Filename : HpPlot.h																					*
 *																															*
 ****************************************************************
 *																															*
 *	Comment : Allgemeine Definitionen für Plotten								*
 *						Diese Includedatei sollte bei HpPlot.c						*
 *						eingelesen werden.																*
 *																															*
 *						Es beinhaltet Definitionen für :									*
 *						 ->Gadget																					*
 *						 ->Graphik																				*
 *						 ->Verschiedene																		*
 *																															*
 *			Rev : V1.0																							*
 *																															*
 *	History : V1.0 erstellen dieses Files							01.06.89	*
 *																															*
 *			Doc :																										*
 *																															*
 *		 Bugs : keine bekannt																			*
 *																															*
 *		Autor : Oesch Silvano																			*
 *																															*
 *		Datum : 01.09.89																					*
 *																															*
 ****************************************************************/


/****************************************************************
 *																															*
 * externe Definitionen																					*
 *																															*
 ****************************************************************/

extern struct TextAttr TOPAZ80;			/* Textdarstellung					*/

/****************************************************************
 *																															*
 * allgemeine Definitionen																			*
 *																															*
 ****************************************************************/

#define HpX	110											/* Windowkoordinaten X			*/
#define HpY	25											/* Windowkoordinaten Y			*/
#define HpXh 300										/* Windowlänge							*/
#define HpYh 125										/* Windowbreite							*/

#define HRX	0												/* Requestkoordinaten X			*/
#define HRY	0												/* Requestkoordinaten Y			*/
#define HRXh 280										/* Requestlänge							*/
#define HRYh 50											/* Requestbreite						*/

#define hpxmax 10.5
#define hpymax 7.5
#define hpstep 1024
#define zoll 2.541
#define factor (int)(hpstep/zoll)

/****************************************************************
 *																															*
 *		Grenzen der Gadgetcounters und Startwerte									*
 *																															*
 ****************************************************************/

#define MINXRAND 0									/* X Rand 0-20							*/
#define XRAND 0											/* Startwert								*/
static char XRANDS[] = " 0";

#define MINYRAND 0									/* Y Rand 0-30							*/
#define YRAND 0											/* Startwert								*/
static char YRANDS[] = " 0";

#define MINBREITE 1									/* Mindestbreite						*/
#define BREITE 10										/* Startwert								*/
static char BREITES[] = "10";
#define MAXBREITE (int)(hpxmax*zoll)
																		/* hpxmax*zoll							*/

#define MINHOEHE 1									/* Mindesthoehe							*/
#define HOEHE 10										/* Startwert								*/
static char HOEHES[] = "10";
#define MAXHOEHE (int)(hpymax*zoll)
																		/* hpymax*zoll							*/


/****************************************************************
 *																															*
 *		Gadget Abbruchdefinition																	*
 *																															*
 ****************************************************************/

#define GHp2X 192										/* für Hardcopywindow				*/
#define GHp2Y 90
#define GHpRX 190										/* für Abbruchwindow				*/
#define GHpRY 28

/****************************************************************
 *																															*
 *		Gadget ID's																								*
 *																															*
 ****************************************************************/

#define GSI 2												/* Filename									*/
#define GXU 3												/* oberer Rand Up						*/
#define GXD 4												/* oberer Rand Down					*/
#define GYU 5												/* linker Rand Up						*/
#define GYD 6												/* linker Rand Down					*/
#define GBU 7												/* Breite Up								*/
#define GBD 8												/* Breite Down							*/
#define GHU 9												/* Höhe Up									*/
#define GHD 10											/* Höhe Down								*/
#define GP	11											/* Print										*/
#define GC	12											/* Cancel										*/
#define GR	13											/* Drehung									*/

extern USHORT chip Up[18];

extern USHORT chip Down[18];

/****************************************************************
 *																															*
 * Stringbuffer für Filename																		*
 *																															*
 ****************************************************************/

static UBYTE GHpSIB1[60] =
	"PAR:";

/****************************************************************
 *																															*
 * Stringinfostrukturen																					*
 *																															*
 ****************************************************************/

static struct StringInfo GHpSI1 =
{																		/* Filenamen Gadget					*/
	GHpSIB1,
	NULL,
	0,
	60,
	0,
	0,0,0,0,0,
	0,
	0,
	NULL
};

/****************************************************************
 *																															*
 *		BorderVectoren																						*
 *																															*
 ****************************************************************/

static SHORT BVHp0[] = 
{																		/* Filename BorderVectoren	*/
	0,0,
	51,0,
	51,10,
	0,10,
	0,0
};

static SHORT BVHp1[] =
{
	0,0,
	20,0,
	20,10,
	0,10,
	0,0
};

static SHORT BVHp2[] =
{
	0,0,
	80,0,
	80,15,
	0,15,
	0,0
};


/****************************************************************
 *																															*
 *		Border																										*
 *																															*
 ****************************************************************/

static struct Border BHp0 =
{																		/* Filename									*/
	-3,-2,
	3,0,JAM1,
	5,
	BVHp0,
	NULL
};

static struct Border BHp1 =
{																		/* Reverse									*/
	-1,-1,
	3,0,JAM1,
	5,
	BVHp1,
	NULL
};

static struct Border BHp2 =
{																		/* Print	+ Cancel					*/
	-1,-1,
	3,0,JAM1,
	5,
	BVHp2,
	NULL
};

static struct Border BHp3 =
{																		/* X												*/
	88,41,
	3,0,JAM1,
	5,
	BVHp1,
	NULL
};

static struct Border BHp5 =
{																		/* Y												*/
	150,41,
	3,0,JAM1,
	5,
	BVHp1,
	&BHp3
};

static struct Border BHp6 =
{																		/* Breite										*/
	88,89,
	3,0,JAM1,
	5,
	BVHp1,
	&BHp5
};

static struct Border BHp7 =
{																		/* Hoehe										*/
	150,89,
	3,0,JAM1,
	5,
	BVHp1,
	&BHp6
};

/****************************************************************
 *																															*
 *		Textdefinitionen																					*
 *																															*
 ****************************************************************/

static struct IntuiText ITHp10 =
{																		/* Request Text							*/
	3,0,JAM2,
	9,15,
	&TOPAZ80,
	"Bitte warten, Hardcopy in Arbeit",
	NULL
};

static struct IntuiText ITHp9 =
{																		/* Gadget - Text						*/
	3,0,JAM2,
	20,3,
	&TOPAZ80,
	"Plot",
	NULL
};

static struct IntuiText ITHp8 =
{																		/* Gadget - Text						*/
	3,0,JAM2,
	14,3,
	&TOPAZ80,
	"Abbruch",
	NULL
};

static struct IntuiText ITHp7 =
{																		/* Hoehe										*/
	3,0,JAM2,
	153,91,
	&TOPAZ80,
	HOEHES,
	NULL
};

static struct IntuiText ITHp6 =
{																		/* Breite										*/
	3,0,JAM2,
	91,91,
	&TOPAZ80,
	BREITES,
	&ITHp7
};

static struct IntuiText ITHp5 =
{																		/* Y												*/
	3,0,JAM2,
	153,43,
	&TOPAZ80,
	YRANDS,
	&ITHp6
};

static struct IntuiText ITHp4 =
{																		/* X												*/
	3,0,JAM2,
	91,43,
	&TOPAZ80,
	XRANDS,
	&ITHp5
};

static struct IntuiText ITHp2 =
{																		/* 2. Titel									*/
	3,0,JAM2,
	10,70,
	&TOPAZ80,
	"Drehung Breite  Höhe",
	&ITHp4
};

static struct IntuiText ITHp1 =
{																		/* 1. Titel									*/
	3,0,JAM2,
	14,19,
	&TOPAZ80,
	"File     X       Y",
	&ITHp2
};


/****************************************************************
 *																															*
 *		Image																											*
 *																															*
 ****************************************************************/

static struct Image IUpHp =
{
	0,0,16,9,
	2,
	Up,
	0x0003,0x0000,
	NULL
};

static struct Image IDownHp =
{
	0,0,
	16,9,
	2,
	Down,
	0x0003,0x0000,
	NULL
};

/****************************************************************
 *																															*
 *		Gadget																										*
 *																															*
 ****************************************************************/


static struct Gadget GHp13 =
{																		/* Hoehe Down								*/
	NULL,
	153,100,
	16,9,
	GADGIMAGE,
	RELVERIFY+GADGIMMEDIATE,
	BOOLGADGET,
	(APTR)&IDownHp,
	NULL,
	NULL,
	NULL,
	NULL,
	GHD,
	NULL
};

static struct Gadget GHp12 =
{																		/* Hoehe Up									*/
	&GHp13,
	153,80,
	16,9,
	GADGIMAGE,
	RELVERIFY+GADGIMMEDIATE,
	BOOLGADGET,
	(APTR)&IUpHp,
	NULL,
	NULL,
	NULL,
	NULL,
	GHU,
	NULL
};

static struct Gadget GHp11 =
{																		/* Breite Down							*/
	&GHp12,
	91,100,
	16,9,
	GADGIMAGE,
	RELVERIFY+GADGIMMEDIATE,
	BOOLGADGET,
	(APTR)&IDownHp,
	NULL,
	NULL,
	NULL,
	NULL,
	GBD,
	NULL
};

static struct Gadget GHp10 =
{																		/* Breite Up								*/
	&GHp11,
	91,80,
	16,9,
	GADGIMAGE,
	RELVERIFY+GADGIMMEDIATE,
	BOOLGADGET,
	(APTR)&IUpHp,
	NULL,
	NULL,
	NULL,
	NULL,
	GBU,
	NULL
};

static struct Gadget GHp9 =
{																		/* Y Down										*/
	&GHp10,
	153,52,
	16,9,
	GADGIMAGE,
	RELVERIFY+GADGIMMEDIATE,
	BOOLGADGET,
	(APTR)&IDownHp,
	NULL,
	NULL,
	NULL,
	NULL,
	GYD,
	NULL
};

static struct Gadget GHp8 =
{																		/* Y Up											*/
	&GHp9,
	153,32,
	16,9,
	GADGIMAGE,
	RELVERIFY+GADGIMMEDIATE,
	BOOLGADGET,
	(APTR)&IUpHp,
	NULL,
	NULL,
	NULL,
	NULL,
	GYU,
	NULL
};

static struct Gadget GHp7 =
{																		/* X Down										*/
	&GHp8,
	91,52,
	16,9,
	GADGIMAGE,
	RELVERIFY+GADGIMMEDIATE,
	BOOLGADGET,
	(APTR)&IDownHp,
	NULL,
	NULL,
	NULL,
	NULL,
	GXD,
	NULL
};

static struct Gadget GHp6 =
{																		/* X Up											*/
	&GHp7,
	91,32,
	16,9,
	GADGIMAGE,
	RELVERIFY+GADGIMMEDIATE,
	BOOLGADGET,
	(APTR)&IUpHp,
	NULL,
	NULL,
	NULL,
	NULL,
	GXU,
	NULL
};

static struct Gadget GHp5 =
{																		/* File Name								*/
	&GHp6,
	17,43,
	50,10,
	NULL,
	RELVERIFY+GADGIMMEDIATE,
	STRGADGET,
	(APTR)&BHp0,
	NULL,
	NULL,
	NULL,
	(APTR)&GHpSI1,
	GSI,
	NULL
};

static struct Gadget GHp3 =
{																		/* Drehung Gadget						*/
	&GHp5,
	30,90,
	19,9,
	0,
	RELVERIFY+TOGGLESELECT,
	BOOLGADGET,
	(APTR)&BHp1,
	NULL,
	NULL,
	NULL,
	NULL,
	GR,
	NULL
};

static struct Gadget GHp2 =
{																		/* Cancel Gadget						*/
	&GHp3,
	GHp2X,GHp2Y,
	81,14,
	NULL,
	RELVERIFY,
	BOOLGADGET,
	(APTR)&BHp2,
	NULL,
	&ITHp8,
	NULL,
	NULL,
	GC,
	NULL
};

static struct Gadget GHp1 =
{																		/* Print Gadget							*/
	&GHp2,
	193,42,
	81,14,
	NULL,
	RELVERIFY,
	BOOLGADGET,
	(APTR)&BHp2,
	NULL,
	&ITHp9,
	NULL,
	NULL,
	GP,
	NULL
};

/****************************************************************
 *																															*
 *		Windowdefinitionen																				*
 *																															*
 ****************************************************************/

static struct NewWindow HPW =
{																		/* Hardcopy Window					*/
	HpX,HpY,
	HpXh,HpYh,
	0,1,
	GADGETUP,
	WINDOWDRAG+ACTIVATE+NOCAREREFRESH,
	&GHp1,
	NULL,
	"Plot",
	NULL,
	NULL,
	5,5,
	-1,-1,
	WBENCHSCREEN
};

#endif HPPLOT_H
