dbmleaderstyle.h 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569
  1. //
  2. //////////////////////////////////////////////////////////////////////////////
  3. //
  4. // Copyright 2015 Autodesk, Inc. All rights reserved.
  5. //
  6. // Use of this software is subject to the terms of the Autodesk license
  7. // agreement provided at the time of installation or download, or which
  8. // otherwise accompanies this software in either electronic or hard copy form.
  9. //
  10. //////////////////////////////////////////////////////////////////////////////
  11. //
  12. #ifndef __DBMLEADERSTYLE_H__
  13. #define __DBMLEADERSTYLE_H__
  14. #pragma once
  15. #include "AcString.h"
  16. ////////////////////////////////////////////////////////////////////////
  17. // class AcDbMLeader
  18. ////////////////////////////////////////////////////////////////////////
  19. /// <summary>
  20. /// This class is the main class used for the multiple leader style object.
  21. /// </summary>
  22. ///
  23. /// <remarks>
  24. /// </remarks>
  25. ///
  26. class AcDbMLeaderStyle : public AcDbObject
  27. {
  28. public:
  29. /// <summary>
  30. /// This enum is content type of mleader.
  31. /// </summary>
  32. ///
  33. enum ContentType {
  34. /// <summary>
  35. /// mleader has none content
  36. /// </summary>
  37. ///
  38. /// <value>
  39. /// 0
  40. /// </value>
  41. kNoneContent = 0,
  42. /// <summary>
  43. /// mleader has block content
  44. /// </summary>
  45. ///
  46. /// <value>
  47. /// 1
  48. /// </value>
  49. kBlockContent = 1,
  50. /// <summary>
  51. /// mleader has mtext content
  52. /// </summary>
  53. ///
  54. /// <value>
  55. /// 2
  56. /// </value>
  57. kMTextContent = 2,
  58. /// <summary>
  59. /// mleader has tolerance content
  60. /// </summary>
  61. ///
  62. /// <value>
  63. /// 3
  64. /// </value>
  65. kToleranceContent = 3,
  66. };
  67. /// <summary>
  68. /// This enum is draw mleader order type.
  69. /// </summary>
  70. ///
  71. enum DrawMLeaderOrderType {
  72. /// <summary>
  73. /// draw mleader content first
  74. /// </summary>
  75. ///
  76. /// <value>
  77. /// 0
  78. /// </value>
  79. kDrawContentFirst = 0,
  80. /// <summary>
  81. /// draw mleader leaderline first
  82. /// </summary>
  83. ///
  84. /// <value>
  85. /// 1
  86. /// </value>
  87. kDrawLeaderFirst = 1
  88. };
  89. /// <summary>
  90. /// This enum is draw mleaderLine order type.
  91. /// </summary>
  92. ///
  93. enum DrawLeaderOrderType {
  94. /// <summary>
  95. /// draw leaderline head first
  96. /// </summary>
  97. ///
  98. /// <value>
  99. /// 0
  100. /// </value>
  101. kDrawLeaderHeadFirst = 0,
  102. /// <summary>
  103. /// draw leaderline tail first
  104. /// </summary>
  105. ///
  106. /// <value>
  107. /// 1
  108. /// </value>
  109. kDrawLeaderTailFirst = 1
  110. };
  111. /// <summary>
  112. /// This enum is leader type of mleader.
  113. /// </summary>
  114. ///
  115. enum LeaderType {
  116. /// <summary>
  117. /// invisible leader
  118. /// </summary>
  119. ///
  120. /// <value>
  121. /// 0
  122. /// </value>
  123. kInVisibleLeader = 0,
  124. /// <summary>
  125. /// straight line leader
  126. /// </summary>
  127. ///
  128. /// <value>
  129. /// 1
  130. /// </value>
  131. kStraightLeader = 1,
  132. /// <summary>
  133. /// spline line leader
  134. /// </summary>
  135. ///
  136. /// <value>
  137. /// 2
  138. /// </value>
  139. kSplineLeader = 2
  140. };
  141. /// <summary>
  142. /// This enum is text attachment direction of mleader text content.
  143. /// </summary>
  144. ///
  145. enum TextAttachmentDirection {
  146. /// <summary>
  147. /// Horizontally attach to mtext content
  148. /// </summary>
  149. ///
  150. /// <value>
  151. /// 0
  152. /// </value>
  153. kAttachmentHorizontal = 0,
  154. /// <summary>
  155. /// Vertically attach to mtext content
  156. /// </summary>
  157. ///
  158. /// <value>
  159. /// 1
  160. /// </value>
  161. kAttachmentVertical = 1
  162. };
  163. /// <summary>
  164. /// This enum is text attachment type of mleader text content.
  165. /// </summary>
  166. ///
  167. enum TextAttachmentType {
  168. /// <summary>
  169. /// attach to top of top text line of mtext content
  170. /// </summary>
  171. ///
  172. /// <value>
  173. /// 0
  174. /// </value>
  175. kAttachmentTopOfTop = 0,
  176. /// <summary>
  177. /// attach to middle of top text line of mtext content
  178. /// </summary>
  179. ///
  180. /// <value>
  181. /// 1
  182. /// </value>
  183. kAttachmentMiddleOfTop = 1,
  184. /// <summary>
  185. /// attach to middle of mtext content
  186. /// </summary>
  187. ///
  188. /// <value>
  189. /// 2
  190. /// </value>
  191. kAttachmentMiddle = 2,
  192. /// <summary>
  193. /// attach to middle of bottom text line of mtext content
  194. /// </summary>
  195. ///
  196. /// <value>
  197. /// 3
  198. /// </value>
  199. kAttachmentMiddleOfBottom = 3,
  200. /// <summary>
  201. /// attach to bottom of bottom text line of mtext content
  202. /// </summary>
  203. ///
  204. /// <value>
  205. /// 4
  206. /// </value>
  207. kAttachmentBottomOfBottom = 4,
  208. /// <summary>
  209. /// attach to bottom of bottom text line of mtext content and draw a underline
  210. /// </summary>
  211. ///
  212. /// <value>
  213. /// 5
  214. /// </value>
  215. kAttachmentBottomLine = 5,
  216. /// <summary>
  217. /// attach to bottom of top text line of mtext content and draw a underline
  218. /// </summary>
  219. ///
  220. /// <value>
  221. /// 6
  222. /// </value>
  223. kAttachmentBottomOfTopLine = 6,
  224. /// <summary>
  225. /// attach to bottom of top text line of mtext content
  226. /// </summary>
  227. ///
  228. /// <value>
  229. /// 7
  230. /// </value>
  231. kAttachmentBottomOfTop = 7,
  232. /// <summary>
  233. /// attach to bottom of top text line of mtext content, and draw underline to whole mtext
  234. /// </summary>
  235. ///
  236. /// <value>
  237. /// 8
  238. /// </value>
  239. kAttachmentAllLine = 8,
  240. /// <summary>
  241. /// vertically attach to center of mtext content top/bottom
  242. /// </summary>
  243. ///
  244. /// <value>
  245. /// 0
  246. /// </value>
  247. kAttachmentCenter = 9,
  248. /// <summary>
  249. /// vertically attach to center of mtext content top/bottom, and draw a overline/underline
  250. /// </summary>
  251. ///
  252. /// <value>
  253. /// 1
  254. /// </value>
  255. kAttachmentLinedCenter = 10
  256. };
  257. /// <summary>
  258. /// This enum is text angle type of mleader text content.
  259. /// </summary>
  260. ///
  261. enum TextAngleType {
  262. /// <summary>
  263. /// The direction of text is according to the last leaderline segment.
  264. /// </summary>
  265. ///
  266. /// <value>
  267. /// 0
  268. /// </value>
  269. kInsertAngle = 0,
  270. /// <summary>
  271. /// The direction of text is always horizontal.
  272. /// </summary>
  273. ///
  274. /// <value>
  275. /// 1
  276. /// </value>
  277. kHorizontalAngle = 1,
  278. /// <summary>
  279. /// The direction of text is according to the last leaderline segment and text is always right-side up.
  280. /// </summary>
  281. ///
  282. /// <value>
  283. /// 2
  284. /// </value>
  285. kAlwaysRightReadingAngle = 2
  286. };
  287. /// <summary>
  288. /// This enum is text alignment type.
  289. /// </summary>
  290. ///
  291. enum TextAlignmentType {
  292. /// <summary>
  293. /// Left-justifies text in the MText.
  294. /// </summary>
  295. ///
  296. /// <value>
  297. /// 0
  298. /// </value>
  299. kLeftAlignment = 0,
  300. /// <summary>
  301. /// Centers text in MText.
  302. /// </summary>
  303. ///
  304. /// <value>
  305. /// 1
  306. /// </value>
  307. kCenterAlignment = 1,
  308. /// <summary>
  309. /// Right-justifies text in MText.
  310. /// </summary>
  311. ///
  312. /// <value>
  313. /// 2
  314. /// </value>
  315. kRightAlignment = 2
  316. };
  317. /// <summary>
  318. /// This enum is block connection type of mleader block content.
  319. /// </summary>
  320. ///
  321. enum BlockConnectionType {
  322. /// <summary>
  323. /// Connect to extents of block.
  324. /// </summary>
  325. ///
  326. /// <value>
  327. /// 0
  328. /// </value>
  329. kConnectExtents = 0,
  330. /// <summary>
  331. /// Connect to block base(origin) point.
  332. /// </summary>
  333. ///
  334. /// <value>
  335. /// 1
  336. /// </value>
  337. kConnectBase = 1
  338. };
  339. /// <summary>
  340. /// This enum is leader direction type.
  341. /// </summary>
  342. ///
  343. enum LeaderDirectionType {
  344. /// <summary>
  345. /// unkown direction leader.
  346. /// </summary>
  347. ///
  348. /// <value>
  349. /// 0
  350. /// </value>
  351. kUnknownLeader = 0,
  352. /// <summary>
  353. /// left leader.
  354. /// </summary>
  355. ///
  356. /// <value>
  357. /// 1
  358. /// </value>
  359. kLeftLeader = 1,
  360. /// <summary>
  361. /// right leader.
  362. /// </summary>
  363. ///
  364. /// <value>
  365. /// 2
  366. /// </value>
  367. kRightLeader = 2,
  368. /// <summary>
  369. /// top leader.
  370. /// </summary>
  371. ///
  372. /// <value>
  373. /// 1
  374. /// </value>
  375. kTopLeader = 3,
  376. /// <summary>
  377. /// bottom leader.
  378. /// </summary>
  379. ///
  380. /// <value>
  381. /// 2
  382. /// </value>
  383. kBottomLeader = 4
  384. };
  385. /// <summary>
  386. /// This enum is segment angle type.
  387. /// </summary>
  388. ///
  389. enum SegmentAngleType {
  390. /// <summary>
  391. /// Any degrees.
  392. /// </summary>
  393. ///
  394. /// <value>
  395. /// 0
  396. /// </value>
  397. kAny = 0,
  398. /// <summary>
  399. /// 15 degrees.
  400. /// </summary>
  401. ///
  402. /// <value>
  403. /// 1
  404. /// </value>
  405. k15 = 1,
  406. /// <summary>
  407. /// 30 degrees.
  408. /// </summary>
  409. ///
  410. /// <value>
  411. /// 2
  412. /// </value>
  413. k30 = 2,
  414. /// <summary>
  415. /// 45 degrees.
  416. /// </summary>
  417. ///
  418. /// <value>
  419. /// 3
  420. /// </value>
  421. k45 = 3,
  422. /// <summary>
  423. /// 60 degrees.
  424. /// </summary>
  425. ///
  426. /// <value>
  427. /// 4
  428. /// </value>
  429. k60 = 4,
  430. /// <summary>
  431. /// 90 degrees.
  432. /// </summary>
  433. ///
  434. /// <value>
  435. /// 5
  436. /// </value>
  437. k90 = 6,
  438. /// <summary>
  439. /// 180 degrees.
  440. /// </summary>
  441. ///
  442. /// <value>
  443. /// 6
  444. /// </value>
  445. kHorz = 12
  446. };
  447. public:
  448. /// <summary>
  449. /// Default constructor.
  450. /// </summary>
  451. ///
  452. /// <remarks>
  453. /// Default constructor.
  454. /// </remarks>
  455. ///
  456. AcDbMLeaderStyle();
  457. /// <summary>
  458. /// Default destructor.
  459. /// </summary>
  460. ///
  461. /// <remarks>
  462. /// Default destructor.
  463. /// </remarks>
  464. ///
  465. virtual ~AcDbMLeaderStyle();
  466. ACDB_DECLARE_MEMBERS(AcDbMLeaderStyle);
  467. /// <summary>
  468. /// Get the name of AcDbMLeaderStyle
  469. /// </summary>
  470. ///
  471. /// <param name="pszName">
  472. /// Output the name of AcDbMLeaderStyle
  473. /// </param>
  474. ///
  475. /// <returns>
  476. /// Return Acae::eOk if Successful
  477. /// </returns>
  478. virtual Acad::ErrorStatus getName(ACHAR*& pszName) const;
  479. /// <summary>
  480. /// Set the name of AcDbMLeaderStyle
  481. /// </summary>
  482. ///
  483. /// <param name="pszName">
  484. /// Input the name of AcDbMLeaderStyle
  485. /// </param>
  486. ///
  487. /// <returns>
  488. /// Return Acae::eOk if Successful
  489. /// </returns>
  490. virtual Acad::ErrorStatus setName(const ACHAR * pszName);
  491. /// <summary>
  492. /// Return if the AcDbMLeaderStyle can be renamed.
  493. /// </summary>
  494. ///
  495. /// <returns>
  496. /// Return true if the AcDbMLeaderStyle is not Standard style.
  497. /// </returns>
  498. bool isRenamable() const;
  499. /// <summary>
  500. /// Return the pointer to a string containing the description of this mleader style.
  501. /// </summary>
  502. ///
  503. /// <returns>
  504. /// Return the pointer to a string containing the description of this mleader style.
  505. /// </returns>
  506. virtual const ACHAR* description(void) const;
  507. /// <summary>
  508. /// Set the pointer to a string containing the description of this mleader style.
  509. /// </summary>
  510. ///
  511. /// <param name="pszDescription">
  512. /// Input the pointer to a string containing the description of this mleader style.
  513. /// </param>
  514. ///
  515. /// <returns>
  516. /// Return Acad::eOk if successful.
  517. /// </returns>
  518. virtual Acad::ErrorStatus setDescription(const ACHAR * pszDescription);
  519. /// <summary>
  520. /// Return an unsigned integer representing the operation bit set for the AcDbMLeaderStyle object.
  521. /// </summary>
  522. ///
  523. /// <returns>
  524. /// Return an unsigned integer representing the operation bit set for the AcDbMLeaderStyle object.
  525. /// </returns>
  526. virtual Adesk::UInt32 bitFlags() const;
  527. /// <summary>
  528. /// Set the operation bit set for the AcDbMLeaderStyle object.
  529. /// </summary>
  530. ///
  531. /// <param name="flags">
  532. /// Input the operation bit set for the AcDbMLeaderStyle object.
  533. /// </param>
  534. ///
  535. /// <returns>
  536. /// Return Acad::eOk if successful.
  537. /// </returns>
  538. virtual Acad::ErrorStatus setBitFlags(Adesk::UInt32 flags);
  539. /// <summary>
  540. /// Set the content type of AcDbMLeaderStyle.
  541. /// </summary>
  542. ///
  543. /// <param name="contentType">
  544. /// Input the content type
  545. /// </param>
  546. ///
  547. /// <returns>
  548. /// Return Acad::eOk if successful.
  549. /// </returns>
  550. Acad::ErrorStatus setContentType (ContentType contentType);
  551. /// <summary>
  552. /// Return the content type of AcDbMLeaderStyle.
  553. /// </summary>
  554. ///
  555. /// <returns>
  556. /// Return the content type of AcDbMLeaderStyle.
  557. /// </returns>
  558. ContentType contentType () const;
  559. /// <summary>
  560. /// Set the order of MLeader creation.
  561. /// </summary>
  562. ///
  563. /// <param name="drawMLeaderOrderType">
  564. /// Input the order of MLeader creation
  565. /// </param>
  566. ///
  567. /// <returns>
  568. /// Return Acad::eOk if successful.
  569. /// </returns>
  570. Acad::ErrorStatus setDrawMLeaderOrderType (DrawMLeaderOrderType drawMLeaderOrderType);
  571. /// <summary>
  572. /// Return the order of MLeader creation.
  573. /// </summary>
  574. ///
  575. /// <returns>
  576. /// Return the order of MLeader creation.
  577. /// </returns>
  578. DrawMLeaderOrderType drawMLeaderOrderType () const;
  579. /// <summary>
  580. /// Set the order of Leader line creation when creating a MLeader.
  581. /// </summary>
  582. ///
  583. /// <param name="drawLeaderOrderType">
  584. /// Input the order of Leader line creation when creating a MLeader
  585. /// </param>
  586. ///
  587. /// <returns>
  588. /// Return Acad::eOk if successful.
  589. /// </returns>
  590. Acad::ErrorStatus setDrawLeaderOrderType (DrawLeaderOrderType drawLeaderOrderType);
  591. /// <summary>
  592. /// Return the order of Leader line creation when creating a MLeader.
  593. /// </summary>
  594. ///
  595. /// <returns>
  596. /// Return the order of Leader line creation when creating a MLeader.
  597. /// </returns>
  598. DrawLeaderOrderType drawLeaderOrderType () const;
  599. /// <summary>
  600. /// Set the max number of segment points in leader lines.
  601. /// </summary>
  602. ///
  603. /// <param name="maxLeaderSegmentsPoints">
  604. /// Input the max number of segment points in leader lines
  605. /// </param>
  606. ///
  607. /// <returns>
  608. /// Return Acad::eOk if successful.
  609. /// </returns>
  610. ///
  611. /// <remarks>
  612. /// If maxLeaderSegmentsPoints is 0, the max number of points is unlimited.
  613. /// </remarks>
  614. Acad::ErrorStatus setMaxLeaderSegmentsPoints (int maxLeaderSegmentsPoints);
  615. /// <summary>
  616. /// Return the max number of segment points in leader lines.
  617. /// </summary>
  618. ///
  619. /// <returns>
  620. /// Return the max number of segment points in leader lines.
  621. /// If the max number of points is unlimited, 0 will be returned.
  622. /// </returns>
  623. int maxLeaderSegmentsPoints () const;
  624. /// <summary>
  625. /// Set the first segment angle constraint when creating a MLeader
  626. /// </summary>
  627. ///
  628. /// <param name="angle">
  629. /// Input the first segment angle constraint when creating a MLeader
  630. /// </param>
  631. ///
  632. /// <returns>
  633. /// Return Acad::eOk if successful.
  634. /// </returns>
  635. ///
  636. /// <remarks>
  637. /// If angle is kAny, the angle constraint is unused.
  638. /// </remarks>
  639. Acad::ErrorStatus setFirstSegmentAngleConstraint (SegmentAngleType angle);
  640. /// <summary>
  641. /// Return the first segment angle constraint when creating a MLeader.
  642. /// </summary>
  643. ///
  644. /// <returns>
  645. /// Return the first segment angle constraint when creating a MLeader.
  646. /// If the angle constraint is unused, kAny will be returned.
  647. /// </returns>
  648. SegmentAngleType firstSegmentAngleConstraint () const;
  649. /// <summary>
  650. /// Set the second segment angle constraint when creating a MLeader
  651. /// </summary>
  652. ///
  653. /// <param name="angle">
  654. /// Input the second segment angle constraint when creating a MLeader
  655. /// </param>
  656. ///
  657. /// <returns>
  658. /// Return Acad::eOk if successful
  659. /// </returns>
  660. ///
  661. /// <remarks>
  662. /// If angle is kAny, the angle constraint is unused.
  663. /// </remarks>
  664. Acad::ErrorStatus setSecondSegmentAngleConstraint(SegmentAngleType angle);
  665. /// <summary>
  666. /// Return the second segment angle constraint when creating a MLeader.
  667. /// </summary>
  668. ///
  669. /// <returns>
  670. /// Return the second segment angle constraint when creating a MLeader.
  671. /// If the angle constraint is unused, kAny will be returned.
  672. /// </returns>
  673. SegmentAngleType secondSegmentAngleConstraint () const;
  674. /// <summary>
  675. /// Set the leader line type.
  676. /// </summary>
  677. ///
  678. /// <param name="leaderLineType">
  679. /// Input the leader line type
  680. /// </param>
  681. ///
  682. /// <returns>
  683. /// Return Acad::eOk if successful.
  684. /// </returns>
  685. Acad::ErrorStatus setLeaderLineType (LeaderType leaderLineType);
  686. /// <summary>
  687. /// Return the leader line type.
  688. /// </summary>
  689. ///
  690. /// <returns>
  691. /// Return the leader line type.
  692. /// </returns>
  693. LeaderType leaderLineType () const;
  694. /// <summary>
  695. /// Set the color of leader lines.
  696. /// </summary>
  697. ///
  698. /// <param name="leaderLineColor">
  699. /// Input the color of leader lines
  700. /// </param>
  701. ///
  702. /// <returns>
  703. /// Return Acad::eOk if successful.
  704. /// </returns>
  705. Acad::ErrorStatus setLeaderLineColor (const AcCmColor& leaderLineColor);
  706. /// <summary>
  707. /// Return the color of leader lines.
  708. /// </summary>
  709. ///
  710. /// <returns>
  711. /// Return the color of leader lines.
  712. /// </returns>
  713. AcCmColor leaderLineColor () const;
  714. /// <summary>
  715. /// Set the linetype of leader lines.
  716. /// </summary>
  717. ///
  718. /// <param name="leaderLineTypeId">
  719. /// Input the linetype Id.
  720. /// </param>
  721. ///
  722. /// <returns>
  723. /// Return Acad::eOk if successful.
  724. /// </returns>
  725. Acad::ErrorStatus setLeaderLineTypeId (AcDbObjectId leaderLineTypeId);
  726. /// <summary>
  727. /// Return the linetype Id of leader lines.
  728. /// </summary>
  729. ///
  730. /// <returns>
  731. /// Return the linetype Id of leader lines.
  732. /// </returns>
  733. AcDbObjectId leaderLineTypeId () const;
  734. /// <summary>
  735. /// Set the line weight of leader lines.
  736. /// </summary>
  737. ///
  738. /// <param name="leaderLineWeight">
  739. /// Input the line weight of leader lines
  740. /// </param>
  741. ///
  742. /// <returns>
  743. /// Return Acad::eOk if successful.
  744. /// </returns>
  745. Acad::ErrorStatus setLeaderLineWeight (AcDb::LineWeight leaderLineWeight);
  746. /// <summary>
  747. /// Return the line weight of leader lines.
  748. /// </summary>
  749. ///
  750. /// <returns>
  751. /// Return the line weight of leader lines.
  752. /// </returns>
  753. AcDb::LineWeight leaderLineWeight () const;
  754. /// <summary>
  755. /// Enable/disable landing of leader line.
  756. /// </summary>
  757. ///
  758. /// <param name="enableLanding">
  759. /// Input boolean to enable/disable landing of leader line.
  760. /// </param>
  761. ///
  762. /// <returns>
  763. /// Return Acad::eOk if successful.
  764. /// </returns>
  765. ///
  766. /// <remarks>
  767. /// If disable landing, the landing gap will be ignored.
  768. /// </remarks>
  769. Acad::ErrorStatus setEnableLanding (bool enableLanding);
  770. /// <summary>
  771. /// Indicate whether landing of leader line is enabled.
  772. /// </summary>
  773. ///
  774. /// <returns>
  775. /// If landing of leader line is enabled, returns true; otherwise, returns false.
  776. /// </returns>
  777. bool enableLanding () const;
  778. /// <summary>
  779. /// Set the gap between MText and the tail of leader lines.
  780. /// </summary>
  781. ///
  782. /// <param name="landingGap">
  783. /// Input the gap between MText and the tail of leader lines.
  784. /// </param>
  785. ///
  786. /// <returns>
  787. /// Return Acad::eOk if successful.
  788. /// </returns>
  789. Acad::ErrorStatus setLandingGap (double landingGap);
  790. /// <summary>
  791. /// Return the gap between MText and the tail of leader lines.
  792. /// </summary>
  793. ///
  794. /// <returns>
  795. /// Return the gap between MText and the tail of leader lines.
  796. /// </returns>
  797. double landingGap () const;
  798. /// <summary>
  799. /// Enable or disable dog-leg leader lines.
  800. /// </summary>
  801. ///
  802. /// <param name="enableDogleg">
  803. /// Input boolean to enable/disable dog-leg leader lines.
  804. /// </param>
  805. ///
  806. /// <returns>
  807. /// Return Acad::eOk if successful.
  808. /// </returns>
  809. Acad::ErrorStatus setEnableDogleg (bool enableDogleg);
  810. /// <summary>
  811. /// Indicate whether dog-leg leader lines are enabled.
  812. /// </summary>
  813. ///
  814. /// <returns>
  815. /// Return true if dog-leg leader lines are enabled; otherwise, returns false.
  816. /// </returns>
  817. bool enableDogleg () const;
  818. /// <summary>
  819. /// Return the length of dog-leg leader line.
  820. /// </summary>
  821. ///
  822. /// <param name="doglegLength">
  823. /// Input the length of dog-leg leader line.
  824. /// </param>
  825. ///
  826. /// <returns>
  827. /// Return Acad::eOk if successful.
  828. /// </returns>
  829. Acad::ErrorStatus setDoglegLength (double doglegLength);
  830. /// <summary>
  831. /// Return the length of dog-leg leader line.
  832. /// </summary>
  833. ///
  834. /// <returns>
  835. /// Return the length of dog-leg leader line.
  836. /// </returns>
  837. double doglegLength () const;
  838. /// <summary>
  839. /// Set the arrow symbol id by arrow name.
  840. /// </summary>
  841. ///
  842. /// <param name="name">
  843. /// Input the name of arrow symbol.
  844. /// </param>
  845. ///
  846. /// <returns>
  847. /// Return Acad::eOk if successful.
  848. /// </returns>
  849. Acad::ErrorStatus setArrowSymbolId (const ACHAR* name);
  850. /// <summary>
  851. /// Set the arrow symbol by objectId.
  852. /// </summary>
  853. ///
  854. /// <param name="arrowSymbolId">
  855. /// Input the objectId of arrow symbol.
  856. /// </param>
  857. ///
  858. /// <returns>
  859. /// Return Acad::eOk if successful.
  860. /// </returns>
  861. Acad::ErrorStatus setArrowSymbolId (AcDbObjectId arrowSymbolId);
  862. /// <summary>
  863. /// Return objectId of the arrow symbol.
  864. /// </summary>
  865. ///
  866. /// <returns>
  867. /// Return objectId of the arrow symbol.
  868. /// </returns>
  869. AcDbObjectId arrowSymbolId () const;
  870. /// <summary>
  871. /// Set the arrow size.
  872. /// </summary>
  873. ///
  874. /// <param name="arrowSize">
  875. /// Input arrow size.
  876. /// </param>
  877. ///
  878. /// <returns>
  879. /// Return Acad::eOk if successful.
  880. /// </returns>
  881. Acad::ErrorStatus setArrowSize (double arrowSize);
  882. /// <summary>
  883. /// Return arrow size.
  884. /// </summary>
  885. ///
  886. /// <returns>
  887. /// Return arrow size.
  888. /// </returns>
  889. double arrowSize () const;
  890. /// <summary>
  891. /// Set the default text displayed in MText of balloon content.
  892. /// </summary>
  893. ///
  894. /// <param name="defaultMText">
  895. /// Input the default text displayed in MText of balloon content.
  896. /// </param>
  897. ///
  898. /// <returns>
  899. /// Return Acad::eOk if successful.
  900. /// </returns>
  901. ///
  902. /// <remarks>
  903. /// This function just copies the mtext's content and fields.
  904. /// </remarks>
  905. Acad::ErrorStatus setDefaultMText (const AcDbMText* defaultMText);
  906. /// <summary>
  907. /// Return the default mtext
  908. /// </summary>
  909. ///
  910. /// <returns>
  911. /// Return the cloned mtext. If there is no default mtext, return NULL.
  912. /// </returns>
  913. AcDbMText* defaultMText () const;
  914. /// <summary>
  915. /// Set text style by objectId.
  916. /// </summary>
  917. ///
  918. /// <param name="textStyleId">
  919. /// Input the objectId of text style.
  920. /// </param>
  921. ///
  922. /// <returns>
  923. /// Return Acad::eOk if successful.
  924. /// </returns>
  925. Acad::ErrorStatus setTextStyleId (AcDbObjectId textStyleId);
  926. /// <summary>
  927. /// Return the objectId of text style.
  928. /// </summary>
  929. ///
  930. /// <returns>
  931. /// Return the objectId of text style.
  932. /// </returns>
  933. AcDbObjectId textStyleId () const;
  934. /// <summary>
  935. /// Set the type of text attachment to specific direction leader.
  936. /// </summary>
  937. ///
  938. /// <param name="textAttachmentType">
  939. /// Input the type of text attachment.
  940. /// </param>
  941. /// <param name="leaderDirection">
  942. /// Input text leader direction type.
  943. /// </param>
  944. ///
  945. /// <returns>
  946. /// Return Acad::eOk if successful.
  947. /// </returns>
  948. Acad::ErrorStatus setTextAttachmentType (TextAttachmentType textAttachmentType,
  949. LeaderDirectionType leaderDirection);
  950. /// <summary>
  951. /// Returns text attachment type of specific direction leader.
  952. /// </summary>
  953. ///
  954. /// <param name="leaderDirection">
  955. /// Input text leader direction type.
  956. /// </param>
  957. ///
  958. /// <returns>
  959. /// Return text attachment type.
  960. /// </returns>
  961. TextAttachmentType textAttachmentType (LeaderDirectionType leaderDirection) const;
  962. /// <remarks>
  963. /// Deprecated: This method will be removed in a future release.
  964. /// Instead, use the method:
  965. /// <code>
  966. /// Acad::ErrorStatus setTextAttachmentType(TextAttachmentType textAttachmentType,
  967. /// LeaderDirectionType leaderDirection);
  968. /// </code>
  969. /// </remarks>
  970. Acad::ErrorStatus setTextAttachmentType (TextAttachmentType textAttachmentType);
  971. /// <remarks>
  972. /// Deprecated: This method will be removed in a future release.
  973. /// Instead, use the method:
  974. /// <code>
  975. /// TextAttachmentType textAttachmentType(LeaderDirectionType leaderDirection) const;
  976. /// </code>
  977. /// </remarks>
  978. TextAttachmentType textAttachmentType () const;
  979. /// <summary>
  980. /// Set the angle type of text with respect to the last leader line segment.
  981. /// </summary>
  982. ///
  983. /// <param name="textAngleType">
  984. /// Input the angle type.
  985. /// </param>
  986. ///
  987. /// <returns>
  988. /// Return Acad::eOk if successful.
  989. /// </returns>
  990. Acad::ErrorStatus setTextAngleType (TextAngleType textAngleType);
  991. /// <summary>
  992. /// Return the angle type of text with respect to the last leader line segment.
  993. /// </summary>
  994. ///
  995. /// <returns>
  996. /// Return the angle type of text with respect to the last leader line segment.
  997. /// </returns>
  998. TextAngleType textAngleType () const;
  999. /// <summary>
  1000. /// Set text alignment type.
  1001. /// </summary>
  1002. ///
  1003. /// <param name="textAlignmentType">
  1004. /// Input text alignment type.
  1005. /// </param>
  1006. ///
  1007. /// <returns>
  1008. /// Return Acad::eOk if successful.
  1009. /// </returns>
  1010. Acad::ErrorStatus setTextAlignmentType (TextAlignmentType textAlignmentType);
  1011. /// <summary>
  1012. /// Return text alignment type.
  1013. /// </summary>
  1014. ///
  1015. /// <returns>
  1016. /// Return text alignment type.
  1017. /// </returns>
  1018. TextAlignmentType textAlignmentType () const;
  1019. /// <summary>
  1020. /// Input true to always align text on the left when creating a mleader.
  1021. /// </summary>
  1022. ///
  1023. /// <param name="bAlwaysLeft">
  1024. /// Input true to always align text on the left when creating a mleader.
  1025. /// </param>
  1026. ///
  1027. /// <returns>
  1028. /// Return Acad::eOk if successful.
  1029. /// </returns>
  1030. Acad::ErrorStatus setTextAlignAlwaysLeft (bool bAlwaysLeft);
  1031. /// <summary>
  1032. /// Return true if always align text on the left when creating a mleader.
  1033. /// </summary>
  1034. ///
  1035. /// <returns>
  1036. /// Return true if always align text on the left when creating a mleader.
  1037. /// </returns>
  1038. bool textAlignAlwaysLeft () const;
  1039. /// <summary>
  1040. /// Set text color of MText.
  1041. /// </summary>
  1042. ///
  1043. /// <param name="textColor">
  1044. /// Input the color.
  1045. /// </param>
  1046. ///
  1047. /// <returns>
  1048. /// Return Acad::eOk if successful.
  1049. /// </returns>
  1050. Acad::ErrorStatus setTextColor (const AcCmColor& textColor);
  1051. /// <summary>
  1052. /// Return text color of MText.
  1053. /// </summary>
  1054. ///
  1055. /// <returns>
  1056. /// Return text color of MText.
  1057. /// </returns>
  1058. AcCmColor textColor () const;
  1059. /// <summary>
  1060. /// Set the text height of MText.
  1061. /// </summary>
  1062. ///
  1063. /// <param name="textHeight">
  1064. /// Input text height.
  1065. /// </param>
  1066. ///
  1067. /// <returns>
  1068. /// Return Acad::eOk if successful.
  1069. /// </returns>
  1070. Acad::ErrorStatus setTextHeight (double textHeight);
  1071. /// <summary>
  1072. /// Return text height of MText.
  1073. /// </summary>
  1074. ///
  1075. /// <returns>
  1076. /// Return text height of MText.
  1077. /// </returns>
  1078. double textHeight () const;
  1079. /// <summary>
  1080. /// Display or hide text frame around the MText.
  1081. /// </summary>
  1082. ///
  1083. /// <param name="enableFrameText">
  1084. /// Input boolean to display/hide frame text.
  1085. /// </param>
  1086. ///
  1087. /// <returns>
  1088. /// Return Acad::eOk if successful.
  1089. /// </returns>
  1090. Acad::ErrorStatus setEnableFrameText (bool enableFrameText);
  1091. /// <summary>
  1092. /// Indicate whether or not the text frame is displayed around the MText.
  1093. /// </summary>
  1094. ///
  1095. /// <returns>
  1096. /// Return true if the text frame is enabled; otherwise, return false.
  1097. /// </returns>
  1098. bool enableFrameText () const;
  1099. /// <summary>
  1100. /// Set the alignment space value.
  1101. /// </summary>
  1102. ///
  1103. /// <param name="alignSpace">
  1104. /// Input alignment space value.
  1105. /// </param>
  1106. ///
  1107. /// <returns>
  1108. /// Return Acad::eOk if successful.
  1109. /// </returns>
  1110. Acad::ErrorStatus setAlignSpace (double alignSpace);
  1111. /// <summary>
  1112. /// Return alignment space value.
  1113. /// </summary>
  1114. ///
  1115. /// <returns>
  1116. /// Return alignment space value.
  1117. /// </returns>
  1118. double alignSpace () const;
  1119. /// <summary>
  1120. /// Set the Id of the block by name.
  1121. /// </summary>
  1122. ///
  1123. /// <param name="name">
  1124. /// Name of the built-in block.
  1125. /// </param>
  1126. ///
  1127. /// <returns>
  1128. /// Return Acad::eOk if successful.
  1129. /// </returns>
  1130. Acad::ErrorStatus setBlockId (const ACHAR* name);
  1131. /// <summary>
  1132. /// Set the Id of the block referenced by MLeader, it's a block table record id.
  1133. /// </summary>
  1134. ///
  1135. /// <param name="blockId">
  1136. /// Id of the block table record refenrenced by MLeader.
  1137. /// </param>
  1138. ///
  1139. /// <returns>
  1140. /// Return Acad::eOk if successful.
  1141. /// </returns>
  1142. Acad::ErrorStatus setBlockId (AcDbObjectId blockId);
  1143. /// <summary>
  1144. /// Return the Id of the block table record referenced by MLeader.
  1145. /// </summary>
  1146. ///
  1147. /// <returns>
  1148. /// Return the Id of the block table record referenced by MLeader.
  1149. /// </returns>
  1150. AcDbObjectId blockId () const;
  1151. /// <summary>
  1152. /// Set block color in block content.
  1153. /// </summary>
  1154. ///
  1155. /// <param name="blockColor">
  1156. /// Input block color.
  1157. /// </param>
  1158. ///
  1159. /// <returns>
  1160. /// Return Acad::eOk if successful.
  1161. /// </returns>
  1162. Acad::ErrorStatus setBlockColor (const AcCmColor& blockColor);
  1163. /// <summary>
  1164. /// Return block color in block content.
  1165. /// </summary>
  1166. ///
  1167. /// <returns>
  1168. /// Return block color in block content.
  1169. /// </returns>
  1170. AcCmColor blockColor () const;
  1171. /// <summary>
  1172. /// Set the scale of the block referenced by MLeader.
  1173. /// </summary>
  1174. ///
  1175. /// <param name="scale">
  1176. /// Scale of the block refenrenced by MLeader.
  1177. /// </param>
  1178. ///
  1179. /// <returns>
  1180. /// Return Acad::eOk if successful.
  1181. /// </returns>
  1182. ///
  1183. /// <remarks>
  1184. /// Currently AutoCAD and the ARX API libraries make no use of this method.
  1185. /// This method is deprecated and will be removed in a future version.
  1186. /// </remarks>
  1187. Acad::ErrorStatus setBlockScale (const AcGeScale3d& scale);
  1188. /// <summary>
  1189. /// Return the sacle of the block referenced by MLeader.
  1190. /// </summary>
  1191. ///
  1192. /// <returns>
  1193. /// Return the sacle of the block referenced by MLeader.
  1194. /// </returns>
  1195. ///
  1196. /// <remarks>
  1197. /// Currently AutoCAD and the ARX API libraries make no use of this method.
  1198. /// This method is deprecated and will be removed in a future version.
  1199. /// </remarks>
  1200. AcGeScale3d blockScale () const;
  1201. /// <summary>
  1202. /// Disable/enable the blockScale value managed by setBlockScale().
  1203. /// </summary>
  1204. ///
  1205. /// <param name="enableBlockScale">
  1206. /// Input boolean to disable/enable blockScale.
  1207. /// </param>
  1208. ///
  1209. /// <returns>
  1210. /// Return Acad::eOk if successful.
  1211. /// </returns>
  1212. ///
  1213. /// <remarks>
  1214. /// Currently AutoCAD and the ARX API libraries make no use of this method.
  1215. /// This method is deprecated and will be removed in a future version.
  1216. /// </remarks>
  1217. Acad::ErrorStatus setEnableBlockScale (bool enableBlockScale);
  1218. /// <summary>
  1219. /// Indicate whether the blockScale value managed by setBlockScale() works.
  1220. /// </summary>
  1221. ///
  1222. /// <returns>
  1223. /// Return true if the blockScale is enabled; otherwise, return false.
  1224. /// </returns>
  1225. ///
  1226. /// <remarks>
  1227. /// Currently AutoCAD and the ARX API libraries make no use of this method.
  1228. /// This method is deprecated and will be removed in a future version.
  1229. /// </remarks>
  1230. bool enableBlockScale () const;
  1231. /// <summary>
  1232. /// Set the rotation of the block referenced by MLeader.
  1233. /// </summary>
  1234. ///
  1235. /// <param name="rotation">
  1236. /// Rotation of the block refenrenced by MLeader.
  1237. /// </param>
  1238. ///
  1239. /// <returns>
  1240. /// Return Acad::eOk if successful.
  1241. /// </returns>
  1242. ///
  1243. /// <remarks>
  1244. /// Currently AutoCAD and the ARX API libraries make no use of this method.
  1245. /// This method is deprecated and will be removed in a future version.
  1246. /// </remarks>
  1247. Acad::ErrorStatus setBlockRotation (double rotation);
  1248. /// <summary>
  1249. /// Return the rotation of the block referenced by MLeader.
  1250. /// </summary>
  1251. ///
  1252. /// <returns>
  1253. /// Return the rotation of the block referenced by MLeader.
  1254. /// </returns>
  1255. ///
  1256. /// <remarks>
  1257. /// Currently AutoCAD and the ARX API libraries make no use of this method.
  1258. /// This method is deprecated and will be removed in a future version.
  1259. /// </remarks>
  1260. double blockRotation () const;
  1261. /// <summary>
  1262. /// Disable/enable the blockRotation value managed by setBlockRotation().
  1263. /// </summary>
  1264. ///
  1265. /// <param name="enableBlockRotation">
  1266. /// Input boolean to disable/enable blockRotation.
  1267. /// </param>
  1268. ///
  1269. /// <returns>
  1270. /// Return Acad::eOk if successful.
  1271. /// </returns>
  1272. ///
  1273. /// <remarks>
  1274. /// Currently AutoCAD and the ARX API libraries make no use of this method.
  1275. /// This method is deprecated and will be removed in a future version.
  1276. /// </remarks>
  1277. Acad::ErrorStatus setEnableBlockRotation (bool enableBlockRotation);
  1278. /// <summary>
  1279. /// Indicate whether the blockRotation value managed by setBlockRotation() works.
  1280. /// </summary>
  1281. ///
  1282. /// <returns>
  1283. /// Return true if the blockRotation is enabled; otherwise, returns false.
  1284. /// </returns>
  1285. ///
  1286. /// <remarks>
  1287. /// Currently AutoCAD and the ARX API libraries make no use of this method.
  1288. /// This method is deprecated and will be removed in a future version.
  1289. /// </remarks>
  1290. bool enableBlockRotation () const;
  1291. /// <summary>
  1292. /// Set block connection type.
  1293. /// </summary>
  1294. ///
  1295. /// <param name="blockConnectionType">
  1296. /// Input block connection type.
  1297. /// </param>
  1298. ///
  1299. /// <returns>
  1300. /// Return Acad::eOk if successful.
  1301. /// </returns>
  1302. Acad::ErrorStatus setBlockConnectionType (BlockConnectionType blockConnectionType);
  1303. /// <summary>
  1304. /// Return block connection type.
  1305. /// </summary>
  1306. ///
  1307. /// <returns>
  1308. /// Return block connection type.
  1309. /// </returns>
  1310. BlockConnectionType blockConnectionType () const;
  1311. /// <summary>
  1312. /// Set the scale of mleader created by this style.
  1313. /// </summary>
  1314. ///
  1315. /// <param name="scale">
  1316. /// Scale of mleader created by this style.
  1317. /// </param>
  1318. ///
  1319. /// <returns>
  1320. /// Return Acad::eOk if successful.
  1321. /// </returns>
  1322. Acad::ErrorStatus setScale (double scale);
  1323. /// <summary>
  1324. /// Return the scale of mleader created by this style.
  1325. /// </summary>
  1326. ///
  1327. /// <returns>
  1328. /// Return the scale of mleader created by this style.
  1329. /// </returns>
  1330. double scale () const;
  1331. /// <summary>
  1332. /// Indicate whether properties were changed.
  1333. /// </summary>
  1334. ///
  1335. /// <returns>
  1336. /// Return true if properties were changed; otherwise, returns false.
  1337. /// </returns>
  1338. bool overwritePropChanged () const;
  1339. /// <summary>
  1340. /// Add this AcDbMLeaderStyle into database.
  1341. /// </summary>
  1342. ///
  1343. /// <param name="pDb">
  1344. /// Pointer of the database which will hold the style
  1345. /// </param>
  1346. /// <param name="styleName">
  1347. /// Name of the MLeader Style
  1348. /// </param>
  1349. /// <param name="mleaderStyleId">
  1350. /// Output the AcDbObjectId of the AcDbMLeaderStyle posted into database
  1351. /// </param>
  1352. ///
  1353. /// <returns>
  1354. /// Return Acad::eOk if successful.
  1355. /// </returns>
  1356. Acad::ErrorStatus postMLeaderStyleToDb (AcDbDatabase* pDb, const ACHAR* styleName, AcDbObjectId & mleaderStyleId);
  1357. /// <summary>
  1358. /// Set the annotative status of AcDbMLeaderStyle.
  1359. /// </summary>
  1360. ///
  1361. /// <param name="isAnnotative">
  1362. /// New annotative status for AcDbMLeaderStyle
  1363. /// </param>
  1364. ///
  1365. /// <returns>
  1366. /// Return Acad::eOk if successful.
  1367. /// </returns>
  1368. Acad::ErrorStatus setAnnotative (bool isAnnotative);
  1369. /// <summary>
  1370. /// Return AcDbMLeaderStyle's annotative status.
  1371. /// </summary>
  1372. ///
  1373. /// <returns>
  1374. /// Return true if this is a annotative AcDbMLeaderStyle;
  1375. /// Otherwise, return false.
  1376. /// </returns>
  1377. bool annotative () const;
  1378. /// <summary>
  1379. /// Set the break size used for breaking leader lines.
  1380. /// </summary>
  1381. ///
  1382. /// <param name="size">
  1383. /// Size specifies the gap used for breaking leader lines.
  1384. /// </param>
  1385. ///
  1386. /// <returns>
  1387. /// Return Acad::eOk if successful.
  1388. /// </returns>
  1389. Acad::ErrorStatus setBreakSize (double size);
  1390. /// <summary>
  1391. /// Return the size of the gap used for breaking leader lines.
  1392. /// </summary>
  1393. ///
  1394. /// <returns>
  1395. /// Return the size of the gap used for breaking leader lines.
  1396. /// </returns>
  1397. double breakSize () const;
  1398. /// <summary>
  1399. /// Sets text attachment Direction of MText content.
  1400. /// </summary>
  1401. ///
  1402. /// <param name="textAttachmentDirection">
  1403. /// Input text attachment direction defined in AcDbMLeaderStyle::TextAttachmentDirection.
  1404. /// </param>
  1405. ///
  1406. /// <returns>
  1407. /// Returns Acad::eOk if successful.Return values for errors are implementation-dependent.
  1408. /// </returns>
  1409. ///
  1410. Acad::ErrorStatus setTextAttachmentDirection(AcDbMLeaderStyle::TextAttachmentDirection textAttachmentDirection);
  1411. /// <summary>
  1412. /// Gets text attachment direction of MText content.
  1413. /// </summary>
  1414. ///
  1415. /// <returns>
  1416. /// Returns text attachment direction of MText content.
  1417. /// </returns>
  1418. ///
  1419. TextAttachmentDirection textAttachmentDirection() const;
  1420. /// <summary>
  1421. /// Sets if horizontal leader lines are automatically extended to text.
  1422. /// </summary>
  1423. ///
  1424. /// <param name="value">
  1425. /// Input boolean to make the automatically leader extension on/off.
  1426. /// </param>
  1427. ///
  1428. /// <returns>
  1429. /// Returns Acad::eOk if successful.Return values for errors are implementation-dependent.
  1430. /// </returns>
  1431. ///
  1432. Acad::ErrorStatus setExtendLeaderToText(bool value);
  1433. /// <summary>
  1434. /// Gets if horizontal leader lines are automatically extended to text.
  1435. /// </summary>
  1436. ///
  1437. /// <returns>
  1438. /// Returns true if horizontal leader lines are automatically extended to text; otherwise, returns false.
  1439. /// </returns>
  1440. ///
  1441. bool extendLeaderToText() const;
  1442. protected:
  1443. /// <summary>
  1444. /// Gets corresponding COM wrapper class ID.
  1445. /// </summary>
  1446. ///
  1447. /// <param name="pClsid">
  1448. /// OutPut corresponding COM wrapper class ID.
  1449. /// </param>
  1450. ///
  1451. /// <returns>
  1452. /// Returns Acad::eOk if successful.Return values for errors are implementation-dependent.
  1453. /// </returns>
  1454. ///
  1455. virtual Acad::ErrorStatus subGetClassID (CLSID* pClsid) const;
  1456. };
  1457. #endif // __DBMLEADERSTYLE_H__