home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 January / Chip_1997-01_cd.bin / ms95 / disk21 / dir03 / f011970.re_ / f011970.re
Text File  |  1996-04-02  |  19KB  |  807 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. |   $Workfile:   mselemen.fdf  $
  18. |   $Revision:   6.15  $
  19. |          $Date:   29 Aug 1995 11:25:26  $
  20. |                                    |
  21. +----------------------------------------------------------------------*/
  22. #ifndef __mselemenFDF__
  23. #define __mselemenFDF__
  24.  
  25. /*----------------------------------------------------------------------+
  26. |                                    |
  27. |   Header File Dependencies                        |
  28. |                                    |
  29. +----------------------------------------------------------------------*/
  30.  
  31. #if !defined (__dloadlibH__)
  32. #include "dloadlib.h"
  33. #endif
  34.  
  35. #if !defined (__mdlH__)
  36. #include "mdl.h"
  37. #endif
  38.  
  39. #if !defined (__widecharH__)
  40. #include "widechar.h"
  41. #endif
  42.  
  43. #if !defined (__mselemsH__)
  44. #include "mselems.h"
  45. #endif
  46.  
  47. #if   defined (__BSI__)
  48. #include    <mielemen.fdf>
  49. #endif
  50.  
  51. /*======================================================================+
  52. |                                    |
  53. |   Function Definitions                        |
  54. |                                    |
  55. +======================================================================*/
  56.  
  57. int    mdlArc_create
  58. (
  59. MSElement    *out,
  60. MSElement    *in,
  61. Dpoint3d    *center,
  62. double        axis1,
  63. double        axis2,
  64. RotMatrix    *rMatrix,
  65. double        start,
  66. double        sweep
  67. );
  68.  
  69. int    mdlArc_createByCenter
  70. (
  71. MSElement    *out,
  72. MSElement    *in,
  73. Dpoint3d    *pts,
  74. int        useRad,
  75. double        rad,
  76. int        view
  77. );
  78.  
  79. int    mdlArc_createByPoints
  80. (
  81. MSElement    *out,
  82. MSElement    *in,
  83. Dpoint3d    *pts
  84. );
  85.  
  86. int    mdlArc_extract
  87. (
  88. Dpoint3d    *startEndPts,        /* <= start and end points */
  89. double        *start,            /* <= start angle (degrees) */
  90. double        *sweep,            /* <= sweep angle (degrees) */
  91. double        *axis1,            /* <= primary axis */
  92. double        *axis2,            /* <= primary axis */
  93. RotMatrix    *rotMatrix,
  94. Dpoint3d    *center,
  95. MSElement    *in
  96. );
  97.  
  98. int    mdlCircle_createBy3Pts
  99. (
  100. MSElement    *out,
  101. MSElement    *in,
  102. Dpoint3d    *pt,
  103. int                fillMode     /* => -1=use active, 0=No fill, 1=Fill    */
  104. );
  105.  
  106. void    mdlComplexChain_createHeader
  107. (
  108. MSElement    *chain,
  109. int        shapeMode,   /* True if this is going to be a shape    */
  110. int                fillMode     /* => -1=use active, 0=No fill, 1=Fill    */
  111. );
  112.  
  113. int    mdlCone_create
  114. (
  115. MSElement    *out,        /* <= element to be created */
  116. MSElement    *in,        /* => optional starting element */
  117. double        topRadius,    /* => top radius */
  118. double        bottomRadius,    /* => bottom radius */
  119. Dpoint3d    *base,        /* => center of base */
  120. Dpoint3d    *top,        /* => center of top */
  121. RotMatrix    *coneRMatrix    /* => general cone Transformation */
  122. );
  123.  
  124. int    mdlCone_createRightCylinder
  125. (
  126. MSElement    *out,        /* <= element to be created */
  127. MSElement    *in,        /* => optional starting element */
  128. double        radius,        /* => radius (both top and bottom) */
  129. Dpoint3d    *base,        /* => center of base */
  130. Dpoint3d    *top        /* => center of top */
  131. );
  132.  
  133. int    mdlCone_createWithRotMatrix
  134. (
  135. MSElement    *out,        /* <= element to be created */
  136. MSElement    *in,        /* => optional starting element */
  137. double        topRadius,    /* => top radius */
  138. double        bottomRadius,    /* => bottom radius */
  139. Dpoint3d    *base,        /* => center of base */
  140. Dpoint3d    *top,        /* => center of top */
  141. RotMatrix    *coneRMatrix    /* => general cone Transformation */
  142. );
  143.  
  144. int    mdlCone_extract
  145. (
  146. double        *topRadius,        /* <= top radius */
  147. double        *bottomRadius,        /* <= bottom radius */
  148. Dpoint3d    *topCenter,        /* <= top center */
  149. Dpoint3d    *bottomCenter,        /* <= bottom center */
  150. RotMatrix    *rotMatrix,
  151. MSElement    *in
  152. );
  153.  
  154.  
  155. int    mdlCurve_create
  156. (
  157. MSElement    *out,
  158. MSElement    *in,
  159. Dpoint3d    *points,
  160. int        numVerts
  161. );
  162.  
  163. int    mdlCurve_createI
  164. (
  165. MSElement    *out,
  166. MSElement    *in,
  167. Point3d        *points,
  168. int        numVerts,
  169. int        computeStart,
  170. int        computeEnd
  171. );
  172.  
  173. ULong    mdlElement_add
  174. (
  175. MSElement     *element
  176. );
  177.  
  178. ULong    mdlElement_append
  179. (
  180. MSElement     *element
  181. );
  182.  
  183. int mdlElement_appendAttributes
  184. (
  185. MSElement   *p,        /* <= element pointer */
  186. int        length,     /* => number of words of attribute data */
  187. short       *buffer     /* => buffer containing the attribute data */
  188. );
  189.  
  190. int mdlElement_cnvFromFileFormat
  191. (
  192. MSElement *internal,           /* <= element in internal format */
  193. void       *external,           /* => element in file format */
  194. int convertType            /* => conversion : 0 = 2D-2D, 1=3D-3D, 2=2D-3D */
  195. );
  196.  
  197. int mdlElement_cnvToFileFormat
  198. (
  199. void        *igdselem,    /* element in IGDS file format */
  200. MSElement    *element,    /* element in internal format */
  201. int        three_d        /* flag indicating the dim of the file */
  202. );
  203.  
  204. void    mdlElement_display
  205. (
  206. MSElement    *elementP,
  207. int        drawmode
  208. );
  209.  
  210. void    mdlElement_displayInSelectedViews
  211. (
  212. MSElement    *addr,
  213. int        drawmode,
  214. int        viewMask
  215. );
  216.  
  217. int mdlElement_extractAttributes
  218. (
  219. int        *length,    /* <= number of words of attribute data */
  220. short        *buffer,    /* <= where to save the attribute data */
  221. MSElement   *p        /* => element pointer */
  222. );
  223.  
  224. ULong mdlElement_getFilePos
  225. (
  226. int    type,        /* => what type of information is required. */
  227. int    *pfilenum   /* => pointer to area to get file number; or NULL */
  228. );
  229.  
  230. void    mdlElement_getProperties
  231. (
  232. int        *level,
  233. int        *ggNum,
  234. int        *class,
  235. int        *locked,
  236. int        *new,
  237. int        *modified,
  238. int        *viewIndepend,
  239. int        *solidHole,
  240. MSElement   *el
  241. );
  242.  
  243. void    mdlElement_getSymbology
  244. (
  245. int        *color,
  246. int        *weight,
  247. int        *style,
  248. MSElement   *el
  249. );
  250.  
  251. int    mdlElement_getType
  252. (
  253. MSElement    *el
  254. );
  255.  
  256. int    mdlElement_igdsSize
  257. (
  258. MSElement    *elP,        /* element in internal format */
  259. int        fileNumber    /* fileNumber 0 - master, etc. */
  260. );
  261.  
  262.  
  263. boolean mdlElement_isFilled
  264. (
  265. MSElement *u
  266. );
  267.  
  268. int    mdlElement_offset
  269. (
  270. MSElement    *out,
  271. MSElement    *in,
  272. Dpoint3d    *offset
  273. );
  274.  
  275. int mdlElement_read
  276. (
  277. MSElement    *buffer,
  278. int        fileNo,        /* => 0=dgn file, 1-255 for ref, */
  279.                 /*    CELL_LIB for cell lib      */
  280. ULong        filepos        /* => absolute file position.    */
  281. );
  282.  
  283. ULong    mdlElement_rewrite
  284. (
  285. MSElement    *newElem,
  286. MSElement    *oldElem,
  287. long        filePos
  288. );
  289.  
  290. int mdlElement_setFilePos
  291. (
  292. int        type,    /* => what type of information is required. */
  293. int        filenum,    /* => file number (0 - CELL_LIB), -1 for ignore. */
  294. ULong        position    /* => new file position.    */
  295. );
  296.  
  297. void    mdlElement_setProperties
  298. (
  299. MSElement   *el,
  300. int        *level,
  301. int        *ggNum,
  302. int        *elementClass,
  303. int        *locked,
  304. int        *new,
  305. int        *modified,
  306. int        *viewIndepend,
  307. int        *solidHole
  308. );
  309.  
  310. void    mdlElement_setSymbology
  311. (
  312. MSElement   *el,
  313. int        *color,
  314. int        *weight,
  315. int        *style
  316. );
  317.  
  318. int mdlElement_setFillColor
  319. (
  320. MSElement   *elementP,
  321. int        fillColor
  322. );
  323.  
  324. int    mdlElement_getFillColor
  325. (
  326. MSElement   *elementP
  327. );
  328.  
  329. int    mdlElement_size
  330. (
  331. MSElement    *hdr
  332. );
  333.  
  334. void    mdlElement_stripAttributes
  335. (
  336. MSElement    *out,        /* <= element with all attributes removed */
  337. MSElement    *in        /* => element with attributes */
  338. );
  339.  
  340. int    mdlElement_stroke
  341. (
  342. Dpoint3d    **points,
  343. int        *nPoints,
  344. MSElement    *el,
  345. double        tol
  346. );
  347.  
  348. int    mdlElement_transform
  349. (
  350. MSElement    *out,
  351. MSElement    *in,
  352. Transform    *t
  353. );
  354.  
  355. int    mdlElement_undoableDelete
  356. (
  357. MSElement    *addr,
  358. long        filePos,
  359. int        display
  360. );
  361.  
  362.  
  363. int mdlElement_createExtendedTCB
  364. (
  365. MSElement    *elementP        /* <= Type 66 with current settings */
  366. );
  367.  
  368. int mdlElement_createDimensionSettings
  369. (
  370. MSElement    *elementP        /* <= Type 66 with dimension settings */
  371. );
  372. int mdlElement_createViewSettings
  373. (
  374. MSElement    *elementP        /* <= Type 66 with view settings */
  375. );
  376. int mdlElement_createDigitizerSettings
  377. (
  378. MSElement    *elementP        /* <= Type 66 with digitizer settings */
  379. );
  380.  
  381. void    mdlElement_createColorTable
  382. (
  383. MSElement    *elementP,        /* <= color table element */
  384. byte        *colorP,        /* => color table (768 bytes) */
  385. char        *cnameP            /* => color table name */
  386. );
  387.  
  388. int mdlElement_setLineStyle
  389. (
  390. MSElement    *elementP,
  391. int        fileNo,
  392. int        lsIndex,
  393. char        *styleNameP,
  394. void        *paramsP
  395. );
  396.  
  397. int mdlElement_getLineStyle
  398. (
  399. char        *styleNameP,
  400. void        *paramsP,
  401. MSElement    *elementP,
  402. int        fileNo,
  403. int        lsIndex
  404. );
  405.  
  406. void    mdlElement_dropComplex
  407. (
  408. ULong           filePos,        /* => file position of element to drop  */
  409. int            display,        /* => display?  (TRUE or FALSE)        */
  410. int            addToSelection      /* => add to selection (TRUE or FALSE)  */
  411. );
  412.  
  413. int    mdlEllipse_create
  414. (
  415. MSElement    *out,
  416. MSElement    *in,
  417. Dpoint3d    *center,
  418. double        axis1,
  419. double        axis2,
  420. RotMatrix    *rMatrix,
  421. int                fillMode
  422. );
  423.  
  424. int  mdlLineString_create
  425. (
  426. MSElement    *out,
  427. MSElement    *in,
  428. Dpoint3d    *points,
  429. int        numVerts
  430. );
  431.  
  432. int    mdlLineString_createI
  433. (
  434. MSElement    *out,
  435. MSElement    *in,
  436. Point3d        *points,
  437. int        numVerts
  438. );
  439.  
  440. int    mdlLine_create
  441. (
  442. MSElement    *out,
  443. MSElement    *in,
  444. Dpoint3d    *points
  445. );
  446.  
  447. int    mdlLine_createI
  448. (
  449. MSElement    *out,
  450. MSElement    *in,
  451. Point3d        *points
  452. );
  453.  
  454. void    mdlPointString_create
  455. (
  456. MSElement    *u,
  457. MSElement    *in,
  458. Point3d        *pnts,
  459. double        *transforms,
  460. int        numverts,
  461. int        disjoint
  462. );
  463.  
  464. int    mdlShape_create
  465. (
  466. MSElement    *out,
  467. MSElement    *in,
  468. Dpoint3d    *points,
  469. int        numVerts,
  470. int                fillMode
  471. );
  472.  
  473. int    mdlShape_createI
  474. (
  475. MSElement    *out,
  476. MSElement    *in,
  477. Point3d        *points,
  478. int        numVerts,
  479. int                fillMode
  480. );
  481.  
  482. void    mdlSurface_createHeader
  483. (
  484. MSElement    *surf,
  485. int        surfType
  486. );
  487.  
  488. int    mdlSurface_project
  489. (
  490. MSElementDescr    **surfDscrPP,
  491. MSElementDescr    *elDscrP,
  492. Dpoint3d    *pnt1,
  493. Dpoint3d    *pnt2,
  494. Transform    *userTrans
  495. );
  496.  
  497. int    mdlSurface_revolve
  498. (
  499. MSElementDescr    **surfDscrPP,
  500. MSElementDescr    *elDscrP,
  501. Dpoint3d    *center,
  502. int        axis,
  503. double        angle
  504. );
  505.  
  506. int    mdlTextNode_create
  507. (
  508. MSElement    *out,        /* <= text node element created */
  509. MSElement    *in,        /* => template element */
  510. Dpoint3d    *dOrigin,    /* => text node origin */
  511. RotMatrix    *rotMatrix,    /* => (view - angle) transformation  */
  512. double        *lineSpacing,    /* => line spacing */
  513. MSTextSize    *size,        /* => character size for this node */
  514. TextParam    *txtParams    /* => font, justification, etc. */
  515. );
  516.  
  517. int    mdlTextNode_createWithStrings
  518. (
  519. MSElementDescr    **nodeDescrPP,    /* <= element descriptor */
  520. MSElement    *nodeTemplate,    /* => node template */
  521. Dpoint3d    *dOrigin,    /* => text node origin */
  522. RotMatrix    *rotMatrix,    /* => (view - angle) transformation  */
  523. double        *lineSpacing,    /* => line spacing */
  524. MSTextSize    *size,        /* => character size for this node */
  525. TextParam    *txtParams,    /* => text parameters (just, style, etc. */
  526. char        *strings[],    /* => strings in the text node */
  527. int         numberStrings, /* => number of text strings */
  528. TextEDParam    *textEDParam    /* => enter data fields */
  529. );
  530.  
  531. int    mdlTextNode_extract
  532. (
  533. Dpoint3d    *userOrigin,    /* <= user specified point */
  534. RotMatrix    *rotMatrix,    /* <= rotation matrix */
  535. MSTextSize    *tileSize,    /* <= character size */
  536. double        *lineSpacing,    /* <= line spacing */
  537. TextParam    *txtParams,    /* <= font, justification, etc. */
  538. int        *nodeNumber,    /* <= node number */
  539. MSElement    *in        /* => pointer to the text node element */
  540. );
  541.  
  542. int    mdlTextNode_extractShape
  543. (
  544. Dpoint3d    rPoints[5],
  545. Dpoint3d    *rOrigin,
  546. MSElement    *in,
  547. int        addsnaptol,
  548. int        view
  549. );
  550.  
  551. int    mdlText_addStringsToNodeDscr
  552. (
  553. MSElementDescr    *in,            /* <=> descriptor of text node */
  554. char        *buffer            /* =>  buffer of text strings */
  555. );
  556.  
  557. int    mdlText_extractStringsFromDscr
  558. (
  559. char        *buffer,        /* <= buffer to receive text strings */
  560. int         bufferSize,        /* => size of user buffer */
  561. MSElementDescr    *in            /* => descriptor of text or text node */
  562. );
  563.  
  564. void     mdlText_changeElementFont
  565. (
  566. MSElement       *u,
  567. TextStyleInfo          *newTfs
  568. );
  569.  
  570. int    mdlText_create
  571. (
  572. MSElement    *out,            /* <= text element created */
  573. MSElement    *in,            /* => template element */
  574. char        *stringParam,        /* => ASCII or multibyte string */
  575. Dpoint3d    *userOrigin,        /* => user specified point */
  576. TextSizeParam    *size,            /* => text size */
  577. RotMatrix    *trans,            /* => rotation matrix */
  578. TextParam    *txtParams,        /* => font, justifaction, etc. */
  579. TextEDParam    *edParam        /* => enter-data field info */
  580. );
  581.  
  582. int    mdlText_createWide
  583. (
  584. MSElement    *out,            /* <= text element created */
  585. MSElement    *in,            /* => template element */
  586. MSWideChar    *wString,         /* => wide character string */
  587. Dpoint3d    *userOrigin,        /* => user specified point */
  588. RotMatrix    *trans,            /* => rotation matrix */
  589. TextSizeParam   *size,            /* => text size */
  590. TextParamWide    *txtParams,        /* => font, just, slant, underline, etc. */
  591. TextEDParam    *edParam        /* => enter-data field info */
  592. );
  593.  
  594. void mdlText_expandTabs
  595. (
  596. char    *outstringP,
  597. char    *instringP,
  598. int     maxsize,
  599. int     tab_interval
  600. );
  601.  
  602. int    mdlText_extract
  603. (
  604. Dpoint3d    *origin,    /* <= lower left corner */
  605. Dpoint3d    *userOrigin,    /* <= user specified origin */
  606. int        *edfields,    /* <= number of enter data fields  */
  607. TextEDField     *ed,        /* <= enter data field structure */
  608. char        *string,    /* <= ASCII or multibyte string */
  609. RotMatrix    *rotMatrix,    /* <= rotation matrix for text */
  610. TextStyleInfo    *tfs,        /* <= text font style */
  611. int        *just,        /* <= text justification */
  612. MSTextSize    *tileSize,    /* <= character size (h and w) */
  613. MSTextSize    *textSize,    /* <= total text size */
  614. MSElement    *in        /* => pointer to the text element */
  615. );
  616.  
  617. void     mdlText_extractFontStyle
  618. (
  619. MSElement   *u,
  620. TextStyleInfo  *tfs
  621. );
  622.  
  623. int    mdlText_extractShape
  624. (
  625. Dpoint3d    rPoints[5],
  626. Dpoint3d    *rOrigin,
  627. MSElement    *in,
  628. int        addsnaptol,
  629. int        view
  630. );
  631.  
  632. int    mdlText_extractString
  633. (
  634. char        *txt,            /* <= ASCII or multibyte string */
  635. MSElement    *u            /* => pointer to the text element */
  636. );
  637.  
  638. boolean  mdlText_fontExists
  639. (
  640. int             fontNum
  641. );
  642.  
  643. int    mdlText_getCurrentFont
  644. (
  645. void
  646. );
  647.  
  648. int      mdlText_getFontInfo
  649. (
  650. TextFontInfo   *tfiP,        /* <= Information is stored here */
  651. int             fontNum        /* => Font numb for which info is desired */
  652.  
  653. );
  654.  
  655. int      mdlText_getFontName
  656. (
  657. char           *fontName,    /* <= Name of font (font description) */
  658. int             fontNum        /* => Font numb for which name is desired */
  659. );
  660.  
  661. int      mdlText_loadFontStyle
  662. (
  663. TextStyleInfo  *tfs
  664. );
  665.  
  666. int    mdlText_nodeFromText
  667. (
  668. Text_node_2d    *nodeTemplate,        /* <= template of text node element */
  669. Text_2d        *textTemplate        /* => template of text element */
  670. );
  671.  
  672. int    mdlText_textFromNode
  673. (
  674. MSElement     *ptext,          /* <= pointer to text template to be created */
  675. MSElement     *pnode          /* => pointer to exisiting node template */
  676. );
  677.  
  678. int    mdlText_extractWide
  679. (
  680. MSWideChar    *wString,    /* <= wide character string */
  681. Dpoint3d    *origin,    /* <= lower left corner */
  682. Dpoint3d    *userOrigin,    /* <= user specified point */
  683. RotMatrix        *rotMatrix,    /* <= rotation matrix for text */
  684. TextSizeParam    *textSize,    /* <=> character size or total text size */
  685. TextParamWide   *textParam,     /* <= font, just, slant, underline, etc. */
  686. TextEDParam    *edParam,    /* <= enter data field structure */
  687. MSElement    *in        /* => pointer to the text element */
  688. );
  689.  
  690. int    mdlText_extractStringWide
  691. (
  692. MSWideChar    *wString,    /* <= wide character string */
  693. MSElement    *el        /* => pointer to the text element */
  694. );
  695.  
  696. int    mdlTextNode_createWide
  697. (
  698. MSElement    *out,        /* <= text node element created */
  699. MSElement    *in,        /* => template element */
  700. Dpoint3d    *userOrigin,    /* => user specified point */
  701. RotMatrix    *rotMatrix,    /* => (view - angle) transformation  */
  702. TextSizeParam    *size,        /* => character size for this node */
  703. TextParamWide    *txtParams    /* => font, just, slant, underline, etc. */
  704. );
  705.  
  706. int    mdlTextNode_createWithStringsWide
  707. (
  708. MSElementDescr    **nodeDescrPP,    /* <= element descriptor */
  709. MSElement    *nodeTemplate,    /* => node template */
  710. MSWideChar    *wStrings[],    /* => wide character strings */
  711. int         numberStrings, /* => number of text strings */
  712. Dpoint3d    *userOrigin,    /* => user specified point */
  713. RotMatrix    *rotMatrix,    /* => (view - angle) transformation  */
  714. TextSizeParam    *sizeParam,    /* => character size for this node */
  715. TextParamWide    *txtParams,    /* => font, just, slant, underline, etc. */
  716. TextEDParam    *textEDParam    /* => enter data fields */
  717. );
  718.  
  719. int    mdlTextNode_extractWide
  720. (
  721. Dpoint3d    *origin,    /* <= lower left corner */
  722. Dpoint3d    *userOrigin,    /* <= user specified point */
  723. RotMatrix    *rotMatrix,    /* <= rotation matrix */
  724. TextSizeParam    *txtSizeParam,    /* <=> text node size */
  725. TextParamWide    *txtParams,    /* <= font, just, slant, underline, etc. */
  726. MSElement    *in        /* => pointer to the text node element */
  727. );
  728.  
  729. int    mdlText_addStringsToNodeDscrWide
  730. (
  731. MSElementDescr    *in,            /* <=> descriptor of text node */
  732. MSWideChar    *pWString        /*  =>  buffer of text strings */
  733. );
  734.  
  735. int    mdlText_extractStringsFromDscrWide
  736. (
  737. MSWideChar    *buffer,        /* <= buffer to receive text strings */
  738. int         bufferSize,        /* => size of user buffer */
  739. MSElementDescr    *in            /* => descriptor of text or text node */
  740. );
  741.  
  742. int    mdlText_compressStringWide
  743. (
  744. MSWideChar    *outBuffer,    /* <= buffer to return string */
  745. MSWideChar    *inBuffer,    /* => raw string */
  746. int        bufferMax,        /* => length of output buffer */
  747. int        conversionType    /* => conversion mask */
  748. );
  749.  
  750. int    mdlText_compressString
  751. (
  752. char          *outBuffer,        /* <= buffer to return string */
  753. char        *inBuffer,        /* => raw string */
  754. int        bufferMax,        /* => length of output buffer */
  755. int        conversionType    /* => conversion mask */
  756. );
  757.  
  758. int    mdlText_expandStringWide
  759. (
  760. MSWideChar    *outBuffer,    /* <= buffer to return string */
  761. MSWideChar    *inBuffer,    /* => raw string */
  762. int        bufferMax,        /* => length of output buffer */
  763. int        conversionType    /* => conversion mask */
  764. );
  765.  
  766. int    mdlText_expandString
  767. (
  768. char       *outBuffer,        /* <= buffer to return string */
  769. char       *inBuffer,        /* => raw string */
  770. int        bufferMax,        /* => length of output buffer */
  771. int        conversionType    /* => conversion mask */
  772. );
  773.  
  774. int     mdlText_getElementDescr
  775. (
  776. MSElementDescr    **outEdPP,
  777. Text_2d        *pTextElm,
  778. RotMatrix    *viewRMatrixP
  779. );
  780.  
  781. int    mdlText_getStringArrayFromBuffer
  782. (
  783. char        ***textStrings,     /* <= string array */
  784. char          *buffer,        /* => string buffer */
  785. int           totalLines       /* => lines of text in buffer */
  786. );
  787.  
  788. int    mdlText_freeStringArray
  789. (
  790. char    **strings,        /* => string array */
  791. int      totalLines        /* => lines of text */
  792. );
  793.  
  794. int    mdlText_countBufferStrings
  795. (
  796. char    *buffer        /* => text buffer */
  797. );
  798.  
  799. int    mdlText_wordWrapBuffer
  800. (
  801. char    *buffer,        /* <=> text buffer */
  802. int     bufferMax,        /* => maximum length of buffer */
  803. int     maxLength        /* => line length */
  804. );
  805.  
  806. #endif
  807.