
/*********************************************************************/
/*                                                                   */
/*   Header file for Plot  Copyright AG Baxter 1988                  */
/*                                                                   */
/*********************************************************************/

#include "exec/types.h"
#include "graphics/display.h"
#include "libraries/dos.h"
#include "libraries/dosextens.h"
#include "libraries/diskfont.h"
#include "stdio.h"
#include "exec/exec.h"
#include "intuition/intuitionbase.h"
#include "graphics/gfxbase.h"
#include "graphics/regions.h"
#include "graphics/text.h"
#include "graphics/gels.h"
#include "devices/keymap.h"


#define INTUITION_REV 29
#define QUIT (0)
#define GO (1)
USHORT QuitFlag = GO;
USHORT x=1, y=2, e=0;
#define PLOT2D (0)
#define PLOT3D (1)
USHORT PlotType = PLOT2D;
#define ON (1)
#define OFF (0)
USHORT NET = ON;
USHORT AXES = ON;
USHORT TWOSIDES =ON;
#define INTRO (0)
#define AEGIS (1)
#define MCAD (2)
USHORT Form = INTRO;


#define DRAW
struct IntuitionBase *IntuitionBase;
struct DiskfontBase  *DiskfontBase;
struct GfxBase       *GfxBase;
struct DosBase       *DosBase;
struct Screen        *p_Screen;          /* pointer to screen */
struct Window        *p_Window;
struct Window        *p_EdWindow;
struct RastPort      *r;         /* pointer to BGround RastPort */
struct RastPort      *p;

UBYTE UNDOBUFFER[100];

USHORT chip WaitSprite[] ={
0x0000,0x0000,

0x0FE0,
0x0FE0,
0x3FF0,
0x3FF0,
0x7FF8,
0x7FF8,
0x7FFC,
0x71FC,
0xFFFC,
0xE7FC,
0xFFFE,
0xEFFE,
0xFFFE,
0xEFFE,
0xFFFE,
0xEFFE,
0xFFFE,
0xEFFE,
0x7FFC,
0x7FFC,
0x7FFC,
0x7FFC,
0x3FF8,
0x3FF8,
0x3FF0,
0x3FF0,
0x1FE0,
0x1FE0,
0x0FC0,
0x0FC0,
0x0780,
0x0780,
0x0000,
0x01E0,
0x0380,
0x0398,
0x0000,
0x0008,
0x0000,
0x0008,
0x0000,
0x0018,
0x0000,
0x0010,
0x0000,
0x0010,
0x0000,
0x0030,
0x0000,
0x0020,
0x0000,
0x0020,
0x0000,
0x0020,
0x0000,
0x0020,
0x0000,
0x0030,
0x0000,
0x0018,
0x0000,
0x0008,
0x0000,
0x0004,
0x0000,
0x0002,
0x0000,
0x0002,
0x0000,
0x0002,
0x0000,
0x0004,
0x0000,
0x0004,
0x0000,
0x0006,

0x0000,0x0000
};

struct TextAttr gfont = {
        "ruby.font",
        12,
        0,
        1
};


