home *** CD-ROM | disk | FTP | other *** search
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\
- * |_o_o|\\ Copyright (c) 1987 The Software Distillery. All Rights Reserved *
- * |. o.| || Written by Doug Walker *
- * | . | || The Software Distillery *
- * | o | || 235 Trillingham Lane *
- * | . |// Cary, NC 27511 *
- * ====== BBS:(919)-471-6436 *
- \* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
- #include <exec/types.h>
- #include <intuition/intuition.h>
- #include "hackicon.h"
-
-
-
- struct Image colimage[CTSIZ] = { /* Imagery for color selection gadgets */
- {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,0,NULL },
- {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,1,NULL },
- {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,2,NULL },
- {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,3,NULL },
- {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,4,NULL },
- {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,5,NULL },
- {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,6,NULL },
- {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,7,NULL },
- {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,8,NULL },
- {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,9,NULL },
- {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,10,NULL},
- {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,11,NULL},
- {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,12,NULL},
- {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,13,NULL},
- {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,14,NULL},
- {0,0,PLXWIDTH,PLYHEIGHT,1, NULL ,0,15,NULL}
- };
-
- struct Gadget colgads[16] = {
- { &colgads[1], PLXLEFT, PLYTOP, PLXWIDTH, PLYHEIGHT,
- GADGHBOX | GADGIMAGE, RELVERIFY,
- BOOLGADGET, (APTR)&colimage[0], NULL,NULL,NULL,NULL, 0, NULL
- },
- { &colgads[2], PLXLEFT,PLYTOP+PLYHEIGHT, PLXWIDTH, PLYHEIGHT,
- GADGHBOX | GADGIMAGE, RELVERIFY,
- BOOLGADGET, (APTR)&colimage[1], NULL,NULL,NULL,NULL, 1, NULL
- },
- { &colgads[3], PLXLEFT,PLYTOP+PLYHEIGHT*2, PLXWIDTH, PLYHEIGHT,
- GADGHBOX | GADGIMAGE, RELVERIFY,
- BOOLGADGET, (APTR)&colimage[2], NULL,NULL,NULL,NULL, 2, NULL
- },
- { &colgads[4], PLXLEFT,PLYTOP+PLYHEIGHT*3, PLXWIDTH, PLYHEIGHT,
- GADGHBOX | GADGIMAGE, RELVERIFY,
- BOOLGADGET, (APTR)&colimage[3], NULL,NULL,NULL,NULL, 3, NULL
- },
- { &colgads[5], PLXLEFT,PLYTOP+PLYHEIGHT*4, PLXWIDTH, PLYHEIGHT,
- GADGHBOX | GADGIMAGE, RELVERIFY,
- BOOLGADGET, (APTR)&colimage[4], NULL,NULL,NULL,NULL, 4, NULL
- },
- { &colgads[6], PLXLEFT,PLYTOP+PLYHEIGHT*5, PLXWIDTH, PLYHEIGHT,
- GADGHBOX | GADGIMAGE, RELVERIFY,
- BOOLGADGET, (APTR)&colimage[5], NULL,NULL,NULL,NULL, 5, NULL
- },
- { &colgads[7], PLXLEFT,PLYTOP+PLYHEIGHT*6, PLXWIDTH, PLYHEIGHT,
- GADGHBOX | GADGIMAGE, RELVERIFY,
- BOOLGADGET, (APTR)&colimage[6], NULL,NULL,NULL,NULL, 6, NULL
- },
- { NULL, PLXLEFT, PLYTOP+PLYHEIGHT*7, PLXWIDTH, PLYHEIGHT,
- GADGHBOX | GADGIMAGE, RELVERIFY,
- BOOLGADGET, (APTR)&colimage[7], NULL,NULL,NULL,NULL, 7, NULL
- },
- /*
- * The following are defined in case the user selects 16-color mode.
- * If so, simply set colgads[7].NextGadget = &colgads[8] and all will be well.
- */
- { &colgads[9], PLXLEFT+PLXWIDTH+5,PLYTOP, PLXWIDTH, PLYHEIGHT,
- GADGHBOX | GADGIMAGE, RELVERIFY,
- BOOLGADGET, (APTR)&colimage[8], NULL,NULL,NULL,NULL, 8, NULL
- },
- { &colgads[10],PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT, PLXWIDTH, PLYHEIGHT,
- GADGHBOX | GADGIMAGE, RELVERIFY,
- BOOLGADGET, (APTR)&colimage[9], NULL,NULL,NULL,NULL, 9, NULL
- },
- { &colgads[11],PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT*2, PLXWIDTH, PLYHEIGHT,
- GADGHBOX | GADGIMAGE, RELVERIFY,
- BOOLGADGET, (APTR)&colimage[10], NULL,NULL,NULL,NULL, 10, NULL
- },
- { &colgads[12],PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT*3, PLXWIDTH, PLYHEIGHT,
- GADGHBOX | GADGIMAGE, RELVERIFY,
- BOOLGADGET, (APTR)&colimage[11], NULL,NULL,NULL,NULL, 11, NULL
- },
- { &colgads[13],PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT*4, PLXWIDTH, PLYHEIGHT,
- GADGHBOX | GADGIMAGE, RELVERIFY,
- BOOLGADGET, (APTR)&colimage[12], NULL,NULL,NULL,NULL, 12, NULL
- },
- { &colgads[14],PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT*5, PLXWIDTH, PLYHEIGHT,
- GADGHBOX | GADGIMAGE, RELVERIFY,
- BOOLGADGET, (APTR)&colimage[13], NULL,NULL,NULL,NULL, 13, NULL
- },
- { &colgads[15],PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT*6,PLXWIDTH, PLYHEIGHT,
- GADGHBOX | GADGIMAGE, RELVERIFY,
- BOOLGADGET, (APTR)&colimage[14], NULL,NULL,NULL,NULL, 14, NULL
- },
- { NULL ,PLXLEFT+PLXWIDTH+5,PLYTOP+PLYHEIGHT*7,PLXWIDTH, PLYHEIGHT-2,
- GADGHBOX | GADGIMAGE, RELVERIFY,
- BOOLGADGET, (APTR)&colimage[15], NULL,NULL,NULL,NULL, 15, NULL
- },
- };
-
- struct IntuiText rtxt = {2,2,JAM1,-9,2,NULL,(UBYTE *)"R",NULL};
- struct IntuiText gtxt = {2,2,JAM1,-9,2,NULL,(UBYTE *)"G",NULL};
- struct IntuiText btxt = {2,2,JAM1,-9,2,NULL,(UBYTE *)"B",NULL};
-
- struct Image r_img, g_img, b_img;
- struct PropInfo r_prop,g_prop,b_prop;
-
- struct Gadget blue_gad = {
- colgads, 12, EDYTOP+34, PLXLEFT-16, 11, GADGHCOMP,
- RELVERIFY|GADGIMMEDIATE|FOLLOWMOUSE, PROPGADGET,(APTR)&b_img, NULL,
- &btxt, NULL,(APTR)&b_prop, G_BLUE, NULL };
-
- struct Gadget green_gad = {
- &blue_gad, 12,EDYTOP+22, PLXLEFT-16,11, GADGHCOMP,
- RELVERIFY|GADGIMMEDIATE | FOLLOWMOUSE, PROPGADGET,(APTR)&g_img, NULL,
- >xt, NULL,(APTR)&g_prop, G_GREEN, NULL };
-
- struct Gadget red_gad = {
- &green_gad, 12, EDYTOP+10, PLXLEFT-16,11, GADGHCOMP,
- RELVERIFY|GADGIMMEDIATE | FOLLOWMOUSE, PROPGADGET,(APTR)&r_img, NULL,
- &rtxt, NULL,(APTR)&r_prop, G_RED, NULL };
-
- struct IntuiText Load_text = {0,2,JAM1,3,20,NULL,
- (UBYTE *)"Enter a file name to load:",NULL};
- struct IntuiText Save_text = {0,2,JAM1,3,20,NULL,
- (UBYTE *)"Enter a file name to save:",NULL};
- struct IntuiText ok_text = {0,2,JAM1,22,2,NULL,(UBYTE *)"OK",NULL};
- struct IntuiText cancel_text = {0,2,JAM1,6,2,NULL,(UBYTE *)"Cancel",NULL};
-
- char TextBuffer[100] = "characters";
- struct StringInfo Req_Info= {
- TextBuffer, NULL, 0, 100, 0, 0, 0, 0, 0, 0, NULL, 0L, NULL
- };
-
- struct Gadget Req_gads[] = {
- { &Req_gads[1], 10, 40, 200, 10, GADGHCOMP, 0,
- STRGADGET|REQGADGET, NULL, NULL, NULL, 0L, &Req_Info, G_RSTR, NULL
- },
- { &Req_gads[2], 10, 60, 60, 10, GADGHCOMP, RELVERIFY|ENDGADGET,
- BOOLGADGET|REQGADGET, NULL, NULL, &ok_text, 0L, NULL, G_ROK, NULL
- },
- { NULL, 150, 60, 60, 10, GADGHCOMP, RELVERIFY|ENDGADGET,
- BOOLGADGET|REQGADGET, NULL, NULL, &cancel_text, 0L, NULL, G_RCANCEL, NULL
- },
- };
-
- SHORT ReqBordData[] =
- {
- -2, -2, 62, -2, 62, 11, -2, 11, -2, -2,
- -3, -2, 202, -2, 202, 9, -3, 9, -3, -2,
- 2, 2, 218, 2, 218, 88, 2, 88, 2, 2
- };
-
- struct Border Req_Bords[] = {
- { 10, 60, 0, 2, JAM1, 5, ReqBordData, &Req_Bords[1] },
- { 150, 60, 0, 2, JAM1, 5, ReqBordData, &Req_Bords[2] },
- { 10, 40, 0, 2, JAM1, 5, &ReqBordData[10], &Req_Bords[3] },
- { 0, 0, 0, 2, JAM1, 5, &ReqBordData[20], NULL },
-
- };
-
- struct Requester NameRequester;
-
- SHORT BorderData[] =
- {
- 0, 0, EDWIDTH+3, 0, EDWIDTH+3, EDHEIGHT+3, 0, EDHEIGHT+3, 0, 0,
- 0, 0, PLXWIDTH+3, 0, PLXWIDTH+3, 8*PLYHEIGHT+3, 0, 8*PLYHEIGHT+3, 0, 0,
- 0, 0, PLXWIDTH+1, 0, PLXWIDTH+1, PLYHEIGHT+1, 0, PLYHEIGHT+1, 0, 0,
- };
-
- struct Border Borders[] = {
- { EDXLEFT-2, EDYTOP-2, 1, 0, JAM1, 5, BorderData, &Borders[1] },
- { PLXLEFT-2, PLYTOP-2, 1, 0, JAM1, 5, &BorderData[10], NULL },
- { PLXLEFT-1, PLYTOP-1, 1, 0, JAM1, 5, &BorderData[20], NULL },
- };
-
-