1 /* This file was taken from XaoS-the fast portable realtime interactive 2 fractal zoomer. but it is simplified for BB. You may get complette 3 sources at XaoS homepage (http://www.paru.cas.cz/~hubicka/XaoS 4 */ 5 /* 6 * XaoS, a fast portable realtime fractal zoomer 7 * Copyright (C) 1996,1997 by 8 * 9 * Jan Hubicka (hubicka@paru.cas.cz) 10 * Thomas Marsh (tmarsh@austin.ibm.com) 11 * 12 * This program is free software; you can redistribute it and/or modify 13 * it under the terms of the GNU General Public License as published by 14 * the Free Software Foundation; either version 2 of the License, or 15 * (at your option) any later version. 16 * 17 * This program is distributed in the hope that it will be useful, 18 * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 * GNU General Public License for more details. 21 * 22 * You should have received a copy of the GNU General Public License 23 * along with this program; if not, write to the Free Software 24 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 25 */ 26 #ifndef FORMULAS_H 27 #define FORMULAS_H 28 29 #include "config.h" 30 31 #define INCOLORING 2 32 #define OUTCOLORING 7 33 #define MAX_LAMBDA 2 34 35 typedef struct { 36 number_t mc, nc; 37 number_t mi, ni; 38 } vinfo; 39 40 typedef struct { 41 number_t y0, k; 42 } symetry; 43 44 struct symetryinfo { 45 number_t xsym, ysym; 46 int nsymetries; 47 symetry *symetry; 48 }; 49 50 #define FORMULAMAGIC 1121 51 struct formula { 52 int magic; 53 int (*calculate) (number_t, number_t, number_t, number_t) REGISTERS(3); 54 char *name[2]; 55 vinfo v; 56 int mandelbrot; 57 number_t pre, pim; 58 struct symetryinfo out[OUTCOLORING]; 59 struct symetryinfo in[INCOLORING]; 60 int juliamode; 61 int startzero; 62 }; 63 64 extern struct formula formulas[]; 65 extern char *incolorname[]; 66 extern char *outcolorname[]; 67 extern CONST int nformulas; 68 extern int coloringmode; 69 extern int incoloringmode; 70 71 #endif /* FORMULAS_H */ 72