home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 January / Chip_1997-01_cd.bin / ms95 / disk21 / dir01 / f011160.re_ / f011160.re
Text File  |  1996-04-02  |  23KB  |  659 lines

  1. /*----------------------------------------------------------------------+
  2. |                                    |
  3. |  Copyright (c) 1985-93;  Bentley Systems, Inc., All rights reserved.    |
  4. |                                    |
  5. | "MicroStation", "MDL", and "MicroCSL" are trademarks of Bentley    |
  6. |  Systems, Inc.                            |
  7. |                                    |
  8. |  Limited permission is hereby granted to reproduce and modify this    |
  9. |  copyrighted material provided that the resulting code is used only     |
  10. |  in conjunction with Bentley Systems products under the terms of the    |
  11. |  license agreement provided therein, and that this notice is retained    |
  12. |  in its entirety in any such reproduction or modification.        |
  13. |                                    |
  14. +----------------------------------------------------------------------*/
  15. /*----------------------------------------------------------------------+
  16. |                                    |
  17. |   mdl.h -- Main include file for MDL applications.  Defines        |
  18. |         structures and constants used by MDL library functions.    |
  19. |                                    |
  20. |   $Workfile:   mdl.h  $
  21. |   $Revision:   6.14  $
  22. |          $Date:   10 Nov 1995 14:02:22  $
  23. |                                    |
  24. +----------------------------------------------------------------------*/
  25. #if !defined (__mdlH__)
  26. #define __mdlH__
  27.  
  28. #if !defined (__basedefsH__)
  29. #   include    <basedefs.h>
  30. #endif
  31. #if !defined (__basetypeH__)
  32. #   include    <basetype.h>
  33. #endif
  34.  
  35. /*----------------------------------------------------------------------+
  36. |                                    |
  37. |    Replace the obsolete names with the new names           |
  38. |                                    |
  39. +----------------------------------------------------------------------*/
  40.  
  41. #if defined (mdl)
  42. #define        cmd_name        cmdName
  43. #define        cmd_number        cmdNumber
  44. #endif
  45.  
  46. /*----------------------------------------------------------------------+
  47. |                                    |
  48. |    const and volatile are not supported by the MDL compiler        |
  49. |                                    |
  50. +----------------------------------------------------------------------*/
  51.  
  52. #if defined (mdl)
  53. #   if !defined (const)
  54. #      define const
  55. #   endif
  56. #   if !defined (volatile)
  57. #      define volatile
  58. #   endif
  59. #endif
  60.  
  61. /*----------------------------------------------------------------------+
  62. |                                    |
  63. |    MDL function pointers are longs when viewed by native code      |
  64. |                                    |
  65. +----------------------------------------------------------------------*/
  66. #if defined (mdl)
  67. typedef int (*MdlFunctionP)();
  68. #else
  69. typedef unsigned long    MdlFunctionP;
  70. #endif
  71.  
  72. typedef struct neutralFunctionPointer
  73.     {
  74.     NativeFuncP             nativeFuncP;
  75.     MdlFunctionP         mdlFuncP;
  76.     void        *mdlDescP;
  77.     } NeutralFunctionPointer;
  78.  
  79. /*----------------------------------------------------------------------+
  80. |                                    |
  81. |    Constants for standard views                    |
  82. |                                    |
  83. +----------------------------------------------------------------------*/
  84. #define        STDVIEW_TOP            1
  85. #define        STDVIEW_BOTTOM        2
  86. #define        STDVIEW_LEFT        3
  87. #define        STDVIEW_RIGHT        4
  88. #define        STDVIEW_FRONT        5
  89. #define        STDVIEW_BACK        6
  90. #define        STDVIEW_ISO            7
  91.  
  92. /*----------------------------------------------------------------------+
  93. |                                    |
  94. |    Text creation routine parameters                |
  95. |                                    |
  96. +----------------------------------------------------------------------*/
  97. #define        TXT_NO_TRANSFORM        0x8000
  98. #define        TXT_BY_TILE_SIZE        1
  99. #define        TXT_BY_MULT            2
  100. #define        TXT_BY_TEXT_SIZE        3
  101. #define        TXT_BY_WIDTH_ASPECT        4
  102.  
  103. /*   Text Justifications   */
  104. #define        TXTJUST_LT            0    /* Left Top */
  105. #define        TXTJUST_LC            1    /* Left Center */
  106. #define        TXTJUST_LB            2    /* Left Bottom */
  107. #define        TXTJUST_LMT            3    /* Left Margin Top */
  108. #define        TXTJUST_LMC            4    /* Left Margin Center */
  109. #define        TXTJUST_LMB            5    /* Left Margin Bottom */
  110. #define        TXTJUST_CT            6    /* Center Top */
  111. #define        TXTJUST_CC            7    /* Center Center */
  112. #define        TXTJUST_CB            8    /* Center Bottom */
  113. #define        TXTJUST_RMT            9    /* Right Margin Top */
  114. #define        TXTJUST_RMC            10    /* Right Margin Center */
  115. #define        TXTJUST_RMB            11    /* Right Margin Bottom */
  116. #define        TXTJUST_RT            12    /* Right Top */
  117. #define        TXTJUST_RC            13    /* Right Center */
  118. #define        TXTJUST_RB            14    /* Right Bottom */
  119.  
  120. #define        TXTJUST_LU            15    /* Left Cap */
  121. #define        TXTJUST_LD            16    /* Left Descender */
  122. #define        TXTJUST_LMU            17    /* Left Margin Cap */
  123. #define        TXTJUST_LMD            18    /* Left Margin Descender */
  124. #define        TXTJUST_CU            19    /* Center Cap */
  125. #define        TXTJUST_CD            20    /* Center Descender */
  126. #define        TXTJUST_RMU            21    /* Right Margin Cap */
  127. #define        TXTJUST_RMD            22    /* Right Margin Descender */
  128. #define        TXTJUST_RU            23    /* Right Cap */
  129. #define        TXTJUST_RD            24    /* Right Descender */
  130. #define        TXTJUST_NONE        127    /* no justfication */
  131.  
  132.  
  133. /*** Text Font Info Defines Below ***/
  134.  
  135. /* Text Symbol Type */
  136. #define        TXTFONT_NORMAL        0    /* Normal font */
  137. #define        TXTFONT_SYMBOL        1    /* Symbol font */
  138.  
  139. /* Text Vector Size */
  140. #define        TXTFONT_BYTEVEC        1    /*  8-bits used for vector */
  141. #define        TXTFONT_WORDVEC        2    /* 16-bits used for vector */
  142.  
  143. /* Text Representation Size */
  144. #define        TXTFONT_BYTEREP        0    /*  8-bits represents font */
  145. #define        TXTFONT_WORDREP        1    /* 16-bits represents font */
  146.  
  147. /* Text Type */
  148. #define        TXTFONT_VECTOR        0    /* Vector font */
  149. #define        TXTFONT_RASTER        1    /* Raster font */
  150.  
  151.  
  152. /*** Text Direction ***/
  153. #define     TXTDIR_HORIZONTAL        0x0
  154. #define        TXTDIR_MLINERTOL        0x2    /* draw vertical multi-line text
  155.                            from right to left  */
  156. #define        TXTDIR_VERTICAL        0x4    /* draw a string vertical */
  157. #define     TXTDIR_RIGHTLEFT        0x8    /* draw a string right to left */
  158.  
  159. /*** Text Fitting Mode ***/
  160. #define        TXTFIT_VARIABLESIZE        0
  161. #define        TXTFIT_FIXEDSIZE        1
  162.  
  163. #if !defined (__textH__)
  164. typedef struct textDrawFlags
  165.     {
  166. #if !defined (BITFIELDS_REVERSED)
  167.     UShort interCharSpacing:1;
  168.     UShort fixedWidthSpacing:1;
  169.     UShort underline:1;
  170.     UShort slant:1;
  171.     UShort vertical:1;
  172.     UShort rightToLeft:1;    /* draw text from right to left */
  173.     UShort reverseMline:1;    /* vertical multi-line arranged R to L */
  174.     UShort kerning:1;
  175.     UShort unused:8;
  176. #else
  177.     UShort unused:8;
  178.     UShort kerning:1;
  179.     UShort reverseMline:1;    /* vertical multi-line arranged R to L */
  180.     UShort rightToLeft:1;    /* draw text from right to left */
  181.     UShort vertical:1;
  182.     UShort slant:1;
  183.     UShort underline:1;
  184.     UShort fixedWidthSpacing:1;
  185.     UShort interCharSpacing:1;
  186. #endif
  187.     } TextDrawFlags;
  188. #endif
  189.  
  190. typedef struct mstextsize
  191.     {
  192.     double    width;
  193.     double    height;
  194.     } MSTextSize;
  195.  
  196. #if !defined (macintosh)
  197. typedef MSTextSize TextSize;
  198. #endif
  199.  
  200. typedef struct textSizeParam
  201.     {
  202.     int        mode;
  203.     MSTextSize    size;
  204.     double    aspectRatio;
  205.     } TextSizeParam;
  206.  
  207. typedef struct textParam
  208.     {
  209.     int        font;
  210.     int        just;
  211.     int        style;
  212.     int        viewIndependent;
  213.     } TextParam;
  214.  
  215. typedef struct textParamWide
  216.     {
  217.     int            font;
  218.     int            just;
  219.     int            style;
  220.     int            viewIndependent;
  221.     int            nodeNumber;        /* for textnode only */
  222.     double        slant;        /* valid if flags.slant = 1 */
  223.     double        lineSpacing;    /* for textnode only */
  224.     double        characterSpacing;   /* if fixedWidth/interCharSpacing */
  225.     double        underlineSpacing;   /* valid if flags.underline */
  226.     TextDrawFlags   flags;
  227.     } TextParamWide;
  228.  
  229. typedef struct textEDField
  230.     {
  231.     byte    start;
  232.     byte    len;
  233.     byte    just;
  234.     } TextEDField;
  235.  
  236. typedef struct textEDParam
  237.     {
  238.     int            numEDFields;
  239.     TextEDField        *edField;
  240.     } TextEDParam;
  241.  
  242. typedef struct textScale
  243.     {
  244.     double        x;            /* magnification of vectors within tile */
  245.     double        y;            /* magnification of vectors within tile */
  246.     } TextScale;
  247.  
  248. typedef struct textFlags
  249.     {
  250.     UShort        upper:1;        /* upper case */
  251.     UShort        lower:1;        /* lower case */
  252.     UShort        fract:1;        /* fractions */
  253.     UShort        intl:1;        /* international */
  254.     UShort        fast:1;        /* fast */
  255.     UShort        space:1;        /* space char defined? */
  256.     UShort        filled:1;        /* filled font */
  257.     UShort        reserved:3;        /* reserved */
  258.     } TextFlags;
  259.  
  260. typedef struct textStyleInfo
  261.     {
  262.     int        font;
  263.     short    style;
  264.     } TextStyleInfo;
  265.  
  266. typedef struct textFontInfo
  267.     {
  268.     TextFlags        lettersType;    /* upper, lower, fractions, intl */
  269.     byte        charType;        /* symbol or normal */
  270.     byte        vectorSize;        /* byte or word */
  271.     byte        graphicType;    /* rastor or vector */
  272.     byte        charSize;        /* 8 or 16 bit representation of font */
  273.     short        tileSize;        /* size of "tile" making up characters */
  274.     long        dataSize;        /* size of file including header */
  275.     Point2d        origin;        /* origin of char in the "tile" */
  276.     TextScale        scale;        /* scale factor of font */
  277.     } TextFontInfo;
  278.  
  279. /*----------------------------------------------------------------------+
  280. |                                    |
  281. |   Defines for mdlElement_getFilePos & mdlElement_setFilePos routines.    |
  282. |                                    |
  283. +----------------------------------------------------------------------*/
  284. #define FILEPOS_EOF            0
  285. #define FILEPOS_CURRENT            1
  286. #define FILEPOS_FIRST_ELE        2
  287. #define FILEPOS_NEXT_ELE        3
  288. #define FILEPOS_WORKING_SET        4
  289. #define FILEPOS_WORKING_WINDOW        5
  290. #define FILEPOS_COMPONENT        6
  291.  
  292. /*----------------------------------------------------------------------+
  293. |                                    |
  294. |   Defines for mdlElmdscr_ routines                    |
  295. |                                    |
  296. +----------------------------------------------------------------------*/
  297. #define    ELMD_ELEMENT            (1<<0)
  298. #define ELMD_PRE_HDR            (1<<1)
  299. #define    ELMD_POST_HDR            (1<<2)
  300. #define ELMD_PRE_NESTEDHDR        (1<<3)
  301. #define    ELMD_POST_NESTEDHDR        (1<<4)
  302. #define ELMD_ALL_ONCE     (ELMD_ELEMENT | ELMD_PRE_HDR | ELMD_PRE_NESTEDHDR)
  303. #define ELMD_HDRS_ONCE     (ELMD_PRE_HDR | ELMD_PRE_NESTEDHDR)
  304.  
  305. /*----------------------------------------------------------------------+
  306. |                                    |
  307. |   Parameters for mdlModify_ routines                    |
  308. |                                    |
  309. +----------------------------------------------------------------------*/
  310. typedef struct mdlCopyParamsTag
  311.     {
  312.     int        reserved1;
  313.     int        reserved2;
  314.     void    *reserved3;
  315.     } MdlCopyParams;
  316.  
  317. #define MODIFY_ORIG            (1<<1)
  318. #define MODIFY_COPY            0
  319. #define MODIFY_DRAWINHILITE        (1<<3)
  320. #define MODIFY_DONTDRAWNEW        (1<<4)
  321. #define MODIFY_DONTERASEORIG        (1<<5)
  322.  
  323. #define MODIFY_REQUEST_NOHEADERS    0
  324. #define MODIFY_REQUEST_HEADERS        (1<<0)
  325. #define MODIFY_REQUEST_ONLYONE        (1<<1)
  326.  
  327. #define    MODIFY_STATUS_NOCHANGE        0
  328. #define MODIFY_STATUS_REPLACE        (1<<0)
  329. #define MODIFY_STATUS_DELETE        (1<<1)
  330. #define MODIFY_STATUS_ABORT        (1<<2)
  331. #define MODIFY_STATUS_FAIL        (1<<3)
  332. #define MODIFY_STATUS_REPLACEDSCR    (1<<4)
  333. #define MODIFY_STATUS_MODIFIED        (1<<5)
  334. #define MODIFY_STATUS_DONTDELETEROWS    (1<<6)
  335. #define MODIFY_STATUS_ERROR        (MODIFY_STATUS_FAIL | MODIFY_STATUS_ABORT)
  336.  
  337. /*----------------------------------------------------------------------+
  338. |                                    |
  339. |   Defines for mdlView_getDisplayControls() &                |
  340. |        mdlView_setDisplayControls()                |
  341. |                                    |
  342. +----------------------------------------------------------------------*/
  343. #define VIEWCONTROL_FAST_CURVE        0
  344. #define VIEWCONTROL_FAST_TEXT        1
  345. #define VIEWCONTROL_FAST_FONT        2
  346. #define VIEWCONTROL_LINE_WEIGHTS    3
  347. #define VIEWCONTROL_PATTERNS        4
  348. #define VIEWCONTROL_TEXT_NODES        5
  349. #define VIEWCONTROL_ED_FIELDS        6
  350. #define VIEWCONTROL_GRID        9
  351. #define VIEWCONTROL_LEV_SYMB        10
  352. #define VIEWCONTROL_POINTS        11
  353. #define VIEWCONTROL_CONSTRUCTION    12
  354. #define VIEWCONTROL_DIMENSIONS        13
  355. #define VIEWCONTROL_AREA_FILL        16
  356. #define VIEWCONTROL_RASTER_TEXT        17
  357. #define VIEWCONTROL_AUX_DISPLAY        18
  358. #define VIEWCONTROL_CAMERA        22
  359. #define VIEWCONTROL_RENDERMODE        23
  360. #define VIEWCONTROL_BACKGROUND        26
  361. #define VIEWCONTROL_REF_BOUND        27
  362. #define VIEWCONTROL_FAST_BOUND_CLIP    28
  363. #define VIEWCONTROL_DEPTH_CUE        29
  364. #define VIEWCONTROL_NO_DYNAMICS        30
  365.  
  366. #define VIEWMODE_WIREFRAME        0
  367. #define VIEWMODE_CROSSSECTION        1
  368. #define VIEWMODE_WIREMESH        2
  369. #define VIEWMODE_HIDDENLINE        3
  370. #define VIEWMODE_FILLEDHLINE        4
  371. #define VIEWMODE_CONTANTSHADE        5
  372. #define VIEWMODE_SMOOTHSHADE        6
  373. #define VIEWMODE_PHONGSHADE        7
  374.  
  375. /*----------------------------------------------------------------------+
  376. |                                    |
  377. |   Defines for mdlParams_getActive() & mdlParams_setActive()        |
  378. |                                    |
  379. +----------------------------------------------------------------------*/
  380. #define    ACTIVEPARAM_COLOR        1
  381. #define    ACTIVEPARAM_COLOR_BY_NAME       2
  382. #define    ACTIVEPARAM_LINESTYLE        3
  383. #define    ACTIVEPARAM_LINEWEIGHT        4
  384. #define    ACTIVEPARAM_LEVEL        5
  385. #define    ACTIVEPARAM_ANGLE        6
  386. #define    ACTIVEPARAM_FONT        7
  387. #define    ACTIVEPARAM_GRIDUNITS        8
  388. #define    ACTIVEPARAM_GRIDREF        9
  389. #define    ACTIVEPARAM_TEXTHEIGHT        10
  390. #define    ACTIVEPARAM_TEXTWIDTH        11
  391. #define    ACTIVEPARAM_UNITROUNDOFF    12
  392. #define    ACTIVEPARAM_TEXTJUST        13
  393. #define    ACTIVEPARAM_NODEJUST        14
  394. #define    ACTIVEPARAM_CELLNAME        15
  395. #define    ACTIVEPARAM_LINELENGTH        16
  396. #define    ACTIVEPARAM_LINESPACING        17
  397. #define    ACTIVEPARAM_TERMINATOR        18
  398. #define    ACTIVEPARAM_TAGINCREMENT    19
  399. #define    ACTIVEPARAM_TAB            20
  400. #define    ACTIVEPARAM_STREAMDELTA        21
  401. #define    ACTIVEPARAM_STREAMTOLERANCE     22
  402. #define    ACTIVEPARAM_STREAMANGLE        23
  403. #define    ACTIVEPARAM_STREAMAREA        24
  404. #define    ACTIVEPARAM_POINT        25
  405. #define    ACTIVEPARAM_KEYPOINT        26
  406. #define    ACTIVEPARAM_PATTERNDELTA    27
  407. #define    ACTIVEPARAM_PATTERNANGLE    28
  408. #define    ACTIVEPARAM_PATTERNSCALE    29
  409. #define    ACTIVEPARAM_PATTERNCELL        30
  410. #define    ACTIVEPARAM_AREAMODE        31
  411. #define    ACTIVEPARAM_AXISANGLE        32
  412. #define    ACTIVEPARAM_CLASS        33
  413. #define    ACTIVEPARAM_CAPMODE        34
  414. #define    ACTIVEPARAM_GRIDMODE        35
  415. #define    ACTIVEPARAM_GRIDRATIO        36
  416. #define    ACTIVEPARAM_FILLMODE        37
  417. #define    ACTIVEPARAM_SCALE        38
  418. #define    ACTIVEPARAM_TERMINATORSCALE     39
  419. #define ACTIVEPARAM_DIMCOMPAT        40
  420. #define ACTIVEPARAM_MLINECOMPAT        41
  421. #define ACTIVEPARAM_AXISORIGIN        42
  422. #define ACTIVEPARAM_PATTERNTOLERANCE    43
  423. #define ACTIVEPARAM_LINESTYLENAME    44
  424. #define ACTIVEPARAM_LINESTYLEPARAMS    45
  425. #define ACTIVEPARAM_FILLCOLOR        46
  426. #define ACTIVEPARAM_SNAPOVERRIDE    47
  427.  
  428. /* NOTE: changed from ACTIVELOCK_SNAPMODE to ACTIVEPARAM_SNAPMODE after V5.0 */
  429. /* NOTE:  ACTIVELOCK_SNAPMODE CANNOT be used with mdlParams_setLock !! */
  430. #define ACTIVEPARAM_SNAPMODE        501
  431. #define ACTIVELOCK_SNAPMODE        ACTIVEPARAM_SNAPMODE
  432.  
  433. /*----------------------------------------------------------------------+
  434. |                                    |
  435. |   Defines for mdlParams_getLock() & mdlParams_setLock()        |
  436. |                                    |
  437. +----------------------------------------------------------------------*/
  438. #define ACTIVELOCK_ASSOCIATION        500
  439. #define ACTIVELOCK_SNAP            501
  440. #define ACTIVELOCK_GRID            502
  441. #define ACTIVELOCK_UNIT            503
  442. #define ACTIVELOCK_BORESITE        504
  443. #define ACTIVELOCK_ANGLE        505
  444. #define ACTIVELOCK_TEXTNODE        506
  445. #define ACTIVELOCK_AXIS            507
  446. #define ACTIVELOCK_SCALE        508
  447. #define ACTIVELOCK_GRAPHGROUP        509
  448. #define ACTIVELOCK_LEVEL        510
  449. #define ACTIVELOCK_FENCEOVERLAP        511
  450. #define ACTIVELOCK_FENCECLIP        512
  451. #define ACTIVELOCK_FENCEVOID        513
  452. #define ACTIVELOCK_CELLSTRETCH        514
  453. #define ACTIVELOCK_SELECTION        515
  454. #define ACTIVELOCK_CONSTRUCTION        516
  455. #define ACTIVELOCK_ISOMETRIC        517
  456. #define ACTIVELOCK_DEPTH        518
  457.  
  458. /*----------------------------------------------------------------------+
  459. |                                    |
  460. |   Defines for mdlOutput_printf.                      |
  461. |                                    |
  462. +----------------------------------------------------------------------*/
  463. #define MSG_MESSAGE            0
  464. #define MSG_ERROR            1
  465. #define MSG_PROMPT            2
  466. #define MSG_STATUS            3
  467. #define MSG_COMMAND            4
  468. #define MSG_KEYIN            5
  469.  
  470. /*----------------------------------------------------------------------+
  471. |                                    |
  472. |   Defines for mdlWindow_ routines                    |
  473. |                                    |
  474. +----------------------------------------------------------------------*/
  475. #if !defined (MSWINDOW) && !defined (_MSWINDOW_TYPEDEF_)
  476. #   if defined (mdl) || !defined (vax)
  477.     typedef void MSWindow;
  478. #    define _MSWINDOW_TYPEDEF_
  479. #   else
  480. #       define MSWindow void
  481. #   endif
  482. #endif
  483.  
  484. /*----------------------------------------------------------------------+
  485. |                                    |
  486. |   Constants for dimension and multiline points            |
  487. |                                    |
  488. +----------------------------------------------------------------------*/
  489. #define POINT_CHECK            0
  490. #define POINT_ASSOC            1
  491. #define POINT_STD            2
  492.  
  493. /* Arc association options */
  494. #define ASSOC_ARC_ANGLE            0
  495. #define ASSOC_ARC_CENTER        1
  496. #define ASSOC_ARC_START            2
  497. #define ASSOC_ARC_END            3
  498.  
  499. /*----------------------------------------------------------------------+
  500. |                                    |
  501. |   Constants for mdlMline functions                    |
  502. |                                    |
  503. +----------------------------------------------------------------------*/
  504. #define MLBREAK_FROM_JOINT        0x8000
  505. #define MLBREAK_TO_JOINT        0x4000
  506. #define MLBREAK_STD            0
  507.  
  508. #define MLCAP_NONE            0x0
  509. #define MLCAP_LINE            0x1
  510. #define MLCAP_OUTER_ARCS        0x2
  511. #define MLCAP_INNER_ARCS        0x4
  512. #define MLCAP_CLOSE            0x8
  513.  
  514. #define SHIFT_BREAKS            0x2
  515. #define REMOVE_ASSOC            0x4
  516.  
  517. #define MLJOIN_CLOSE            0
  518. #define MLJOIN_OPEN            1
  519. #define MLJOIN_MERGE            2
  520.  
  521. /*----------------------------------------------------------------------+
  522. |                                    |
  523. |   Constants for mdlLevel functions                    |
  524. |                                    |
  525. +----------------------------------------------------------------------*/
  526. #define DUPLICATE_GROUP            2227
  527. #define DUPLICATE_LEVEL            2228
  528.  
  529. /*----------------------------------------------------------------------+
  530. |                                    |
  531. |   Constants for mdlText functions                    |
  532. |                                    |
  533. +----------------------------------------------------------------------*/
  534. #define    FRACTIONS            (1<<1)
  535. #define    INTERNATIONAL            (1<<2)
  536. #define    CONTROL                (1<<3)
  537.  
  538. /*----------------------------------------------------------------------+
  539. |                                    |
  540. |   Constants for mdlState_startFenceCommand                |
  541. |                                    |
  542. +----------------------------------------------------------------------*/
  543. #define FENCE_NO_CLIP            0
  544. #define    FENCE_CLIP_ORIG            1
  545. #define    FENCE_CLIP_COPY            3
  546.  
  547. /*----------------------------------------------------------------------+
  548. |                                    |
  549. |   Constants for mdlSystem_loadMdlProgramExtended              |
  550. |                                    |
  551. +----------------------------------------------------------------------*/
  552. #define    LOADPROGRAM_APPLICATION_CLASS    1
  553. #define LOADPROGRAM_MESSAGES        2
  554. #define    LOADPROGRAM_DEBUGGER        3
  555. #define LOADPROGRAM_STARTUP_STRING    4
  556. #define LOADPROGRAM_PARENT_NAME        5
  557. #define    LOADPROGRAM_STARTUP_TYPE    6
  558.  
  559. /*----------------------------------------------------------------------+
  560. |                                    |
  561. |   Constants for mdlRefFile_getParameters / setParameters             |
  562. |                                    |
  563. +----------------------------------------------------------------------*/
  564. #define    REFERENCE_DISPLAY        1
  565. #define REFERENCE_SNAP            2
  566. #define    REFERENCE_LOCATE        3
  567. #define    REFERENCE_SLOTACTIVE        4
  568. #define    REFERENCE_SCALELINESTYLES    5
  569. #define    REFERENCE_FILENOTFOUND        6
  570. #define    REFERENCE_FILENAME        7
  571. #define    REFERENCE_DESCRIPTION        8
  572. #define    REFERENCE_LOGICAL        9
  573. #define    REFERENCE_SCALE               10
  574. #define    REFERENCE_ROTATION           11
  575. #define    REFERENCE_LEVELFLAGS           12
  576. #define    REFERENCE_ATTACHNAME           13
  577. #define REFERENCE_UNITDESC           14
  578. #define REFERENCE_SCALE_MASTERUNITS    15
  579. #define REFERENCE_RESERVEDA           16
  580. #define REFERENCE_COMPLETE_PATH_STORED 17
  581. #define REFERENCE_HIDDEN_LINE           18
  582. #define REFERENCE_DISPLAY_HIDDEN       19
  583. #define REFERENCE_CLIP_ROTATE           20
  584.  
  585. /*----------------------------------------------------------------------+
  586. |                                    |
  587. |   Constant for MicroStation BASIC linkage ID                    |
  588. |                                    |
  589. +----------------------------------------------------------------------*/
  590. #define LINKAGEID_BASIC            43797
  591.  
  592. /*----------------------------------------------------------------------+
  593. |                                    |
  594. |   Constants and typedefs for mdlPattern_ functions            |
  595. |                                    |
  596. +----------------------------------------------------------------------*/
  597. #define  PATTERN_ID        32040       /* Pattern linkage ID      */
  598.  
  599. /*-----------------------------------------------------------------------
  600. Each member of the PatternParams structure has a corresponding bit in
  601. the "modifiers" member that indicates whether or not the member is used.
  602. For example, if "rMatrix" is to be used, set the appropriate bit in
  603. the modifiers member using the bitwise OR operator
  604. (.modifiers |= PATMOD_RMATRIX). If the "rMatrix" member is to be ignored,
  605. clear the appropriate bit in "modofiers" (.modifiers &= ~PATMOD_RMATRIX).
  606. -----------------------------------------------------------------------*/
  607. typedef struct
  608.     {
  609.     RotMatrix       rMatrix;        /* pattern coordinate system       */
  610.     DPoint3d        offset;        /* offset from element origin      */
  611.     double        space1;        /* primary (row) spacing           */
  612.     double        angle1;        /* angle of first hatch or pattern */
  613.     double        space2;        /* secondary (column) spacing      */
  614.     double        angle2;        /* angle of second hatch           */
  615.     double        scale;        /* pattern scale               */
  616.     ULong        tolerance;      /* pattern tolerance           */
  617.     ULong        cell;        /* radix50 pattern cell name       */
  618.     ULong        modifiers;      /* pattern modifiers bit field     */
  619.     int            minLine;        /* min line of multi-line element  */
  620.     int            maxLine;        /* max line of multi-line element  */
  621.     int            status;        /* - internal use only           */
  622.     byte        color;        /* pattern / hatch color           */
  623.     byte        weight;        /* pattern / hatch weight           */
  624.     byte        style;        /* pattern / hatch style           */
  625.     } PatternParams;
  626.  
  627. #define    PATMOD_SPACE1       0x0001   /* patternParams.space1 present    */
  628. #define    PATMOD_ANGLE1       0x0002   /* patternParams.angle1 present    */
  629. #define    PATMOD_SPACE2       0x0004   /* patternParams.space2 present    */
  630. #define    PATMOD_ANGLE2       0x0008   /* patternParams.angle2 present    */
  631. #define PATMOD_SCALE       0x0010   /* patternParams.scale present     */
  632. #define    PATMOD_CELL       0x0020   /* patternParams.cell present      */
  633. #define PATMOD_TOLERANCE   0x0040   /* patternParams.tolerance present */
  634. #define PATMOD_STYLE       0x0080   /* patternParams.style present     */
  635. #define PATMOD_WEIGHT       0x0100   /* patternParams.weight present    */
  636. #define PATMOD_COLOR       0x0200   /* patternParams.color present     */
  637. #define PATMOD_SNAP       0x0400   /* set if pattern is snappable     */
  638. #define PATMOD_RMATRIX       0x0800   /* patternParams.rMatrix present   */
  639. #define PATMOD_OFFSET       0x1000   /* patternParams.offset present    */
  640.  
  641. #define PATTERN_HATCH       0x0
  642. #define PATTERN_CROSSHATCH 0x1
  643. #define PATTERN_AREA       0x2
  644.  
  645. /*----------------------------------------------------------------------+
  646. |                                    |
  647. |   Constants for mdlTextFile_ functions                |
  648. |                                    |
  649. +----------------------------------------------------------------------*/
  650. #define TEXTFILE_READ        0
  651. #define TEXTFILE_WRITE        1
  652. #define TEXTFILE_APPEND        2
  653.  
  654. #define TEXTFILE_DEFAULT        0x0
  655. #define TEXTFILE_KEEP_NEWLINE   0x1
  656. #define TEXTFILE_NO_NEWLINE    0x1
  657.  
  658. #endif    /* __mdlH__ */
  659.