/*********************************************************************/ /* */ /* 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 */ };