struct IntuiText MText1 = {
        3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
        19,0,   /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "mCAD", /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct MenuItem MenuItem3 = {
        NULL,   /* next MenuItem structure */
        0,18,   /* XY of Item hitbox relative to TopLeft of parent hitbox */
        123,8,  /* hit box width and height */
        CHECKIT+ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP,  /* Item flags */
        0xFFFB,      /* each bit mutually-excludes a same-level Item */
        (APTR)&MText1,  /* Item render  (IntuiText or Image or NULL) */
        NULL,   /* Select render */
        'm',    /* alternate command-key */
        NULL,   /* SubItem list */
        MENUNULL        /* filled in by Intuition for drag selections */
};

struct IntuiText MText2 = {
        3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
        19,0,   /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "IntroCAD",     /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct MenuItem MenuItem2 = {
        &MenuItem3,     /* next MenuItem structure */
        0,9,    /* XY of Item hitbox relative to TopLeft of parent hitbox */
        123,8,  /* hit box width and height */
        CHECKED+CHECKIT+ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP,  /* Item flags */
        0xFFFD,      /* each bit mutually-excludes a same-level Item */
        (APTR)&MText2,  /* Item render  (IntuiText or Image or NULL) */
        NULL,   /* Select render */
        'i',    /* alternate command-key */
        NULL,   /* SubItem list */
        MENUNULL        /* filled in by Intuition for drag selections */
};

struct IntuiText MText3 = {
        3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
        19,0,   /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Draw", /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct MenuItem MenuItem1 = {
        &MenuItem2,     /* next MenuItem structure */
        0,0,    /* XY of Item hitbox relative to TopLeft of parent hitbox */
        123,8,  /* hit box width and height */
        CHECKIT+ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP,  /* Item flags */
        0xFFFE,      /* each bit mutually-excludes a same-level Item */
        (APTR)&MText3,  /* Item render  (IntuiText or Image or NULL) */
        NULL,   /* Select render */
        'd',    /* alternate command-key */
        NULL,   /* SubItem list */
        MENUNULL        /* filled in by Intuition for drag selections */
};

struct Menu Menu3 = {
        NULL,   /* next Menu structure */
        137,0,  /* XY origin of Menu hit box relative to screen TopLeft */
        66,0,   /* Menu hit box width and height */
        MENUENABLED,    /* Menu flags */
        "Format",       /* text of Menu name */
        &MenuItem1      /* MenuItem linked list pointer */
};

struct IntuiText MText4 = {
        3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
        0,0,    /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Edit", /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct MenuItem MenuItem5 = {
        NULL,   /* next MenuItem structure */
        0,9,    /* XY of Item hitbox relative to TopLeft of parent hitbox */
        144,8,  /* hit box width and height */
        ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP,  /* Item flags */
        0,      /* each bit mutually-excludes a same-level Item */
        (APTR)&MText4,  /* Item render  (IntuiText or Image or NULL) */
        NULL,   /* Select render */
        'e',    /* alternate command-key */
        NULL,   /* SubItem list */
        MENUNULL        /* filled in by Intuition for drag selections */
};

struct IntuiText MText5 = {
        3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
        0,0,    /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Define Editor",        /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct MenuItem MenuItem4 = {
        &MenuItem5,     /* next MenuItem structure */
        0,0,    /* XY of Item hitbox relative to TopLeft of parent hitbox */
        144,8,  /* hit box width and height */
        ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP,  /* Item flags */
        0,      /* each bit mutually-excludes a same-level Item */
        (APTR)&MText5,  /* Item render  (IntuiText or Image or NULL) */
        NULL,   /* Select render */
        'c',    /* alternate command-key */
        NULL,   /* SubItem list */
        MENUNULL        /* filled in by Intuition for drag selections */
};

struct Menu Menu2 = {
        &Menu3, /* next Menu structure */
        82,0,   /* XY origin of Menu hit box relative to screen TopLeft */
        48,0,   /* Menu hit box width and height */
        MENUENABLED,    /* Menu flags */
        "Edit", /* text of Menu name */
        &MenuItem4      /* MenuItem linked list pointer */
};

struct IntuiText MText6 = {
        3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
        0,0,    /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Quit", /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct MenuItem MenuItem9 = {
        NULL,   /* next MenuItem structure */
        0,36,   /* XY of Item hitbox relative to TopLeft of parent hitbox */
        144,8,  /* hit box width and height */
        ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP,  /* Item flags */
        0,      /* each bit mutually-excludes a same-level Item */
        (APTR)&MText6,  /* Item render  (IntuiText or Image or NULL) */
        NULL,   /* Select render */
        'q',    /* alternate command-key */
        NULL,   /* SubItem list */
        MENUNULL        /* filled in by Intuition for drag selections */
};

struct IntuiText MText7 = {
        3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
        0,0,    /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "About",        /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct MenuItem MenuItem8 = {
        &MenuItem9,     /* next MenuItem structure */
        0,27,   /* XY of Item hitbox relative to TopLeft of parent hitbox */
        144,8,  /* hit box width and height */
        ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP,  /* Item flags */
        0,      /* each bit mutually-excludes a same-level Item */
        (APTR)&MText7,  /* Item render  (IntuiText or Image or NULL) */
        NULL,   /* Select render */
        'a',    /* alternate command-key */
        NULL,   /* SubItem list */
        MENUNULL        /* filled in by Intuition for drag selections */
};

struct IntuiText MText8 = {
        3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
        0,0,    /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Save Defaults",        /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct MenuItem MenuItem7 = {
        &MenuItem8,     /* next MenuItem structure */
        0,18,    /* XY of Item hitbox relative to TopLeft of parent hitbox */
        144,8,  /* hit box width and height */
        ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP,  /* Item flags */
        0,      /* each bit mutually-excludes a same-level Item */
        (APTR)&MText8,  /* Item render  (IntuiText or Image or NULL) */
        NULL,   /* Select render */
        's',    /* alternate command-key */
        NULL,   /* SubItem list */
        MENUNULL        /* filled in by Intuition for drag selections */
};
struct IntuiText MText8a = {
        3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
        0,0,    /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Load Defaults",        /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct MenuItem MenuItem7a = {
        &MenuItem7,     /* next MenuItem structure */
        0,9,    /* XY of Item hitbox relative to TopLeft of parent hitbox */
        144,8,  /* hit box width and height */
        ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP,  /* Item flags */
        0,      /* each bit mutually-excludes a same-level Item */
        (APTR)&MText8a,  /* Item render  (IntuiText or Image or NULL) */
        NULL,   /* Select render */
        'f',    /* alternate command-key */
        NULL,   /* SubItem list */
        MENUNULL        /* filled in by Intuition for drag selections */
};

struct IntuiText MText9 = {
        3,1,COMPLEMENT, /* front and back text pens, drawmode and fill byte */
        0,0,    /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Load", /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct MenuItem MenuItem6 = {
        &MenuItem7a,     /* next MenuItem structure */
        0,0,    /* XY of Item hitbox relative to TopLeft of parent hitbox */
        144,8,  /* hit box width and height */
        ITEMTEXT+COMMSEQ+ITEMENABLED+HIGHCOMP,  /* Item flags */
        0,      /* each bit mutually-excludes a same-level Item */
        (APTR)&MText9,  /* Item render  (IntuiText or Image or NULL) */
        NULL,   /* Select render */
        'l',    /* alternate command-key */
        NULL,   /* SubItem list */
        MENUNULL        /* filled in by Intuition for drag selections */
};

struct Menu Menu1 = {
        &Menu2, /* next Menu structure */
        0,0,    /* XY origin of Menu hit box relative to screen TopLeft */
        75,0,   /* Menu hit box width and height */
        MENUENABLED,    /* Menu flags */
        "Project",      /* text of Menu name */
        &MenuItem6      /* MenuItem linked list pointer */
};


SHORT BorderVectors10b[] = {
        0,0,
        19,0,
        19,10,
        0,10,
        0,0
};
struct Border Border10b = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors10b,        /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget Switch6 = {
        NULL,       /* next gadget */
        476,130,        /* origin XY of hit box relative to window TopLeft */
        16,9,   /* hit box width and height */
        NULL,    /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border10b,        /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

SHORT BorderVectors11b[] = {
        0,0,
        19,0,
        19,10,
        0,10,
        0,0
};
struct Border Border11b = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors11b,        /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget Switch5 = {
        &Switch6,       /* next gadget */
        476,110,        /* origin XY of hit box relative to window TopLeft */
        16,9,   /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border11b,        /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

SHORT BorderVectors12b[] = {
        0,0,
        19,0,
        19,10,
        0,10,
        0,0
};
struct Border Border12b = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors12b,        /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget Switch4 = {
        &Switch5,       /* next gadget */
        476,90,        /* origin XY of hit box relative to window TopLeft */
        16,9,   /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border12b,        /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};


SHORT BorderVectors14b[] = {
        0,0,
        19,0,
        19,10,
        0,10,
        0,0
};
struct Border Border14b = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors14b,        /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget Switch3 = {
        &Switch4,       /* next gadget */
        436,130,        /* origin XY of hit box relative to window TopLeft */
        16,9,   /* hit box width and height */
        NULL,    /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border14b,        /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

SHORT BorderVectors15b[] = {
        0,0,
        19,0,
        19,10,
        0,10,
        0,0
};
struct Border Border15b = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors15b,        /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget Switch2 = {
        &Switch3,       /* next gadget */
        436,110,        /* origin XY of hit box relative to window TopLeft */
        16,9,   /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border15b,        /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

SHORT BorderVectors16b[] = {
        0,0,
        19,0,
        19,10,
        0,10,
        0,0
};
struct Border Border16b = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors16b,        /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget Switch1 = {
        &Switch2,       /* next gadget */
        436,90,        /* origin XY of hit box relative to window TopLeft */
        16,9,   /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border16b,        /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};



SHORT BorderVectors6[] = {
        0,0,
        19,0,
        19,10,
        0,10,
        0,0
};
struct Border Border6 = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors6, /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget Button11 = {
        &Switch1,      /* next gadget */
        196,150,        /* origin XY of hit box relative to window TopLeft */
        16,9,   /* hit box width and height */
        GADGHBOX+GADGHIMAGE,    /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border6, /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

SHORT BorderVectors7[] = {
        0,0,
        19,0,
        19,10,
        0,10,
        0,0
};
struct Border Border7 = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors7, /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget Button10 = {
        &Button11,      /* next gadget */
        196,130,        /* origin XY of hit box relative to window TopLeft */
        16,9,   /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border7, /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

SHORT BorderVectors8[] = {
        0,0,
        19,0,
        19,10,
        0,10,
        0,0
};
struct Border Border8 = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors8, /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget Button9 = {
        &Button10,      /* next gadget */
        196,110,        /* origin XY of hit box relative to window TopLeft */
        16,9,   /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border8, /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

SHORT BorderVectors9[] = {
        0,0,
        19,0,
        19,10,
        0,10,
        0,0
};
struct Border Border9 = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors9, /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget Button8 = {
        &Button9,       /* next gadget */
        196,90,        /* origin XY of hit box relative to window TopLeft */
        16,9,   /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border9, /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

SHORT BorderVectors10[] = {
        0,0,
        19,0,
        19,10,
        0,10,
        0,0
};
struct Border Border10 = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors10,        /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget Button7 = {
        &Button8,       /* next gadget */
        156,150,        /* origin XY of hit box relative to window TopLeft */
        16,9,   /* hit box width and height */
        GADGHBOX+GADGHIMAGE,    /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border10,        /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

SHORT BorderVectors11[] = {
        0,0,
        19,0,
        19,10,
        0,10,
        0,0
};
struct Border Border11 = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors11,        /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget Button6 = {
        &Button7,       /* next gadget */
        156,130,        /* origin XY of hit box relative to window TopLeft */
        16,9,   /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border11,        /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

SHORT BorderVectors12[] = {
        0,0,
        19,0,
        19,10,
        0,10,
        0,0
};
struct Border Border12 = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors12,        /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget Button5 = {
        &Button6,       /* next gadget */
        156,110,        /* origin XY of hit box relative to window TopLeft */
        16,9,   /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border12,        /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

SHORT BorderVectors13[] = {
        0,0,
        19,0,
        19,10,
        0,10,
        0,0
};
struct Border Border13 = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors13,        /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget Button4 = {
        &Button5,       /* next gadget */
        156,90,        /* origin XY of hit box relative to window TopLeft */
        16,9,   /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border13,        /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

SHORT BorderVectors14[] = {
        0,0,
        19,0,
        19,10,
        0,10,
        0,0
};
struct Border Border14 = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors14,        /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget Button3 = {
        &Button4,       /* next gadget */
        116,150,        /* origin XY of hit box relative to window TopLeft */
        16,9,   /* hit box width and height */
        GADGHBOX+GADGHIMAGE,    /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border14,        /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

SHORT BorderVectors15[] = {
        0,0,
        19,0,
        19,10,
        0,10,
        0,0
};
struct Border Border15 = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors15,        /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget Button2 = {
        &Button3,       /* next gadget */
        116,130,        /* origin XY of hit box relative to window TopLeft */
        16,9,   /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border15,        /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

SHORT BorderVectors16[] = {
        0,0,
        19,0,
        19,10,
        0,10,
        0,0
};
struct Border Border16 = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors16,        /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget Button1 = {
        &Button2,       /* next gadget */
        116,110,        /* origin XY of hit box relative to window TopLeft */
        16,9,   /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border16,        /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

SHORT BorderVectors17[] = {
        0,0,
        19,0,
        19,10,
        0,10,
        0,0
};
struct Border Border17 = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors17,        /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget Button0 = {
        &Button1,       /* next gadget */
        116,90,        /* origin XY of hit box relative to window TopLeft */
        16,9,   /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border17,        /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

SHORT BorderVectors4[] = {
        0,0,
        176,0,
        176,26,
        0,26,
        0,0
};
struct Border Border4 = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors4, /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct IntuiText IText3 = {
        1,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        49,8,   /* XY origin relative to container TopLeft */
        &gfont,   /* font pointer or NULL for default */
        "3D PLOT",      /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct Gadget Plot3DButton = {
        &Button0,      /* next gadget */
        435,17, /* origin XY of hit box relative to window TopLeft */
        173,25, /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,      /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border4, /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        &IText3,        /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};



SHORT BorderVectors4a[] = {
        0,0,
        176,0,
        176,26,
        0,26,
        0,0
};
struct Border Border4a = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors4a, /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct IntuiText IText3a = {
        1,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        54,8,   /* XY origin relative to container TopLeft */
        &gfont,   /* font pointer or NULL for default */
        "EDIT",      /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct Gadget EditButton = {
        &Plot3DButton,      /* next gadget */
        235,17, /* origin XY of hit box relative to window TopLeft */
        173,25, /* hit box width and height */
        GADGHCOMP,   /* gadget flags */
        GADGIMMEDIATE,      /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border4a, /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        &IText3a,        /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};


SHORT BorderVectors5[] = {
        0,0,
        176,0,
        176,26,
        0,26,
        0,0
};
struct Border Border5 = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors5, /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct IntuiText IText4 = {
        1,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        49,8,   /* XY origin relative to container TopLeft */
        &gfont,   /* font pointer or NULL for default */
        "2D PLOT",      /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct Gadget Plot2DButton = {
        &EditButton,      /* next gadget */
        32,17,  /* origin XY of hit box relative to window TopLeft */
        173,25, /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,      /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border5, /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        &IText4,        /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};



SHORT BorderVectors1[] = {
        0,0,
        194,0,
        194,19,
        0,19,
        0,0
};
struct Border Border1 = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors1, /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct IntuiText IText1 = {
        1,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        48,5,   /* XY origin relative to container TopLeft */
        &gfont,   /* font pointer or NULL for default */
        "Start Plot",   /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct Gadget StartButton = {
        &Plot2DButton,   /* next gadget */
        191,177,        /* origin XY of hit box relative to window TopLeft */
        191,18, /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,      /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border1, /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        &IText1,        /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

UBYTE FileNameSIBuff[100]="PLOT:Data/FileName";
struct StringInfo FileNameSInfo = {
        FileNameSIBuff, /* buffer where text will be edited */
        UNDOBUFFER,     /* optional undo buffer */
        0,      /* character position in buffer */
        100,    /* maximum number of characters to allow */
        0,      /* first displayed character buffer position */
        0,0,0,0,0,      /* Intuition initialized and maintained variables */
        0,      /* Rastport of gadget */
        0,      /* initial value for integer gadgets */
        NULL    /* alternate keymap (fill in if you set the flag) */
};

SHORT BorderVectors3[] = {
        0,0,
        279,0,
        279,15,
        0,15,
        0,1
};
struct Border Border3 = {
        -2,-3,  /* XY origin relative to container TopLeft */
        3,0,COMPLEMENT, /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors3, /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget FileName = {
        &StartButton,      /* next gadget */
        198,50, /* origin XY of hit box relative to window TopLeft */
        276,12, /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE+STRINGCENTER,     /* activation flags */
        STRGADGET,      /* gadget type flags */
        (APTR)&Border3, /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        (APTR)&FileNameSInfo,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

SHORT BorderVectors2[] = {
        0,0,
        80,0,
        80,14,
        0,14,
        0,0
};
struct Border Border2 = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        BorderVectors2, /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct IntuiText IText2 = {
        1,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        17,2,   /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Path", /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct Gadget PathButton = {
        &FileName,      /* next gadget */
        98,48,  /* origin XY of hit box relative to window TopLeft */
        77,13,  /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,      /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&Border2, /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        &IText2,        /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

struct IntuiText IText12 = {
        1,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        25,150, /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Off",  /* pointer to text */
        NULL        /* next IntuiText structure */
};


struct IntuiText IText11 = {
        1,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        343,130, /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "UnderSide",     /* pointer to text */
        &IText12 /* next IntuiText structure */
};

struct IntuiText IText10 = {
        1,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        343,110, /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Axes",     /* pointer to text */
        &IText11 /* next IntuiText structure */
};

struct IntuiText IText9 = {
        1,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        343,90, /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "CrossNet",     /* pointer to text */
        &IText10 /* next IntuiText structure */
};



struct IntuiText IText8 = {
        1,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        23,130, /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Column 3",     /* pointer to text */
        &IText9 /* next IntuiText structure */
};

struct IntuiText IText7 = {
        1,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        23,110, /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Column 2",     /* pointer to text */
        &IText8 /* next IntuiText structure */
};

struct IntuiText IText6 = {
        1,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        23,90, /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Column 1",     /* pointer to text */
        &IText7 /* next IntuiText structure */
};


struct IntuiText IText5a = {
        1,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        438,72,        /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "ON   OFF",      /* pointer to text */
        &IText6 /* next IntuiText structure */
};

struct IntuiText IText5 = {
        1,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        118,72,        /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "X    Y    ERROR",      /* pointer to text */
        &IText5a /* next IntuiText structure */
};

#define IntuiTextList1 IText5

struct NewWindow Window = {
        0,0,    /* window XY origin relative to TopLeft of screen */
        640,200,        /* window width and height */
        1,2,    /* detail and block pens */
        MENUPICK|GADGETDOWN+CLOSEWINDOW+REFRESHWINDOW|RAWKEY,       /* IDCMP flags */
        ACTIVATE|WINDOWCLOSE|SMART_REFRESH|WINDOWSIZING|WINDOWDRAG,   /* other window flags */
        &PathButton,       /* first gadget in gadget list */
        NULL,   /* custom CHECKMARK imagery */
        "             << PLOT 1.2 >>              Data Analysis Environment                 ",   /* window title */
        NULL,   /* custom screen pointer */
        NULL,   /* custom bitmap */
        100,50,    /* minimum width and height */
        640,256,        /* maximum width and height */
        WBENCHSCREEN    /* destination screen type */
};


struct IntuiText FileCheckText1 = {
        0,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        55,17,   /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "File Does NOT Exist",      /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct IntuiText FileCheckText2 = {
        0,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        10,3,   /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        " OK  ",      /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct IntuiText FileCheckText3 = {
        0,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        10,3,   /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        " OK  ",      /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct IntuiText NewFileText1 = {
        0,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        55,17,   /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Open NEW File to Edit?",      /* pointer to text */
        NULL    /* next IntuiText structure */
};
struct IntuiText NewFileText2 = {
        0,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        10,3,   /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        " Yes  ",      /* pointer to text */
        NULL    /* next IntuiText structure */
};
struct IntuiText NewFileText3 = {
        0,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        10,3,   /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        " NO  ",      /* pointer to text */
        NULL    /* next IntuiText structure */
};



/**********        ADVERSITEMENT REQUESTER TEXT      ******************/


struct IntuiText AText5 = {
        2,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        76,28,  /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Plot     Plot2Draw", /* pointer to text */
        NULL /* next IntuiText structure */
};

struct IntuiText AText4 = {
        2,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        17,52,  /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Multiplot  ThreeDPlot  Text_2_Icad",    /* pointer to text */
        &AText5 /* next IntuiText structure */
};

struct IntuiText AText3 = {
        2,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        6,42,  /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "The following programs are © T Mooney",        /* pointer to text */
        &AText4 /* next IntuiText structure */
};

struct IntuiText AText2 = {
        2,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        6,18,  /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "The folowing programs are © AG Baxter",        /* pointer to text */
        &AText3 /* next IntuiText structure */
};

struct IntuiText AText1 = {
        2,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        113,6, /* XY origin relative to container TopLeft */
        &gfont,   /* font pointer or NULL for default */
        "PLOT 1.2",     /* pointer to text */
        &AText2 /* next IntuiText structure */
};

struct IntuiText AText6 = {
        2,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        6,3,  /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "OK",        /* pointer to text */
        NULL /* next IntuiText structure */
};


struct IntuiText A2Text7 = {
        2,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        15,68,  /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "AUSTRALIA",    /* pointer to text */
        NULL /* next IntuiText structure */
};

struct IntuiText A2Text6 = {
        2,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        15,58,  /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Post Office, Parkville 3053.",  /* pointer to text */
        &A2Text7 /* next IntuiText structure */
};

struct IntuiText A2Text5 = {
        2,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        15,48, /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Walter & Eliza Hall Institute,",        /* pointer to text */
        &A2Text6 /* next IntuiText structure */
};

struct IntuiText A2Text4 = {
        2,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        15,38, /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "AG Baxter,",    /* pointer to text */
        &A2Text5 /* next IntuiText structure */
};

struct IntuiText A2Text3 = {
        2,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        15,28,  /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Enquiries to:", /* pointer to text */
        &A2Text4 /* next IntuiText structure */
};

struct IntuiText A2Text2 = {
        2,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        15,14,  /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "sale or distribution for profit.",      /* pointer to text */
        &A2Text3 /* next IntuiText structure */
};

struct IntuiText A2Text1 = {
        2,1,JAM2,       /* front and back text pens, drawmode and fill byte */
        15,4, /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Distribution conditions forbid ",      /* pointer to text */
        &A2Text2 /* next IntuiText structure */
};


/********        DEFINE EDITOR WINDOW STRUCTURES         *********/

SHORT WBorderVectors1[] = {
        0,0,
        83,0,
        83,15,
        0,15,
        0,0
};
struct Border WBorder1 = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        WBorderVectors1, /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct IntuiText WText1 = {
        3,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        14,3,   /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "CANCEL",       /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct Gadget WGadget3 = {
        NULL,   /* next gadget */
        202,88, /* origin XY of hit box relative to window TopLeft */
        80,14,  /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&WBorder1, /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        &WText1,        /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

SHORT WBorderVectors2[] = {
        0,0,
        61,0,
        61,15,
        0,15,
        0,0
};
struct Border WBorder2 = {
        -2,-1,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        WBorderVectors2, /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct IntuiText WText2 = {
        3,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        17,3,   /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "USE",  /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct Gadget WGadget2 = {
        &WGadget3,       /* next gadget */
        30,88,  /* origin XY of hit box relative to window TopLeft */
        58,14,  /* hit box width and height */
        NULL,   /* gadget flags */
        GADGIMMEDIATE,  /* activation flags */
        BOOLGADGET,     /* gadget type flags */
        (APTR)&WBorder2, /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        &WText2,        /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        NULL,   /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};

UBYTE EdSIBuff[50];
struct StringInfo WGadget1SInfo = {
        EdSIBuff,  /* buffer where text will be edited */
        NULL,   /* optional undo buffer */
        0,      /* character position in buffer */
        50,     /* maximum number of characters to allow */
        0,      /* first displayed character buffer position */
        0,0,0,0,0,      /* Intuition initialized and maintained variables */
        0,      /* Rastport of gadget */
        0,      /* initial value for integer gadgets */
        NULL    /* alternate keymap (fill in if you set the flag) */
};

SHORT WBorderVectors3[] = {
        0,0,
        257,0,
        257,14,
        0,14,
        0,0
};
struct Border WBorder3 = {
        -2,-3,  /* XY origin relative to container TopLeft */
        3,0,JAM1,       /* front pen, back pen and drawmode */
        5,      /* number of XY vectors */
        WBorderVectors3, /* pointer to XY vectors */
        NULL    /* next border in list */
};

struct Gadget WGadget1 = {
        &WGadget2,       /* next gadget */
        32,57,  /* origin XY of hit box relative to window TopLeft */
        254,13, /* hit box width and height */
        NULL,       /* gadget flags */
        RELVERIFY+STRINGCENTER, /* activation flags */
        STRGADGET,      /* gadget type flags */
        (APTR)&WBorder3, /* gadget border or image to be rendered */
        NULL,   /* alternate imagery for selection */
        NULL,   /* first IntuiText structure */
        NULL,   /* gadget mutual-exclude long word */
        (APTR)&WGadget1SInfo,    /* SpecialInfo structure */
        NULL,   /* user-definable data */
        NULL    /* pointer to user-definable data */
};


struct IntuiText WText5 = {
        3,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        28,38,  /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "the c: directory.",    /* pointer to text */
        NULL    /* next IntuiText structure */
};

struct IntuiText WText4 = {
        3,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        29,25,  /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "including the filepath if not in ",    /* pointer to text */
        &WText5 /* next IntuiText structure */
};

struct IntuiText WText3 = {
        3,0,JAM2,       /* front and back text pens, drawmode and fill byte */
        29,14,  /* XY origin relative to container TopLeft */
        NULL,   /* font pointer or NULL for default */
        "Enter name of preferred editor",       /* pointer to text */
        &WText4 /* next IntuiText structure */
};


struct NewWindow EdWindow = {
        167,45, /* window XY origin relative to TopLeft of screen */
        316,121,        /* window width and height */
        1,2,    /* detail and block pens */
        GADGETDOWN,     /* IDCMP flags */
        ACTIVATE+WINDOWSIZING+WINDOWDRAG+WINDOWDEPTH,    /* other window flags */
        &WGadget1,       /* first gadget in gadget list */
        NULL,   /* custom CHECKMARK imagery */
        "           Define Editor            ", /* window title */
        NULL,   /* custom screen pointer */
        NULL,   /* custom bitmap */
        5,5,    /* minimum width and height */
        640,200,        /* maximum width and height */
        WBENCHSCREEN    /* destination screen type */
};



