Annotation of pmsdk/samples/linefrac/linefrac.h, revision 1.1.1.1

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 );

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.