/*---------------------------------------------------* | Constants for "ask window" dimensions and gadgets | *---------------------------------------------------*/ /** | Special return values, and general constants **/ #define CANCEL 0 #define QUIT -1 #define BLUE_PEN 0 #define WHITE_PEN 1 #define BLACK_PEN 2 #define RED_PEN 3 /** | Window constants **/ #define AW_LEFT 0 #define AW_TOP 0 #define AW_HEIGHT 85 #define AW_WIDTH 300 #define AW_IDCMP GADGETUP #define AW_FLAGS1 WINDOWDEPTH | WINDOWDRAG #define AW_FLAGS2 SMART_REFRESH | NOCAREREFRESH | ACTIVATE #define AW_FLAGS (AW_FLAGS1 | AW_FLAGS2) #define AW_TLEN 32 /** | Gadget constants **/ #define AW_YTITLE 25 #define AW_YCYCLE 50 #define AW_YCGAD 40 #define AW_XFORWARD 10 #define AW_XBACKWARD 266 #define AW_YNGAD 65 #define AW_XOK 27 #define AW_XQUIT 118 #define AW_XCAN 209 #define AW_WCGAD 24 #define AW_HCGAD 13 #define AW_WNGAD 64 #define AW_HNGAD 12 #define AW_NFLAGS GADGHCOMP #define AW_NACT GADGIMMEDIATE | RELVERIFY #define AW_CANCEL 1 #define AW_QUIT 2 #define AW_OK 3 #define AW_FORWARD 4 #define AW_BACKWARD 5 /** | Gadget and window global variables **/ static USHORT __chip backGdata[] = { 0xFFFF, 0xFF00, 0x8000, 0x0100, 0x83FF, 0xC100, 0x8600, 0x6100, 0x8C00, 0x3100, 0xBF00, 0x3100, 0x9E00, 0x3100, 0x8C00, 0x3100, 0x8000, 0x3100, 0x8600, 0x6100, 0x83FF, 0xC100, 0x8000, 0x0100, 0xFFFF, 0xFF00 }; static USHORT __chip forwGdata[] = { 0xFFFF, 0xFF00, 0x8000, 0x0100, 0x83FF, 0xC100, 0x8600, 0x6100, 0x8C00, 0x3100, 0x8C00, 0xFD00, 0x8C00, 0x7900, 0x8C00, 0x3100, 0x8C00, 0x0100, 0x8600, 0x6100, 0x83FF, 0xC100, 0x8000, 0x0100, 0xFFFF, 0xFF00 }; static struct Image backGimage = { 0, 0, AW_WCGAD, AW_HCGAD, 1, (USHORT *) &backGdata, 0x01, 0x00, NULL }; static struct Image forwGimage = { 0, 0, AW_WCGAD, AW_HCGAD, 1, (USHORT *) &forwGdata, 0x01, 0x00, NULL }; static struct Gadget backGadget = { NULL, AW_XBACKWARD, AW_YCGAD, AW_WCGAD, AW_HCGAD, GADGHCOMP | GADGIMAGE, RELVERIFY, BOOLGADGET, (APTR) &backGimage, NULL, NULL, NULL, NULL, AW_BACKWARD, NULL }; static struct Gadget forwGadget = { &backGadget, AW_XFORWARD, AW_YCGAD, AW_WCGAD, AW_HCGAD, GADGHCOMP | GADGIMAGE, RELVERIFY, BOOLGADGET, (APTR) &forwGimage, NULL, NULL, NULL, NULL, AW_FORWARD, NULL }; static SHORT NGbdata[] = { 0, 0, AW_WNGAD-1, 0, AW_WNGAD-1, AW_HNGAD-1, 0, AW_HNGAD-1, 0, 0 }; static struct Border NGborder = { 0, 0, RED_PEN, BLACK_PEN, JAM1, 5, NGbdata, NULL }; static struct IntuiText canText = { WHITE_PEN, BLACK_PEN, JAM2, 8, 2, NULL, (UBYTE *) "CANCEL", NULL }; static struct IntuiText quitText = { WHITE_PEN, BLACK_PEN, JAM2, 8, 2, NULL, (UBYTE *) " QUIT ", NULL }; static struct IntuiText okText = { WHITE_PEN, BLACK_PEN, JAM2, 8, 2, NULL, (UBYTE *) " OK ", NULL }; static struct Gadget askGad[] = { { &askGad[1], AW_XCAN, AW_YNGAD, AW_WNGAD, AW_HNGAD, AW_NFLAGS, AW_NACT, BOOLGADGET, (APTR) &NGborder, NULL, &canText, 0, NULL, AW_CANCEL, NULL }, { &askGad[2], AW_XQUIT, AW_YNGAD, AW_WNGAD, AW_HNGAD, AW_NFLAGS, AW_NACT, BOOLGADGET, (APTR) &NGborder, NULL, &quitText, 0, NULL, AW_QUIT, NULL }, { &forwGadget, AW_XOK, AW_YNGAD, AW_WNGAD, AW_HNGAD, AW_NFLAGS, AW_NACT, BOOLGADGET, (APTR) &NGborder, NULL, &okText, 0, NULL, AW_OK, NULL }, }; static char title[AW_TLEN] = ""; static struct NewWindow NWind = { AW_LEFT, AW_TOP, AW_WIDTH, AW_HEIGHT, BLUE_PEN, WHITE_PEN, AW_IDCMP, AW_FLAGS, askGad, NULL, (UBYTE *) title, NULL, NULL, AW_WIDTH, AW_HEIGHT, AW_WIDTH, AW_HEIGHT, WBENCHSCREEN }; static int realWidth, realHeight;