|
|
1.1 ! root 1: #define idsName 100 ! 2: #define idsXFrom 9001 ! 3: #define idsYFrom 9002 ! 4: #define idsXTo 9003 ! 5: #define idsYTo 9004 ! 6: #define idsSaveAs 9005 ! 7: #define idsIteration 9006 ! 8: ! 9: #define FIRST_PIXEL 429496796 ! 10: #define MAXDOUBLELEN 22 // big enough? ! 11: #define MAXPATHLEN 256 ! 12: ! 13: #define ID_XFROM 2000 ! 14: #define ID_XTO 2001 ! 15: #define ID_YFROM 2002 ! 16: #define ID_YTO 2003 ! 17: #define ID_SAVEAS 2004 ! 18: #define ID_ITERATION 2005 ! 19: ! 20: extern TCHAR szName[TITLEBARNAMELEN]; ! 21: extern TCHAR szAppName[APPNAMEBUFFERLEN]; ! 22: TCHAR szXFrom[MAXDOUBLELEN]; ! 23: TCHAR szXTo[MAXDOUBLELEN]; ! 24: TCHAR szYFrom[MAXDOUBLELEN]; ! 25: TCHAR szYTo[MAXDOUBLELEN]; ! 26: TCHAR szSaveFile[MAXPATHLEN]; ! 27: extern TCHAR szIniFile[MAXFILELEN]; ! 28: TCHAR szIteration[MAXDOUBLELEN]; ! 29: extern TCHAR szScreenSaver[22]; ! 30: extern TCHAR szHelpFile[MAXFILELEN]; ! 31: extern TCHAR szNoHelpMemory[BUFFLEN]; ! 32: extern UINT MyHelpMessage; ! 33: ! 34: CHAR gtext[128]; ! 35: HPEN hpnRed; ! 36: HPEN hpnBlack; ! 37: HPEN hpnGreen; ! 38: ! 39: ! 40: ! 41: INT giPen = 0; ! 42: ! 43: BOOL gFloat = TRUE; ! 44: LONG gStep = 1; ! 45: LONG gIteration = 500; ! 46: BOOL gbStretch = TRUE; ! 47: INT giStretchMode = COLORONCOLOR; ! 48: INT giDmOrient = DMORIENT_PORTRAIT; ! 49: INT giNPrinters = 0; ! 50: ! 51: typedef struct _PerWndInfo { ! 52: HWND hwnd; // hJulia or hView, the drawing surface ! 53: HANDLE hThrd; // handle to drawing thread or play thread ! 54: BOOL bDrawing; // curently drawing? ! 55: DWORD dwThreadId; // drawing thread or play thread ID ! 56: DWORD dwElapsed; // elapsed time for the drawing operation ! 57: double xFrom; // drawing range in floating points ! 58: double xTo; // ! 59: double yFrom; // Floating Points ! 60: double yTo; // ! 61: double c1; // C = c1 + i c2 where c1, c2 are reals ! 62: double c2; // the C value corresponding to the Julia set ! 63: LONG lxFrom; // drawing range in fix points ! 64: LONG lxTo; // ! 65: LONG lyFrom; // Fix Points ! 66: LONG lyTo; // ! 67: LONG lc1; // C = c1 + i c2 where c1, c2 are reals ! 68: LONG lc2; // the C value corresponding to the Julia set ! 69: HBITMAP hBmpSaved; // saved bitmap for the drawing ! 70: BOOL bMandel; // Drawing is a Mandelbrot or Julia set? ! 71: int iIteration; // number of computations done on each pixel ! 72: int iStep; // drawn on every one, two or three line(s)? ! 73: BOOL bStretch; // stretching bitmaps ! 74: int iStretchMode; // stretching mode to use ! 75: BOOL bSetDIBsToDevice; // SetDIBsToDevice reather than BitBlt? ! 76: HPALETTE hPal; // The palette used for the drawing ! 77: HPALETTE hHTPal; // The halftone palette used for the drawing ! 78: PVOID *prghPen; ! 79: INT iPen; ! 80: char szSavef[MAXPATHLEN]; ! 81: BOOL bClrCycle; ! 82: } INFO, *PINFO; ! 83: ! 84: INFO gInfo; ! 85: ! 86: ! 87: // ! 88: // Handy macros for the transformations used in fractal generations ! 89: // ! 90: #define Xform(Pt, SrcFrom, SrcTo, DestFrom, DestTo) \ ! 91: (((Pt-SrcFrom)/(SrcTo-SrcFrom)*(DestTo-DestFrom))+DestFrom) ! 92: #define Xform2(Pt, SrcFrom, SrcTo, DestFrom, DestTo) \ ! 93: ((int) ((Pt-SrcFrom)/(SrcTo-SrcFrom)*(DestTo-DestFrom)+DestFrom)) ! 94: #define XformFix(Pt, SrcFrom, SrcTo, DestFrom, DestTo) \ ! 95: (lMul(lDiv(Pt-SrcFrom,SrcTo-SrcFrom), DestTo-DestFrom)+DestFrom)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.