|
|
1.1 ! root 1: /* ! 2: * Header file for LINEFRAC ! 3: * Created by Microsoft Corp., 1988 ! 4: */ ! 5: ! 6: /**********************************************************************\ ! 7: * Resource Ids ! 8: \**********************************************************************/ ! 9: ! 10: #define ID_LINEFRACTAL 1 ! 11: #define IDD_ABOUT 2 ! 12: #define IDD_LINEFRAC 3 ! 13: ! 14: ! 15: ! 16: ! 17: /**********************************************************************\ ! 18: * IDD - ID for Dialog item ! 19: * IDM - ID for Menu commands ! 20: * IDS - ID for String table ! 21: * IDT - ID for Timers ! 22: \**********************************************************************/ ! 23: ! 24: #define IDNULL -1 ! 25: ! 26: #define IDDOK 0x001 ! 27: #define IDDCANCEL 0x002 ! 28: #define IDDCOLORBK 0x010 ! 29: #define IDDCOLOR 0x020 ! 30: #define IDDSTYLE 0x030 ! 31: #define IDDMIX 0x040 ! 32: #define IDDNUMSIDES 0x050 ! 33: #define IDDCPTMAX 0x060 ! 34: #define IDDRECURSION 0x070 ! 35: #define IDDCLEARBETWEEN 0x080 ! 36: ! 37: #define IDMFILE 0x100 ! 38: #define IDMABOUT 0x101 ! 39: ! 40: #define IDMXFORM 0x200 ! 41: #define IDMSHARKTOOTH 0x201 ! 42: #define IDMSAWTOOTH 0x202 ! 43: #define IDMKOCH 0x203 ! 44: #define IDMSTOVE 0x204 ! 45: #define IDMESSES 0x205 ! 46: ! 47: #define IDMENVIRONMENT 0x300 ! 48: #define IDMCLEARBITMAP 0x301 ! 49: #define IDMAUTOSCALE 0x302 ! 50: #define IDMFRACATTRS 0x303 ! 51: ! 52: #define IDMCONTROL 0x400 ! 53: #define IDMREDRAW 0x401 ! 54: #define IDMABORT 0x402 ! 55: ! 56: #define IDSTITLE 1 ! 57: ! 58: ! 59: ! 60: ! 61: /************************************************************************ ! 62: * ! 63: * Constants ! 64: * ! 65: * Miscellaneous constants. ! 66: * ! 67: ************************************************************************/ ! 68: ! 69: #define MAX_POINT_COUNT 500 /* number of points buffered up */ ! 70: ! 71: #define PI 3.1415926 /* useful in computing angles */ ! 72: #define TWO_PI (2 * PI) /* ditto */ ! 73: ! 74: #define EOLIST 0 /* End-of-list marker for xform */ ! 75: ! 76: ! 77: ! 78: ! 79: /************************************************************************ ! 80: * ! 81: * Line fractal transform structure. ! 82: * ! 83: * The structure LINEFRAC defines a transform for a single line ! 84: * segment within a linefractal similarity transform. A proper ! 85: * similarity transform would be a collection of segment transforms in ! 86: * the form of a linked list. ! 87: * ! 88: * next link to the next line segment ! 89: * length relative length of a segment, as percentage of ! 90: * length segment on which transform was defined ! 91: * angle relative angle in radians, positive being ! 92: * counterclockwise ! 93: * flip orientation of transform at a segment ! 94: * FALSE ==> rotate transform by angle[] ! 95: * TRUE ==> rotate transform by -angle[] ! 96: * (i.e. flip it) ! 97: * ! 98: ************************************************************************/ ! 99: ! 100: typedef struct _linefrac ! 101: { ! 102: struct _linefrac *next; ! 103: double length; ! 104: double angle; ! 105: BOOL flip; ! 106: } LINEFRAC; ! 107: typedef LINEFRAC *PLINEFRAC; ! 108: ! 109: ! 110: ! 111: ! 112: /********************************************************************\ ! 113: * These procedures must be declared FAR because they are exported ! 114: * and called by OS/2 Windows Presentation Manager. ! 115: \********************************************************************/ ! 116: ! 117: ULONG FAR PASCAL AboutDlg ( HWND, USHORT, MPARAM, MPARAM ); ! 118: BOOL FAR PASCAL LineFracInitApp ( VOID ); ! 119: ULONG FAR PASCAL LineFracWndProc ( HWND, USHORT, MPARAM, MPARAM ); ! 120: ULONG FAR PASCAL LineFracDlg ( HWND, USHORT, MPARAM, MPARAM ); ! 121: ! 122: ! 123: ! 124: ! 125: /********************************************************************\ ! 126: * These procedures are referenced in more than one module, but ! 127: * are not exported. ! 128: \********************************************************************/ ! 129: ! 130: VOID LineFracInit ( HWND ); ! 131: VOID LineFracExit ( VOID ); ! 132: VOID LineFracPaint ( HPS ); ! 133: VOID LineFracCommand ( HWND, USHORT ); ! 134: ! 135: BOOL ResizeBitmap ( HWND ); ! 136: ! 137: PLINEFRAC DefineSharkTooth ( VOID ); ! 138: PLINEFRAC DefineSawTooth ( VOID ); ! 139: PLINEFRAC DefineKochIsland ( VOID ); ! 140: PLINEFRAC DefineStovePipe ( VOID ); ! 141: PLINEFRAC DefineEsses ( VOID ); ! 142: ! 143: VOID FAR PASCAL AccumulateLineFractal( VOID );
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.