/***************************************************************************** * MAND6.C - Color Window Data * Mandelbrot Self-Squared Dragon Generator * For the Commodore Amiga * Version 2.01 * * Copyright (C) 1986, =Robert J. Mical= * Placed in the Public Domain * * This program may be distributed free of charge as long as the above * notice is retained. You may extract any or all information contained * in this file for use in your own programs * ****************************************************************************/ #include "mand.h" /* === The Mandelbrot program definitions ================================= */ extern int MathBase, MathTransBase; extern struct GfxBase *GfxBase; extern struct IntuitionBase *IntuitionBase; extern struct RastPort *rp,*rp2; extern struct ViewPort *vp; extern struct Window *w,*w2, *ColorWindow; extern struct Screen *screen; extern struct IntuiMessage *message; extern long last_color; extern BOOL SettingCenter, SettingBoxSize; extern union kludge { float f; int i; } start_r,end_r,start_i,end_i; /* Block bounds for set */ extern int max_x,max_y,max_mem_y; /* Graphics window size */ extern int max_count,color_inc,color_offset,color_set,color_mode,color_div; extern int color_inset,func_num; extern int v_starty,max_mem; extern long v_offset; extern UWORD *color_table,*v_mand_store; extern int modified,want_read; extern FILE *console,*v_fp,*redir_fp; extern SHORT ZoomCenterX, ZoomCenterY, ZoomBoxSizeX, ZoomBoxSizeY; extern SHORT ZoomBoxStartX, ZoomBoxStartY; /***************************************************************************** * * Color window template initialization and routines, * for colorwindow and cyclewindow * * Throughout this file, the COLOR_RED and COLOR_GREEN gadgets are in the * opposite order you would expect. * ****************************************************************************/ struct TextAttr SafeFont = { "topaz.font", TOPAZ_EIGHTY, 0, 0, }; USHORT RGBData[] = { 0xFC00, 0x6600, 0x6600, 0x7C00, 0x6C00, 0x6600, 0xE300, 0x0000, 0x0000, 0x0000, 0x0000, 0x3C00, 0x6600, 0xC000, 0xCE00, 0xC600, 0x6600, 0x3E00, 0x0000, 0x0000, 0x0000, 0x0000, 0xFC00, 0x6600, 0x6600, 0x7C00, 0x6600, 0x6600, 0xFC00, }; struct Image ColorRGBImage = { 3, 1, 8, 29, 1, &RGBData[0], 0x1, 0x0, NULL, }; SHORT ClusterBorderVectors[] = { -1, -1, -1, COLOR_CLUSTER_HEIGHT, COLOR_CLUSTER_WIDTH, COLOR_CLUSTER_HEIGHT, COLOR_CLUSTER_WIDTH, -1, -1, -1, }; struct Border ColorClusterBorder = { 0, 0, 1, 0, JAM1, 5, &ClusterBorderVectors[0], NULL, }; struct IntuiText ColorClusterText[4] = { /* "COPY" */ { 1, 0, JAM2, 2 + CHARACTER_WIDTH, 1, &SafeFont, "COPY", NULL, }, /* "RANGE" */ { 1, 0, JAM2, 2 + (CHARACTER_WIDTH >> 1), 1, &SafeFont, "RANGE", NULL, }, /* "OK" */ { 1, 0, JAM2, 2 + (CHARACTER_WIDTH << 1), 1, &SafeFont, "OK", NULL, }, /* "CANCEL" */ { 1, 0, JAM2, 2, 1, &SafeFont, "CANCEL", NULL, }, }; /* ======================================================================== */ /* ======================================================================== */ /* ======================================================================== */ /* RJM anchor */ struct Image ColorPropsImages[3]; struct Image SuperColorImages[32]; struct PropInfo ColorPropsInfos[3] = { { /* COLOR_GREEN */ AUTOKNOB | FREEHORIZ, 0, 0, COLOR_KNOB_BODY, 0, 0, 0, 0, 0, 0, 0, }, { /* COLOR_RED */ AUTOKNOB | FREEHORIZ, 0, 0, COLOR_KNOB_BODY, 0, 0, 0, 0, 0, 0, 0, }, { /* COLOR_BLUE */ AUTOKNOB | FREEHORIZ, 0, 0, COLOR_KNOB_BODY, 0, 0, 0, 0, 0, 0, 0, }, }; struct Gadget ColorTemplateGadgets[COLOR_GADGETS_COUNT] = { { /* COLOR_00 */ NULL, COLOR_BOX_LEFT + ((00 & 0x7) * 15), COLOR_COLOR_TOP + ((00 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[00], NULL, NULL, NULL, NULL, 00, NULL, }, { /* COLOR_01 */ &ColorTemplateGadgets[00], COLOR_BOX_LEFT + ((01 & 0x7) * 15), COLOR_COLOR_TOP + ((01 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[01], NULL, NULL, NULL, NULL, 01, NULL, }, { /* COLOR_02 */ &ColorTemplateGadgets[01], COLOR_BOX_LEFT + ((02 & 0x7) * 15), COLOR_COLOR_TOP + ((02 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[02], NULL, NULL, NULL, NULL, 02, NULL, }, { /* COLOR_03 */ &ColorTemplateGadgets[02], COLOR_BOX_LEFT + ((03 & 0x7) * 15), COLOR_COLOR_TOP + ((03 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[03], NULL, NULL, NULL, NULL, 03, NULL, }, { /* COLOR_04 */ &ColorTemplateGadgets[03], COLOR_BOX_LEFT + ((04 & 0x7) * 15), COLOR_COLOR_TOP + ((04 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[04], NULL, NULL, NULL, NULL, 04, NULL, }, { /* COLOR_05 */ &ColorTemplateGadgets[04], COLOR_BOX_LEFT + ((05 & 0x7) * 15), COLOR_COLOR_TOP + ((05 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[05], NULL, NULL, NULL, NULL, 05, NULL, }, { /* COLOR_06 */ &ColorTemplateGadgets[05], COLOR_BOX_LEFT + ((06 & 0x7) * 15), COLOR_COLOR_TOP + ((06 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[06], NULL, NULL, NULL, NULL, 06, NULL, }, { /* COLOR_07 */ &ColorTemplateGadgets[06], COLOR_BOX_LEFT + ((07 & 0x7) * 15), COLOR_COLOR_TOP + ((07 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[07], NULL, NULL, NULL, NULL, 07, NULL, }, { /* COLOR_08 */ &ColorTemplateGadgets[07], COLOR_BOX_LEFT + ((08 & 0x7) * 15), COLOR_COLOR_TOP + ((08 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[08], NULL, NULL, NULL, NULL, 08, NULL, }, { /* COLOR_09 */ &ColorTemplateGadgets[08], COLOR_BOX_LEFT + ((09 & 0x7) * 15), COLOR_COLOR_TOP + ((09 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[09], NULL, NULL, NULL, NULL, 09, NULL, }, { /* COLOR_10 */ &ColorTemplateGadgets[09], COLOR_BOX_LEFT + ((10 & 0x7) * 15), COLOR_COLOR_TOP + ((10 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[10], NULL, NULL, NULL, NULL, 10, NULL, }, { /* COLOR_11 */ &ColorTemplateGadgets[10], COLOR_BOX_LEFT + ((11 & 0x7) * 15), COLOR_COLOR_TOP + ((11 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[11], NULL, NULL, NULL, NULL, 11, NULL, }, { /* COLOR_12 */ &ColorTemplateGadgets[11], COLOR_BOX_LEFT + ((12 & 0x7) * 15), COLOR_COLOR_TOP + ((12 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[12], NULL, NULL, NULL, NULL, 12, NULL, }, { /* COLOR_13 */ &ColorTemplateGadgets[12], COLOR_BOX_LEFT + ((13 & 0x7) * 15), COLOR_COLOR_TOP + ((13 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[13], NULL, NULL, NULL, NULL, 13, NULL, }, { /* COLOR_14 */ &ColorTemplateGadgets[13], COLOR_BOX_LEFT + ((14 & 0x7) * 15), COLOR_COLOR_TOP + ((14 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[14], NULL, NULL, NULL, NULL, 14, NULL, }, { /* COLOR_15 */ &ColorTemplateGadgets[14], COLOR_BOX_LEFT + ((15 & 0x7) * 15), COLOR_COLOR_TOP + ((15 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[15], NULL, NULL, NULL, NULL, 15, NULL, }, { /* COLOR_16 */ &ColorTemplateGadgets[15], COLOR_BOX_LEFT + ((16 & 0x7) * 15), COLOR_COLOR_TOP + ((16 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[16], NULL, NULL, NULL, NULL, 16, NULL, }, { /* COLOR_17 */ &ColorTemplateGadgets[16], COLOR_BOX_LEFT + ((17 & 0x7) * 15), COLOR_COLOR_TOP + ((17 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[17], NULL, NULL, NULL, NULL, 17, NULL, }, { /* COLOR_18 */ &ColorTemplateGadgets[17], COLOR_BOX_LEFT + ((18 & 0x7) * 15), COLOR_COLOR_TOP + ((18 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[18], NULL, NULL, NULL, NULL, 18, NULL, }, { /* COLOR_19 */ &ColorTemplateGadgets[18], COLOR_BOX_LEFT + ((19 & 0x7) * 15), COLOR_COLOR_TOP + ((19 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[19], NULL, NULL, NULL, NULL, 19, NULL, }, { /* COLOR_20 */ &ColorTemplateGadgets[19], COLOR_BOX_LEFT + ((20 & 0x7) * 15), COLOR_COLOR_TOP + ((20 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[20], NULL, NULL, NULL, NULL, 20, NULL, }, { /* COLOR_21 */ &ColorTemplateGadgets[20], COLOR_BOX_LEFT + ((21 & 0x7) * 15), COLOR_COLOR_TOP + ((21 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[21], NULL, NULL, NULL, NULL, 21, NULL, }, { /* COLOR_22 */ &ColorTemplateGadgets[21], COLOR_BOX_LEFT + ((22 & 0x7) * 15), COLOR_COLOR_TOP + ((22 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[22], NULL, NULL, NULL, NULL, 22, NULL, }, { /* COLOR_23 */ &ColorTemplateGadgets[22], COLOR_BOX_LEFT + ((23 & 0x7) * 15), COLOR_COLOR_TOP + ((23 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[23], NULL, NULL, NULL, NULL, 23, NULL, }, { /* COLOR_24 */ &ColorTemplateGadgets[23], COLOR_BOX_LEFT + ((24 & 0x7) * 15), COLOR_COLOR_TOP + ((24 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[24], NULL, NULL, NULL, NULL, 24, NULL, }, { /* COLOR_25 */ &ColorTemplateGadgets[24], COLOR_BOX_LEFT + ((25 & 0x7) * 15), COLOR_COLOR_TOP + ((25 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[25], NULL, NULL, NULL, NULL, 25, NULL, }, { /* COLOR_26 */ &ColorTemplateGadgets[25], COLOR_BOX_LEFT + ((26 & 0x7) * 15), COLOR_COLOR_TOP + ((26 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[26], NULL, NULL, NULL, NULL, 26, NULL, }, { /* COLOR_27 */ &ColorTemplateGadgets[26], COLOR_BOX_LEFT + ((27 & 0x7) * 15), COLOR_COLOR_TOP + ((27 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[27], NULL, NULL, NULL, NULL, 27, NULL, }, { /* COLOR_28 */ &ColorTemplateGadgets[27], COLOR_BOX_LEFT + ((28 & 0x7) * 15), COLOR_COLOR_TOP + ((28 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[28], NULL, NULL, NULL, NULL, 28, NULL, }, { /* COLOR_29 */ &ColorTemplateGadgets[28], COLOR_BOX_LEFT + ((29 & 0x7) * 15), COLOR_COLOR_TOP + ((29 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[29], NULL, NULL, NULL, NULL, 29, NULL, }, { /* COLOR_30 */ &ColorTemplateGadgets[29], COLOR_BOX_LEFT + ((30 & 0x7) * 15), COLOR_COLOR_TOP + ((30 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[30], NULL, NULL, NULL, NULL, 30, NULL, }, { /* COLOR_31 */ &ColorTemplateGadgets[30], COLOR_BOX_LEFT + ((31 & 0x7) * 15), COLOR_COLOR_TOP + ((31 >> 3) * 10), 15, 10, GADGIMAGE, GADGIMMEDIATE, BOOLGADGET, (APTR)&SuperColorImages[31], NULL, NULL, NULL, NULL, 31, NULL, }, { /* COLOR_COPY */ &ColorTemplateGadgets[31], COLOR_CLUSTER_LEFT, COLOR_CLUSTER_TOP + (00 * (COLOR_CLUSTER_HEIGHT + 3)), COLOR_CLUSTER_WIDTH, COLOR_CLUSTER_HEIGHT, GADGHCOMP, RELVERIFY, BOOLGADGET, (APTR)&ColorClusterBorder, NULL, &ColorClusterText[00], NULL, NULL, COLOR_COPY, NULL, }, { /* COLOR_RANGE */ &ColorTemplateGadgets[COLOR_COPY], COLOR_CLUSTER_LEFT, COLOR_CLUSTER_TOP + (01 * (COLOR_CLUSTER_HEIGHT + 3)), COLOR_CLUSTER_WIDTH, COLOR_CLUSTER_HEIGHT, GADGHCOMP, RELVERIFY, BOOLGADGET, (APTR)&ColorClusterBorder, NULL, &ColorClusterText[01], NULL, NULL, COLOR_RANGE, NULL, }, { /* COLOR_OK */ &ColorTemplateGadgets[COLOR_RANGE], COLOR_CLUSTER_LEFT, COLOR_CLUSTER_TOP + (02 * (COLOR_CLUSTER_HEIGHT + 3)), COLOR_CLUSTER_WIDTH, COLOR_CLUSTER_HEIGHT, GADGHCOMP, RELVERIFY, BOOLGADGET, (APTR)&ColorClusterBorder, NULL, &ColorClusterText[02], NULL, NULL, COLOR_OK, NULL, }, { /* COLOR_CANCEL */ &ColorTemplateGadgets[COLOR_OK], COLOR_CLUSTER_LEFT, COLOR_CLUSTER_TOP + (03 * (COLOR_CLUSTER_HEIGHT + 3)), COLOR_CLUSTER_WIDTH, COLOR_CLUSTER_HEIGHT, GADGHCOMP, RELVERIFY, BOOLGADGET, (APTR)&ColorClusterBorder, NULL, &ColorClusterText[03], NULL, NULL, COLOR_CANCEL, NULL, }, { /* COLOR_GREEN */ &ColorTemplateGadgets[COLOR_CANCEL], COLOR_PROP_LEFT, COLOR_PROP_TOP + (01 * (COLOR_PROP_HEIGHT + 1)), COLOR_PROP_WIDTH, COLOR_PROP_HEIGHT, GADGHCOMP | GADGIMAGE, FOLLOWMOUSE, PROPGADGET, (APTR)&ColorPropsImages[01], NULL, NULL, NULL, (APTR)&ColorPropsInfos[01], COLOR_GREEN, NULL, }, { /* COLOR_RED */ &ColorTemplateGadgets[COLOR_GREEN], COLOR_PROP_LEFT, COLOR_PROP_TOP + (00 * (COLOR_PROP_HEIGHT + 1)), COLOR_PROP_WIDTH, COLOR_PROP_HEIGHT, GADGHCOMP | GADGIMAGE, FOLLOWMOUSE, PROPGADGET, (APTR)&ColorPropsImages[00], NULL, NULL, NULL, (APTR)&ColorPropsInfos[00], COLOR_RED, NULL, }, { /* COLOR_BLUE */ &ColorTemplateGadgets[COLOR_RED], COLOR_PROP_LEFT, COLOR_PROP_TOP + (02 * (COLOR_PROP_HEIGHT + 1)), COLOR_PROP_WIDTH, COLOR_PROP_HEIGHT, GADGHCOMP | GADGIMAGE, FOLLOWMOUSE, PROPGADGET, (APTR)&ColorPropsImages[02], NULL, NULL, NULL, (APTR)&ColorPropsInfos[02], COLOR_BLUE, NULL, }, { /* COLOR_HSL_RGB */ &ColorTemplateGadgets[COLOR_BLUE], COLOR_HSL_LEFT, COLOR_HSL_TOP, CHARACTER_WIDTH + 5, COLOR_BOX_BOTTOM - COLOR_BOX_TOP + 1, GADGHIMAGE | GADGIMAGE | SELECTED, TOGGLESELECT, BOOLGADGET, (APTR)&ColorRGBImage, (APTR)&ColorRGBImage, NULL, NULL, NULL, COLOR_HSL_RGB, NULL, }, };