|
|
1.1 ! root 1: /** mdraw.h - mdraw include file ! 2: * R. A. Garmoe 87/02/05 ! 3: */ ! 4: ! 5: ! 6: #define MOUSE /* compile mouse support */ ! 7: ! 8: #define FALSE 0 ! 9: #define TRUE ~FALSE ! 10: ! 11: #define UP 72 /* up arrow scan code */ ! 12: #define DOWN 80 /* down arrow scan code */ ! 13: #define RIGHT 77 /* right arrow scan code */ ! 14: #define LEFT 75 /* left arrow scan code */ ! 15: ! 16: ! 17: #define RESTORE_MODE 0 /* request for notification to restore mode */ ! 18: #define RESERVED 0 /* reserved word */ ! 19: #define REDRAW 1 /* request for notification to redraw */ ! 20: #define BLOCK 1 /* wait until screen I/O is available */ ! 21: #define STACKSIZE 2048 /* size of stack to allocate for threads */ ! 22: #define GIVEUPOWNER 1 /* owner indicator */ ! 23: #define KILLTHREAD 1 /* kill indicator */ ! 24: ! 25: #define MAXREAL 2000 /* maximum number of real coordinates */ ! 26: #define MAXLOOP 1000 /* maximum number of iterations */ ! 27: #define BUFFER 4096 /* number of ints to read at one time */ ! 28: ! 29: #define SCANTIME 20 /* scan time in milliseconds */ ! 30: #define RIPPLE_UP 0 /* ripple palette registers up */ ! 31: #define RIPPLE_DN 1 /* ripple palette registers down */ ! 32: ! 33: #define PAGESIZE 0x8000 /* size of display page in EGA memory */ ! 34: #define BLACK 0x00 /* EGA black value */ ! 35: #define BLUE 0x01 /* EGA blue value */ ! 36: #define GREEN 0x02 /* EGA green value */ ! 37: #define CYAN 0x03 /* EGA cyan value */ ! 38: #define RED 0x04 /* EGA red value */ ! 39: #define MAGENTA 0x05 /* EGA magenta value */ ! 40: #define BROWN 0x06 /* EGA brown value */ ! 41: #define WHITE 0x07 /* EGA white value */ ! 42: #define DGRAY 0x08 /* EGA dark gray value */ ! 43: #define LBLUE 0x09 /* EGA light blue */ ! 44: #define LGREEN 0x0a /* EGA light green */ ! 45: #define LCYAN 0x0b /* EGA light cyan value */ ! 46: #define LRED 0x0c /* EGA light red value */ ! 47: #define LMAGENTA 0x0d /* EGA light magenta value */ ! 48: #define YELLOW 0x0e /* EGA yellow value */ ! 49: #define IWHITE 0x0f /* EGA intense white value */ ! 50: ! 51: struct cmplx { ! 52: double realp; /* real part of number */ ! 53: double imagp; /* imaginary part of number */ ! 54: }; ! 55: ! 56: ! 57: /** This structure forms a linked list of pointers to image descriptors. ! 58: * The image descriptor is stored in allocated segments so that ! 59: * DS is not filled up with the image descriptor. ! 60: */ ! 61: ! 62: ! 63: struct ilist { ! 64: struct ilist *next; /* pointer to next ilist */ ! 65: struct ilist *prev; /* pointer to previous ilist */ ! 66: struct image far *desc; /* pointer to segement containing image data */ ! 67: }; ! 68: ! 69: ! 70: /** This structure which is stored in a allocated far segment contains ! 71: * the data that describes the image. This is basically the data ! 72: * stored in the header of the .cnt file. ! 73: */ ! 74: ! 75: ! 76: struct image { ! 77: unsigned savesel[2]; /* selectors for screen saves */ ! 78: struct cmplx ul; /* coordinates of upper left corner */ ! 79: struct cmplx lr; /* coordinates of lower right corner */ ! 80: int nimag; /* number of imaginary coordinates */ ! 81: int lni; ! 82: int lnr; ! 83: int mloop; /* maximum loop count */ ! 84: int nreal; /* number of real coordinates */ ! 85: ! 86: double rinc; /* increment in real coordinate */ ! 87: double iinc; /* increment in imaginary coordinate */ ! 88: double aspect; /* aspect ratio */ ! 89: char cmap[MAXLOOP + 1]; /* mapping from iteration counter to color */ ! 90: long hist[MAXLOOP + 1]; /* histogram counters */ ! 91: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.