home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 February / Chip_2001-02_cd1.bin / sharewar / vecad / api / VecApi.h < prev    next >
C/C++ Source or Header  |  2000-10-13  |  80KB  |  2,162 lines

  1. /********************************************************************
  2. * VeCAD version 5.1
  3. * Copyright (C) 1999-2000 by Oleg Kolbaskin.
  4. * All rights reserved.
  5. *
  6. * This file must be included in C++ project 
  7. * that used library Vecad.dll
  8. ********************************************************************/
  9. #ifndef VECAPI_H
  10. #define VECAPI_H
  11.  
  12. // VeCAD window styles (vlWndCreate)
  13. #define VL_WS_CHILD   1
  14. #define VL_WS_TILED   2
  15. #define VL_WS_BORDER  4
  16. #define VL_WS_SCROLL  8
  17. #define VL_WS_DEFAULT VL_WS_CHILD|VL_WS_SCROLL
  18.  
  19. /////////////////////////////////////////////////
  20. // VeCAD objects
  21. #define VL_OBJ_PAGE      1
  22. #define VL_OBJ_LAYER     2
  23. #define VL_OBJ_STLINE    3
  24. #define VL_OBJ_STTEXT    4
  25. #define VL_OBJ_STHATCH   5
  26. #define VL_OBJ_STDIM     6
  27. #define VL_OBJ_STPOINT   7
  28. #define VL_OBJ_GRPOINT   8
  29. #define VL_OBJ_VIEW      9
  30. #define VL_OBJ_PRNRECT   10
  31. #define VL_OBJ_BLOCK     11
  32. #define VL_ENT_POINT     21   // Point
  33. #define VL_ENT_LINE      22   // Line
  34. #define VL_ENT_POLY      23   // Polyline
  35. #define VL_ENT_POLYLINE  23   // Polyline
  36. #define VL_ENT_CIRCLE    24   // Circle
  37. #define VL_ENT_ARC       25   // Arc
  38. #define VL_ENT_ELLIPSE   27   // Ellipse
  39. #define VL_ENT_TEXT      28   // Text
  40. #define VL_ENT_BITMAP    29   // Raster image
  41. #define VL_ENT_INSBLOCK  30   // Block's insertion
  42. #define VL_ENT_HATCH     31   // Hatch
  43. #define VL_ENT_RECT      34   // Rectangle
  44. #define VL_ENT_DIMLIN    35   // Dimension Linear
  45. #define VL_ENT_DIMANG    36   // Dimension Angular
  46. #define VL_ENT_DIMRAD    37   // Dimension Radius
  47. #define VL_ENT_DIMDIAM   38   // Dimension Diameter
  48. #define VL_ENT_DIMORD    39   // Dimension Ordinate
  49. #define VL_ENT_CUSTOM    255  // Custom object
  50.  
  51. // Values for Mode argument of vlGetEntity
  52. #define VL_EI_BYHANDLE   1   // Prm1=ID
  53. #define VL_EI_BYKEY      2   // Prm1=Key
  54. #define VL_EI_BYPOINT    3   // Prm1=X, Prm2=Y
  55. #define VL_EI_BYCURSOR   4   //
  56. #define VL_EI_FIRST      6   //
  57. #define VL_EI_NEXT       7
  58.  
  59. // Filter type for VL_EI_FIRST
  60. #define VL_DRAWING       0   // All visible entities on active page
  61. #define VL_SELECTION     1   // Selection set
  62.  
  63. // Start page in "Drawing's Layout" dialog (vlDlgLayout)
  64. #define VL_DPG_LAST     -1
  65. #define VL_DPG_PAGE      0
  66. #define VL_DPG_LAYER     1
  67. #define VL_DPG_STLINE    2
  68. #define VL_DPG_STTEXT    3
  69. #define VL_DPG_STHATCH   4
  70. #define VL_DPG_BLOCK     5
  71. #define VL_DPG_STPOINT   6
  72. #define VL_DPG_GRID      0
  73. #define VL_DPG_OBJSNAP   1
  74. #define VL_DPG_POLSNAP   2
  75.  
  76. // IO Indexes for vlLoad and vlSave functions
  77. #define VL_FILE_VEC    1 
  78. #define VL_FILE_DXF    2
  79. #define VL_FILE_CNC    3
  80. #define VL_FILE_HPGL   4 
  81. #define VL_FILE_VDF    5
  82. #define VL_FILE_MEM    6   // VEC format in memory
  83. //#define VL_STREAM_MEM  256
  84.  
  85.  
  86. // Parameters for vlZoom function
  87. #define VL_ZOOM_ALL      -1
  88. #define VL_ZOOM_IN       -2
  89. #define VL_ZOOM_OUT      -3
  90. #define VL_ZOOM_LEFT     -4
  91. #define VL_ZOOM_RIGHT    -5
  92. #define VL_ZOOM_UP       -6
  93. #define VL_ZOOM_DOWN     -7
  94. #define VL_ZOOM_PAGE     -8
  95.  
  96. // Color constants
  97. #define VL_COL_BLACK       RGB(   0,   0,   0)  // 000000
  98. #define VL_COL_DIMGRAY     RGB( 105, 105, 105)  // 696969
  99. #define VL_COL_DARKGRAY    RGB( 128, 128, 128)  // 808080
  100. #define VL_COL_GRAY        RGB( 169, 169, 169)  // A9A9A9
  101. #define VL_COL_SILVER      RGB( 192, 192, 192)  // C0C0C0
  102. #define VL_COL_LIGHTGRAY   RGB( 211, 211, 211)  // D3D3D3
  103. #define VL_COL_GAINSBORO   RGB( 220, 220, 220)  // DCDCDC
  104. #define VL_COL_WHITESMOKE  RGB( 245, 245, 245)  // F5F5F5
  105. #define VL_COL_WHITE       RGB( 255, 255, 255)  // FFFFFF
  106. #define VL_COL_RED         RGB( 255,   0,   0)  // FF0000
  107. #define VL_COL_GREEN       RGB(   0, 128,   0)  // 008000
  108. #define VL_COL_BLUE        RGB(   0,   0, 255)  // 0000FF
  109. #define VL_COL_CYAN        RGB(   0, 255, 255)  // 00FFFF
  110. #define VL_COL_MAGENTA     RGB( 255,   0, 255)  // FF00FF
  111. #define VL_COL_YELLOW      RGB( 255, 255,   0)  // FFFF00
  112. #define VL_COL_DARKRED     RGB( 139,   0,   0)  // 8B0000
  113. #define VL_COL_DARKGREEN   RGB(   0, 100,   0)  // 006400
  114. #define VL_COL_DARKBLUE    RGB(   0,   0, 139)  // 00008B
  115. #define VL_COL_DARKCYAN    RGB(   0, 139, 139)  // 008B8B
  116. #define VL_COL_DARKMAGENTA RGB( 139,   0, 139)  // 8B008B
  117. #define VL_COL_BROWN       RGB( 165,  42,  42)  // A52A2A
  118.  
  119. // page paper size
  120. #define VL_PAPER_UNLIMITED  0
  121. #define VL_PAPER_A0         1
  122. #define VL_PAPER_A1         2
  123. #define VL_PAPER_A2         3
  124. #define VL_PAPER_A3         4
  125. #define VL_PAPER_A4         5
  126. #define VL_PAPER_A5         6
  127. #define VL_PAPER_A6         7
  128. #define VL_PAPER_B0         11
  129. #define VL_PAPER_B1         12
  130. #define VL_PAPER_B2         13
  131. #define VL_PAPER_B3         14
  132. #define VL_PAPER_B4         15
  133. #define VL_PAPER_B5         16
  134. #define VL_PAPER_B6         17
  135. #define VL_PAPER_C0         21
  136. #define VL_PAPER_C1         22
  137. #define VL_PAPER_C2         23
  138. #define VL_PAPER_C3         24
  139. #define VL_PAPER_C4         25
  140. #define VL_PAPER_C5         26
  141. #define VL_PAPER_C6         27
  142. #define VL_PAPER_ANSI_A     31
  143. #define VL_PAPER_ANSI_B     32
  144. #define VL_PAPER_ANSI_C     33
  145. #define VL_PAPER_ANSI_D     34
  146. #define VL_PAPER_ANSI_E     35
  147. #define VL_PAPER_LETTER     36
  148. #define VL_PAPER_LEGAL      37
  149. #define VL_PAPER_EXECUTIVE  38
  150. #define VL_PAPER_LEDGER     39
  151. #define VL_PAPER_USER       255
  152.  
  153. // paper orientation 
  154. #define VL_PAPER_PORTRAIT     1
  155. #define VL_PAPER_LANDSCAPE    2
  156. #define VL_PAPER_BOOK         1
  157. #define VL_PAPER_ALBUM        2
  158.  
  159. // Modes of Page select (vlPageIndex)
  160. #define VL_PAGE_POS       0     // go to the page index 
  161. #define VL_PAGE_NEXT      1     // view next page
  162. #define VL_PAGE_PREV      2     // view previous page
  163. #define VL_PAGE_FIRST     3     // go to the first page
  164. #define VL_PAGE_LAST      4     // go to the last page
  165. #define VL_PAGE_NAME      5     // go to page by name
  166. #define VL_PAGE_DLG       6     // select page by dialog
  167.  
  168. // modes for vlSetTextParam
  169. #define VL_TEXT_ALIGN      1
  170. #define VL_TEXT_HEIGHT     2
  171. #define VL_TEXT_ANGLE      3
  172. #define VL_TEXT_WSCALE     4
  173. #define VL_TEXT_OBLIQUE    5
  174. #define VL_TEXT_HINTER     6
  175. #define VL_TEXT_VINTER     7
  176. #define VL_TEXT_STRIKEOUT  8
  177. #define VL_TEXT_UNDERLINE  9
  178.  
  179. // text alignment types
  180. #define VL_TA_LEFBOT    0     // to left bottom
  181. #define VL_TA_CENBOT    1     // to center bottom
  182. #define VL_TA_RIGBOT    2     // to right bottom
  183. #define VL_TA_LEFCEN    3     // ±δσΓα ±σ≡σΣΦφα
  184. #define VL_TA_CENCEN    4     // ∩ε ÷σφ≥≡≤ ßατεΓεΘ δΦφΦΦ
  185. #define VL_TA_RIGCEN    5     // ∩ε ∩≡αΓε∞≤ Ω≡α■ ±σ≡σΣΦφα
  186. #define VL_TA_LEFTOP    6     // ∩ε δσΓε∞≤ Ω≡α■ ±Γσ≡⌡≤
  187. #define VL_TA_CENTOP    7     // ∩ε ÷σφ≥≡≤ ßατεΓεΘ δΦφΦΦ ±Γσ≡⌡≤
  188. #define VL_TA_RIGTOP    8     // ∩ε ∩≡αΓε∞≤ Ω≡α■ ±Γσ≡⌡≤
  189.  
  190. // measurement units
  191. #define VL_UNIT_POINT   1
  192. #define VL_UNIT_MM      2
  193. #define VL_UNIT_CM      3
  194. #define VL_UNIT_INCH    4
  195. #define VL_UNIT_FOOT    5
  196. #define VL_UNIT_YARD    6
  197. #define VL_UNIT_MET     7
  198. #define VL_UNIT_KM      8
  199. #define VL_UNIT_MILE    9
  200. #define VL_UNIT_SEAMILE 10
  201. #define VL_ANG_DEGREE   21
  202. #define VL_ANG_RADIAN   22
  203.  
  204. // view types for simple point (vlDrawPoint)
  205. #define VL_PNT_DEFAULT  0
  206. #define VL_PNT_CIRCLE   1
  207. #define VL_PNT_RECT     2
  208. #define VL_PNT_GRIP     2
  209. #define VL_PNT_CROSS    3
  210. #define VL_PNT_CROSS45  4
  211. #define VL_PNT_POINT    5
  212. #define VL_PNT_BPIXEL   6
  213. #define VL_PNT_WPIXEL   7
  214. #define VL_PNT_ROMB     8
  215. #define VL_PNT_GRIPM    10
  216. #define VL_PNT_GRIPR    11
  217. #define VL_PNT_KNOT     12
  218. #define VL_PNT_KNOT2    13
  219.  
  220. // Arrow types
  221. #define VL_ARROW_NONE      0
  222. #define VL_ARROW_2LINE     1
  223. #define VL_ARROW_3LINE     2
  224. #define VL_ARROW_3LINE_S   3
  225. #define VL_ARROW_4LINE     4
  226. #define VL_ARROW_4LINE_S   5
  227. #define VL_ARROW_SLASH     6
  228. #define VL_ARROW_CIRC      7
  229. #define VL_ARROW_CIRC_S    8
  230. #define VL_ARROW_COUNT     9       // count of arrows types
  231.  
  232. // Polyline flags
  233. #define VL_POLY_LINE       0   // linear polyline (no smooth)
  234. #define VL_POLY_BSPLINE2   1   // quadratic B-spline
  235. #define VL_POLY_BSPLINE3   2   // cubic B-spline
  236. #define VL_POLY_FITBSPL3   3   // fitted cubic B-spline
  237. #define VL_POLY_LINBSPL2   4   // linear/quadratic curve
  238. #define VL_POLY_BEZIER     5   // bezier curve
  239. #define VL_POLY_AUTOBEZIER 6   // bezier curve with auto control points
  240. #define VL_POLY_ROUNDED    7   // rounded vertexes
  241. #define VL_POLY_MULTIRAD   8   // multi-rad curve
  242. #define VL_POLY_BULGE      9   // bulge segments
  243. #define VL_POLY_MAXSMTYPE  9   // max value for smooth type
  244. #define VL_POLY_CUSTOM     128    // custom draw
  245.  
  246. // type of dimension
  247. #define VL_DIM_HORZ        0  // horizontal
  248. #define VL_DIM_VERT        1  // vertical
  249. #define VL_DIM_PARAL       2  // parallel
  250. #define VL_DIM_ANG         3  // Angular
  251. #define VL_DIM_RAD         4  // Radius
  252. #define VL_DIM_DIAM        5  // Diameter
  253. #define VL_DIM_ORDX        6  // Ordinate X
  254. #define VL_DIM_ORDY        7  // Ordinate Y
  255. // dim. text alignment
  256. #define VL_DIM_TA_ABOVE    0
  257. #define VL_DIM_TA_CENTER   1
  258. #define VL_DIM_TA_BELOW    2
  259.  
  260. // Coord. Grid types
  261. #define VL_GRID_POINT      0   // point
  262. #define VL_GRID_CROSS      1   // cross
  263. #define VL_GRID_CROSS45    2   // cross 45 degree
  264. #define VL_GRID_LINE       3   // solid line
  265. #define VL_GRID_DOTLINE    4   // dot line
  266. #define VL_GRID_DASHLINE   5   // dash line
  267.  
  268. // flags for accelerator keys (vlSetAccKey)
  269. #define VL_KEY_CTRL     0x01
  270. #define VL_KEY_SHIFT    0x02
  271.  
  272. // Object Snap flags 
  273. #define VL_SNAP_END     0x0001
  274. #define VL_SNAP_MID     0x0002
  275. #define VL_SNAP_CENTER  0x0004
  276. #define VL_SNAP_POINT   0x0008
  277. #define VL_SNAP_INTER   0x0010
  278. #define VL_SNAP_NEAR    0x0020
  279. #define VL_SNAP_GRIPS   0x0040
  280. #define VL_SNAP_PERP    0x0100
  281. #define VL_SNAP_TANG    0x0200
  282. #define VL_SNAP_GRID    0x1000
  283. #define VL_SNAP_POLAR   0x2000
  284. #define VL_SNAP_OBJECT  0x0FFF
  285.  
  286. // Toolbars type (vlToolBarCreate)
  287. #define VL_TB_MAIN      4861
  288. #define VL_TB_DRAW      4862
  289. #define VL_TB_EDIT      4863
  290. #define VL_TB_SNAP      4864
  291.  
  292. // ComboBox type (for toolbar)
  293. #define VL_CB_LAYER     4871
  294. #define VL_CB_STLINE    4872
  295. #define VL_CB_STTEXT    4873
  296. #define VL_CB_COLOR     4874
  297.  
  298. // index of statusbar part (vlStatBarSetText)
  299. #define VL_SB_COORD     0
  300. #define VL_SB_CURCMD    1
  301. #define VL_SB_PROMPT    2
  302.  
  303.  
  304. /////////////////////////////////////////////////
  305. // VeCAD messages, passed to drawing procedure
  306. #define VM_GETSTRING      1
  307. #define VM_ERROR          2
  308. #define VM_ZOOM           3
  309. #define VM_ZOOMMIN        4
  310. #define VM_ZOOMMAX        5
  311. #define VM_BEGINPAINT     6
  312. #define VM_ENDPAINT       7
  313. #define VM_OBJADD         11
  314. #define VM_OBJDELETE      12
  315. #define VM_OBJACTIVE      13
  316. #define VM_ENTADD         14
  317. #define VM_ENTDELETE      15
  318. #define VM_ENTSELECT      16
  319. #define VM_ENTUNSELECT    17
  320. #define VM_ENTMOVE        21
  321. #define VM_ENTROTATE      22
  322. #define VM_ENTSCALE       23
  323. #define VM_ENTMIRROR      24
  324. #define VM_ENTERASE       25
  325. #define VM_ENTEXPLODE     26
  326. #define VM_ENTPROPDLG     27
  327. #define VM_KEYDOWN        41
  328. #define VM_MOUSEMOVE      42
  329. #define VM_LBDOWN         43
  330. #define VM_LBDBLCLK       44
  331. #define VM_RBDOWN         45
  332. #define VM_TOOLCREATE     51
  333. #define VM_TOOLOPEN       52
  334. #define VM_TOOLCLOSE      53
  335. #define VM_TOOLCLICK      54
  336. #define VM_TOOLDRAG       55
  337. #define VM_TOOLREDRAW     56
  338. #define VM_CANCELTOOL     57
  339. #define VM_REPEATTOOL     58
  340. #define VM_MENUEDIT       61
  341. #define VM_MENUVER        62
  342. #define VM_EXECUTE        100
  343. #define VM_EXECUTED       101  
  344. #define VM_DWGCREATE      102
  345. #define VM_DWGDELETE      103
  346. #define VM_DWGCLEAR       104
  347. #define VM_DWGSELECT      105
  348. #define VM_DWGLOADING     106
  349. #define VM_DWGLOADED      107
  350. #define VM_DWGSAVING      108
  351. #define VM_DWGSAVED       109
  352. #define VM_PASSWORD       110
  353. #define VM_TIMER          111
  354. #define VM_RASTER         112
  355. #define VM_CLOSEQUERY     113
  356. #define VM_GRIPSELECT     161
  357. #define VM_GRIPDRAG       162
  358. #define VM_GRIPMOVE       163
  359. #define VM_STATUSTEXT     171
  360. #define VM_EXP_OPEN       181
  361. #define VM_EXP_ENT        182
  362. #define VM_EXP_MOVETO     183
  363. #define VM_EXP_LINETO     184
  364. #define VM_EXP_CLOSE      185
  365.  
  366.  
  367. /////////////////////////////////////////////////
  368. // VeCAD error codes, passed with the VM_ERROR message
  369. #define VL_ERR_OBJADD       1  
  370. #define VL_ERR_OBJDELETE    2  
  371. //#define VL_ERR_OBJPAGEMAX      2
  372. //#define VL_ERR_PAGENONE     3
  373. #define VL_ERR_OBJSELECT    4
  374.  
  375.  
  376.  
  377. /********************************************************************
  378. * VeCAD commands identifiers
  379. ********************************************************************/
  380.  
  381. // File
  382. #define VC_FILE_NEW        17001
  383. #define VC_FILE_OPEN       17002
  384. #define VC_FILE_SAVE       17003
  385. #define VC_FILE_SAVEAS     17004
  386. #define VC_FILE_CLOSE      17005
  387. #define VC_FILE_CLOSEALL   17006
  388. #define VC_FILE_LIST       17007
  389. #define VC_IMPORT_DXF      17011
  390. #define VC_IMPORT_VDF      17012
  391. #define VC_IMPORT_HPGL     17013
  392. #define VC_IMPORT_CNC      17014
  393. #define VC_EXPORT_DXF      17021
  394. #define VC_EXPORT_HPGL     17022
  395. #define VC_EXPORT_CNC      17023
  396. #define VC_EXPORT_BMP      17024
  397. #define VC_PRINT           17031
  398.  
  399. // View
  400. #define VC_ZOOM_ALL        17051
  401. #define VC_ZOOM_WIN        17052
  402. #define VC_ZOOM_PAN        17053
  403. #define VC_ZOOM_PAGE       17054
  404. #define VC_ZOOM_IN         17055
  405. #define VC_ZOOM_OUT        17056
  406. #define VC_ZOOM_LEFT       17057
  407. #define VC_ZOOM_RIGHT      17058
  408. #define VC_ZOOM_UP         17059
  409. #define VC_ZOOM_DOWN       17060
  410. #define VC_PAGE_NEXT       17061
  411. #define VC_PAGE_PREV       17062
  412. #define VC_PAGE_FIRST      17063
  413. #define VC_PAGE_LAST       17064
  414. #define VC_PAGE_DLG        17065
  415. #define VC_VIEW_SAVE       17066
  416. #define VC_VIEW_LIST       17067
  417.  
  418. // Draw
  419. #define VC_DRAW_POINT      17110
  420. #define VC_DRAW_LINE       17120
  421. #define VC_DRAW_POLYLINE   17130
  422. #define VC_DRAW_SPLINE     17131
  423. #define VC_DRAW_CIRC_CR    17140
  424. #define VC_DRAW_CIRC_CD    17141
  425. #define VC_DRAW_CIRC_2P    17142
  426. #define VC_DRAW_CIRC_3P    17143
  427. #define VC_DRAW_CIRC_TTT   17144
  428. #define VC_DRAW_ARC_CSE    17150
  429. #define VC_DRAW_ARC_CSA    17151
  430. #define VC_DRAW_ARC_CSL    17152
  431. #define VC_DRAW_ARC_SEM    17153
  432. #define VC_DRAW_ARC_SME    17154
  433. #define VC_DRAW_ARC_SCE    17155
  434. #define VC_DRAW_ARC_SCA    17156
  435. #define VC_DRAW_ARC_SCL    17157
  436. #define VC_DRAW_ARC_SEA    17158
  437. #define VC_DRAW_ARC_SED    17159
  438. #define VC_DRAW_ARC_SER    17160
  439. #define VC_DRAW_ARC_CONT   17161
  440. #define VC_DRAW_SECTOR     17165
  441. #define VC_DRAW_ELLIPSE    17170
  442. #define VC_DRAW_RECT       17180
  443. #define VC_DRAW_DIM_HOR    17230
  444. #define VC_DRAW_DIM_VER    17231
  445. #define VC_DRAW_DIM_PAR    17232
  446. #define VC_DRAW_DIM_ANG    17233
  447. #define VC_DRAW_DIM_RAD    17234
  448. #define VC_DRAW_DIM_DIAM   17235
  449. #define VC_DRAW_DIM_ORD    17236
  450. #define VC_DRAW_HATCH      17240
  451. #define VC_INS_TEXT        17250
  452. #define VC_INS_SYMBOL      17260
  453. #define VC_INS_BLOCK       17280
  454. #define VC_INS_IMAGE       17290
  455. #define VC_INS_RMAP        17300
  456.  
  457. // Edit
  458. #define VC_EDIT_ENTPROP    17401
  459. #define VC_EDIT_COPY       17402
  460. #define VC_EDIT_MOVE       17403
  461. #define VC_EDIT_ROTATE     17404
  462. #define VC_EDIT_SCALE      17405
  463. #define VC_EDIT_MIRROR     17406
  464. #define VC_EDIT_ERASE      17407
  465. #define VC_EDIT_EXPLODE    17408
  466. #define VC_EDIT_CREBLOCK   17409
  467. #define VC_EDIT_EXTEND     17410
  468. #define VC_EDIT_TRIM       17411
  469. #define VC_EDIT_FILLET     17412
  470. #define VC_EDIT_ARRAY      17413
  471. #define VC_EDIT_UNDO       17414
  472. #define VC_EDIT_REDO       17415
  473. #define VC_EDIT_CBCUT      17441
  474. #define VC_EDIT_CBCOPY     17442
  475. #define VC_EDIT_CBPASTE    17443
  476.  
  477. // Format
  478. #define VC_FMT_LAYOUT      17451
  479. #define VC_FMT_PAGE        17452
  480. #define VC_FMT_LAYER       17453
  481. #define VC_FMT_STLINE      17454
  482. #define VC_FMT_STTEXT      17455
  483. #define VC_FMT_STDIM       17456
  484. #define VC_FMT_STPOINT     17457
  485. #define VC_FMT_STHATCH     17458
  486. #define VC_FMT_BLOCK       17459
  487. #define VC_FMT_GRID        17461
  488. #define VC_FMT_OSNAP       17462
  489. #define VC_FMT_PSNAP       17463
  490. #define VC_FMT_UNITS       17464
  491. #define VC_FMT_PRIVATE     17465
  492. #define VC_FMT_PREFERS     17466
  493.  
  494. // Snap
  495. #define VC_SNAP_DLG        17501
  496. #define VC_SNAP_CLEAR      17502
  497. #define VC_SNAP_GRID       17503
  498. #define VC_SNAP_POLAR      17504
  499. #define VC_SNAP_KNOT       17511
  500. #define VC_SNAP_GRIP       17511
  501. #define VC_SNAP_GRIPS      17511
  502. #define VC_SNAP_POINT      17512
  503. #define VC_SNAP_NEAR       17513
  504. #define VC_SNAP_END        17514
  505. #define VC_SNAP_MID        17515
  506. #define VC_SNAP_INTER      17516
  507. #define VC_SNAP_CEN        17517
  508. #define VC_SNAP_PERP       17518
  509. #define VC_SNAP_TANG       17519
  510.  
  511. // Tools
  512. #define VC_TOOL_DIST     18501
  513. #define VC_TOOL_PRNRECT  18502
  514. #define VC_TOOL_STAT     18503
  515.  
  516. #define VC_SEL_BYPOINT   18531
  517. #define VC_SEL_BYRECT    18532
  518. #define VC_SEL_BYPOLYGON 18533
  519.  
  520. // Misc
  521. #define VC_RESET         18171
  522. #define VC_REDRAW        18172
  523. #define VC_SHOWLINEW     18173
  524. #define VC_SHOWGRID      18174
  525. #define VC_SHOWFILL      18175
  526.  
  527. // Offset for custom commands that use cursor
  528. #define VC_CUSTOM        20000
  529.  
  530.  
  531. /********************************************************************
  532. * VeCAD data access keys for vlGetData/vlSetData functions
  533. ********************************************************************/
  534.  
  535. #define VD_WND___MIN         50001
  536. #define VD_WND_EMPTYTEXT     50001
  537. #define VD_WND_CURSOR_X      50002
  538. #define VD_WND_CURSOR_Y      50003
  539. #define VD_WND_CURSOR_CROSS  50004
  540. #define VD_WND___MAX         50010
  541.  
  542. #define VD_PRJ___MIN         50011
  543. #define VD_PRJ_WDWG_ON       50011
  544. #define VD_PRJ_WDWG_LEFT     50012
  545. #define VD_PRJ_WDWG_TOP      50013
  546. #define VD_PRJ_WDWG_RIGHT    50014
  547. #define VD_PRJ_WDWG_BOTTOM   50015
  548. #define VD_PRJ_WVIEW_ON      50016
  549. #define VD_PRJ_WVIEW_LEFT    50017
  550. #define VD_PRJ_WVIEW_TOP     50018
  551. #define VD_PRJ_WVIEW_RIGHT   50019
  552. #define VD_PRJ_WVIEW_BOTTOM  50020
  553. #define VD_PRJ_WDIST_LEFT    50021
  554. #define VD_PRJ_WDIST_TOP     50022
  555. #define VD_PRJ___MAX         50099
  556.  
  557. #define VD_DWG___MIN         1
  558. #define VD_DWG_ID            1
  559. #define VD_DWG_INDEX         2
  560. #define VD_DWG_FILENAME      3
  561. #define VD_DWG_PATHNAME      4
  562. #define VD_DWG_TITLE         5
  563. #define VD_DWG_LEFT          6
  564. #define VD_DWG_RIGHT         7
  565. #define VD_DWG_TOP           8
  566. #define VD_DWG_BOTTOM        9
  567. #define VD_DWG_WIDTH         10
  568. #define VD_DWG_HEIGHT        11
  569. #define VD_DWG_WINLEFT       12
  570. #define VD_DWG_WINRIGHT      13
  571. #define VD_DWG_WINTOP        14  
  572. #define VD_DWG_WINBOTTOM     15
  573. #define VD_DWG_WINWIDTH      16
  574. #define VD_DWG_WINHEIGHT     17
  575. #define VD_DWG_WINSCALE      18
  576. #define VD_DWG_WINSCALEY     19
  577. #define VD_DWG_ZOOMVAL       20
  578. #define VD_DWG_ZOOMHORZ      21
  579. #define VD_DWG_ZOOMVERT      22
  580. #define VD_DWG_ZOOMMIN       23
  581. #define VD_DWG_ZOOMMAX       24
  582. #define VD_DWG_SCROLLERS     25
  583. #define VD_DWG_READONLY      26
  584. #define VD_DWG_BLACKWHITE    27
  585. #define VD_DWG_COLBKG        31  
  586. #define VD_DWG_COLPAGE       32 
  587. #define VD_DWG_COLPAGESHADOW 33
  588. #define VD_DWG_COLCURSOR     34
  589. #define VD_DWG_COLGRIP       35
  590. #define VD_DWG_COLSELOBJ     36
  591. #define VD_DWG_COLSELGRIP    37
  592. #define VD_DWG_SHOWAPER      41 
  593. #define VD_DWG_SHOWCROSS     42
  594. #define VD_DWG_SHOWFILL      43 
  595. #define VD_DWG_SHOWVEC       44  
  596. #define VD_DWG_SHOWBMP       45  
  597. #define VD_DWG_SHOWLINEW     46
  598. #define VD_DWG_SHOWRMARK     47
  599. #define VD_DWG_SHOWGRID      48
  600. #define VD_DWG_AUTOSELPNT    61
  601. #define VD_DWG_AUTOSELRECT   62
  602. #define VD_DWG_AUTOUNSELECT  63
  603. #define VD_DWG_USEGRIPS      71 
  604. #define VD_DWG_LOCK          72     
  605. #define VD_DWG_PASSWORD      73
  606. #define VD_DWG_OWNER         74
  607. #define VD_DWG_NOEXPORT      75
  608. #define VD_DWG_NOPRINT       76
  609. #define VD_DWG_SNAPSIZE      81 
  610. #define VD_DWG_PICKBOXSIZE   82 
  611. #define VD_DWG_GRIPSIZE      83 
  612. #define VD_DWG_DEFLINEW      84 
  613. #define VD_DWG_ISDIRTY       85  
  614. #define VD_DWG_EXDATASIZE    86
  615. #define VD_DWG_EXDATA        87   
  616. #define VD_DWG_CROSSSIZE     88
  617. #define VD_DWG_TRACK_EXPORT  89
  618. #define VD_DWG_N_PAGES       101
  619. #define VD_DWG_C_PAGE        102
  620. #define VD_DWG_N_LAYERS      103
  621. #define VD_DWG_C_LAYER       104
  622. #define VD_DWG_N_STLINES     105
  623. #define VD_DWG_C_STLINE      106
  624. #define VD_DWG_N_STTEXTS     107
  625. #define VD_DWG_C_STTEXT      108
  626. #define VD_DWG_N_STHATCHS    109
  627. #define VD_DWG_C_STHATCH     110
  628. #define VD_DWG_N_VIEWS       111
  629. #define VD_DWG_C_VIEW        112
  630. #define VD_DWG_N_PRNRECTS    113
  631. #define VD_DWG_C_PRNRECT     114
  632. #define VD_DWG_N_STDIMS      115
  633. #define VD_DWG_C_STDIM       116
  634. #define VD_DWG_N_STPOINTS    117
  635. #define VD_DWG_C_STPOINT     118
  636. #define VD_DWG_N_GRPOINTS    119
  637. #define VD_DWG_C_GRPOINT     120
  638. #define VD_DWG_N_BLOCKS      121
  639. #define VD_DWG_C_BLOCK       122
  640. #define VD_DWG_N_ENTITIES    123
  641. #define VD_DWG_N_ENT         123
  642. #define VD_DWG_N_ENTSEL      124
  643. #define VD_DWG_C_LEVEL       125
  644. #define VD_GRID_X0           141      // grid origin X
  645. #define VD_GRID_Y0           142      // grid origin Y
  646. #define VD_GRID_DX           143      // grid step X
  647. #define VD_GRID_DY           144      // grid step Y
  648. #define VD_GRID_TYPE         145      // grid type
  649. #define VD_GRID_COLOR        146      // grid color
  650. #define VD_GRID_BSTEPX       147      // grid bold step
  651. #define VD_GRID_BSTEPY       148      // grid bold step
  652. #define VD_GRID_BTYPE        149      // grid bold type
  653. #define VD_GRID_BCOLOR       150      // grid bold color
  654. #define VD_MSG_STRING        155
  655. #define VD_MSG_DBL1          156
  656. #define VD_MSG_DBL2          157
  657. #define VD_UNITS_LIN         161   // coord units
  658. #define VD_UNITS_ANG         162   // angle units
  659. #define VD_UNITS_SCALE       163   // map scale
  660. #define VD_UNITS_PAGELEFT    164   // coord for page origin
  661. #define VD_UNITS_PAGEBOTTOM  165   //
  662. #define VD_UNITS_GEO         166   // geodesic axises
  663. #define VD_UNITS_FORMAT      167   // output format
  664. #define VD_HPGL_X0           171   // origin for HPGL export
  665. #define VD_HPGL_Y0           172
  666. #define VD_HPGL_UNITX        173   // scale for HPGL export
  667. #define VD_HPGL_UNITY        174
  668. #define VD_HPGL_MINSTEP      175   // minimal step for coordinates
  669. #define VD_DWG___MAX         200
  670.  
  671. #define VD_PAGE___MIN         201
  672. #define VD_PAGE_NAME          201   // page name
  673. #define VD_PAGE_SIZE          202   // page size
  674. #define VD_PAGE_ORIENT        203   // page orientation
  675. #define VD_PAGE_WIDTH         204   // page width (if size=VD_PAPER_USER)
  676. #define VD_PAGE_HEIGHT        205   // page height (if size=VD_PAPER_USER)
  677. #define VD_PAGE_N_REF         208   // RO number of objects on the page
  678. #define VD_PAGE_ID            209   // RO page ID
  679. #define VD_PAGE_INDEX         210   // RO page index by name
  680. #define VD_PAGE___MAX         299
  681.  
  682. #define VD_LAYER___MIN        301
  683. #define VD_LAYER_NAME         301      // layer name
  684. #define VD_LAYER_COLOR        302      // layer color
  685. #define VD_LAYER_FILLCOLOR    303      // layer fill color
  686. #define VD_LAYER_LINEWIDTH    304      // layer line width
  687. #define VD_LAYER_VISIBLE      305      // layer visible
  688. #define VD_LAYER_LOCK         306      // layer locked
  689. #define VD_LAYER_SELINSIDE    307      // layer enable select by inner part of object
  690. #define VD_LAYER_NOPRINT      308      // non-printable layer
  691. #define VD_LAYER_N_REF        309      // RO number of objects on the layer
  692. #define VD_LAYER_ID           310      // RO layer ID
  693. #define VD_LAYER_INDEX        311      // RO layer index by name
  694. #define VD_LAYER_ENTSELECT    312      // WO select all entities on the layer
  695. #define VD_LAYER___MAX        399
  696.  
  697. #define VD_STTEXT___MIN       401  
  698. #define VD_STTEXT_NAME        401      // text style name
  699. #define VD_STTEXT_FONTNAME    402      // RO text style fontname
  700. #define VD_STTEXT_WEIGHT      403      // RO font weight
  701. #define VD_STTEXT_ITALIC      404      // RO font italic
  702. #define VD_STTEXT_WIDTH       405      // text style chars width scale
  703. #define VD_STTEXT_OBLIQUE     406      // text style chars horiz. shift
  704. #define VD_STTEXT_PRECISION   407      // RO text style precision
  705. #define VD_STTEXT_FILLED      408      // flag "filled text"
  706. #define VD_STTEXT_N_REF       409      // RO number of references
  707. #define VD_STTEXT_ID          410      // RO ID
  708. #define VD_STTEXT_INDEX       411      // RO index by name
  709. #define VD_STTEXT___MAX       499
  710.  
  711. #define VD_STLINE___MIN       501
  712. #define VD_STLINE_NAME        501      // line type name
  713. #define VD_STLINE_DESC        502      // line type description
  714. #define VD_STLINE_DESCLEN     503      // RO length of line type description
  715. #define VD_STLINE_N_REF       504      // RO number of references
  716. #define VD_STLINE_ID          505      // RO ID
  717. #define VD_STLINE_INDEX       506      // RO index by name
  718. #define VD_STLINE___MAX       599
  719.  
  720. #define VD_STDIM___MIN        601
  721. #define VD_STDIM_NAME         601      // dim style name
  722. #define VD_STDIM_ARR_TYPE     602
  723. #define VD_STDIM_ARR_LENGTH   603
  724. #define VD_STDIM_ARR_HEIGHT   604
  725. #define VD_STDIM_EXT_OFFSET   605
  726. #define VD_STDIM_EXT_EXTEND   606
  727. #define VD_STDIM_TEXT_CONTENT 607
  728. #define VD_STDIM_TEXT_STYLE   608
  729. #define VD_STDIM_TEXT_ALIGN   609
  730. #define VD_STDIM_TEXT_HEIGHT  610
  731. #define VD_STDIM_TEXT_DEC     611
  732. #define VD_STDIM_TEXT_HORIZ   612
  733. #define VD_STDIM_TEXT_GAP     613
  734. #define VD_STDIM_SCALE        614
  735. #define VD_STDIM_OWNCOLORS    615
  736. #define VD_STDIM_COL_DIM      616
  737. #define VD_STDIM_COL_EXT      617
  738. #define VD_STDIM_COL_TEXT     618
  739. #define VD_STDIM_CEN_TYPE     619
  740. #define VD_STDIM_CEN_SIZE     620
  741. #define VD_STDIM_ROUND        621
  742. #define VD_STDIM_N_REF        622
  743. #define VD_STDIM_ID           623      // RO ID
  744. #define VD_STDIM_INDEX        624      // RO index by name
  745. #define VD_STDIM___MAX        699
  746.  
  747. #define VD_STHATCH___MIN      701
  748. #define VD_STHATCH_NAME       701      // hatch style name
  749. #define VD_STHATCH_DESC       702      // hatch style description
  750. #define VD_STHATCH_DESCLEN    703      // RO length of description
  751. #define VD_STHATCH_N_REF      704      // RO number of references
  752. #define VD_STHATCH_ID         705      // RO ID
  753. #define VD_STHATCH_INDEX      706      // RO index by name
  754. #define VD_STHATCH___MAX      799
  755.  
  756. #define VD_STPOINT___MIN      801
  757. #define VD_STPOINT_NAME       801      // point type name
  758. #define VD_STPOINT_STATUS     802      // point type status
  759. #define VD_STPOINT_BLOCK      803      // index of block
  760. #define VD_STPOINT_LAYER      804      // layer for point type
  761. #define VD_STPOINT_STTEXT     805      // text style
  762. #define VD_STPOINT_BSCALE     806      // block scale
  763. #define VD_STPOINT_TEXTH      807      // text height
  764. #define VD_STPOINT_TEXTW      808      // text width scale
  765. #define VD_STPOINT_SNAP       809      // snap to point
  766. #define VD_STPOINT_FIXED      810      // non-movable point
  767. #define VD_STPOINT_N_REF      811      // RO number of references
  768. #define VD_STPOINT_ID         812      // RO ID
  769. #define VD_STPOINT_INDEX      813      // RO index by name
  770. #define VD_STPOINT___MAX      859
  771.  
  772. #define VD_GRPOINT___MIN      861
  773. #define VD_GRPOINT_NAME       861      // point group name
  774. #define VD_GRPOINT_N_REF      862      // RO number of references
  775. #define VD_GRPOINT_ID         863      // RO ID
  776. #define VD_GRPOINT_INDEX      864      // RO index by name
  777. #define VD_GRPOINT___MAX      899
  778.  
  779. #define VD_BLOCK___MIN      901
  780. #define VD_BLOCK_NAME       901      // block name
  781. #define VD_BLOCK_WIDTH      902      // RO width of the block
  782. #define VD_BLOCK_HEIGHT     903      // RO height of the block
  783. #define VD_BLOCK_XBASE      904      // x base point
  784. #define VD_BLOCK_YBASE      905      // y base point
  785. #define VD_BLOCK_N_REF      906      // RO number of references
  786. #define VD_BLOCK_ID         907      // RO ID
  787. #define VD_BLOCK_INDEX      908      // RO index by name
  788. #define VD_BLOCK___MAX      999
  789.  
  790. #define VD_PRNRECT___MIN    1001
  791. #define VD_PRNRECT_INDEX    1001     // RO index by name
  792. #define VD_PRNRECT_NAME     1002     // name
  793. #define VD_PRNRECT_XCEN     1003     // x-center point
  794. #define VD_PRNRECT_YCEN     1004     // y-center point
  795. #define VD_PRNRECT_WIDTH    1005     // width of the rect
  796. #define VD_PRNRECT_HEIGHT   1006     // height of the rect
  797. #define VD_PRNRECT_ANGLE    1007     // rotation angle of the rect
  798. #define VD_PRNRECT___MAX    1099
  799.  
  800.  
  801.  
  802. #define VD_ENT___MIN      20001
  803. #define VD_ENT_TYPE       20001    // RO type of object
  804. #define VD_ENT_HANDLE     20002    // RO handle
  805. #define VD_ENT_ID         20002    // RO handle
  806. #define VD_ENT_KEY        20003    // key
  807. #define VD_ENT_LAYER      20004    // layer index
  808. #define VD_ENT_LINETYPE   20005    // line type
  809. #define VD_ENT_STLINE     20005    // line type
  810. #define VD_ENT_PAGE       20006    // page
  811. #define VD_ENT_LEVEL      20007    // level
  812. #define VD_ENT_COLOR      20008    // own color
  813. #define VD_ENT_FILLCOLOR  20009    // own fill color
  814. #define VD_ENT_LINEWIDTH  20010    // own linewidth
  815. #define VD_ENT_LEFT       20011    // RO left limit
  816. #define VD_ENT_BOTTOM     20012    // RO bottom limit
  817. #define VD_ENT_RIGHT      20013    // RO right limit
  818. #define VD_ENT_TOP        20014    // RO top limit
  819. #define VD_ENT_SELECT     20015    // select object
  820. #define VD_ENT_ONSCREEN   20016    // RO object on screen
  821. #define VD_ENT_INBLOCK    20017    // RO object is part of a block
  822. #define VD_ENT_N_GRIPS    20018    // RO number of grips in the object
  823. #define VD_ENT_DELETED    20019    // delete object
  824. #define VD_ENT_FILLED     20020    // filled object
  825. #define VD_ENT_BORDER     20021    // has border (for filled)
  826. #define VD_ENT_OWNCOLOR   20022    // has own color (not by layer)
  827. #define VD_ENT_OWNFCOLOR  20023    // has own fill color (not by layer)
  828. #define VD_ENT_OWNLINEW   20024    // has own line width (not by layer)
  829. #define VD_ENT_WIDTH      20025    // RO object width
  830. #define VD_ENT_HEIGHT     20026    // RO object width
  831. #define VD_ENT_UPDATE     20027    // WO update limits
  832. #define VD_ENT_PERIMETER  20028    // RO object's perimeter (for closed objects)
  833. #define VD_ENT_AREA       20029    // RO object's area (for closed objects)
  834. #define VD_ENT_INDEX      20030    // RO object's index
  835. #define VD_ENT___MAX      20099
  836.  
  837. #define VD_LINE___MIN     20101
  838. #define VD_LINE_X1        20101    // coordinate of 1st point
  839. #define VD_LINE_Y1        20102    //
  840. #define VD_LINE_X2        20103    // coordinate of 2nd point
  841. #define VD_LINE_Y2        20104    //
  842. #define VD_LINE_ARROW1    20105    // End arrows flags
  843. #define VD_LINE_ARROW2    20106    // 
  844. #define VD_LINE___MAX     20199
  845.  
  846. #define VD_POLY___MIN     20201    
  847. #define VD_POLY_CLOSED    20201    // flag "closed polyline"
  848. #define VD_POLY_SMOOTH    20202    // polyline smooth type
  849. #define VD_POLY_ARROW1    20203    // type of start arrow (dim.style)
  850. #define VD_POLY_ARROW2    20204    // type of end arrow (dim.style)
  851. #define VD_POLY_R         20205    // radius for smooth=VL_POLY_ROUNDED
  852. #define VD_POLY_N_VER     20206    // RO number of vertexes
  853. #define VD_POLY_C_VER     20207    // current vertex
  854. #define VD_POLY_GETVERS   20208    // RO Get vertexes array
  855. #define VD_POLY_SETVERS   20209    // WO Set vertexes array
  856. #define VD_POLY_VER_INS   20210    // WO Insert vertex
  857. #define VD_POLY_VER_DEL   20211    // WO Delete vertex
  858. #define VD_POLY_VER_X     20212    // vertex coordinate
  859. #define VD_POLY_VER_Y     20213    //
  860. #define VD_POLY_VER_R     20214    // vertex radius (for smooth=VL_POLY_MULTIRAD)
  861. #define VD_POLY_VER_ON    20215    // vertex online flag (for smooth=VL_POLY_LINBSPL2)
  862. #define VD_POLY_VER_BULGE 20216    // bulge coefficient (for smooth=VL_POLY_BULGE)
  863. #define VD_POLY_VER_DATA  20217    // aux vertex data
  864. #define VD_POLY_CUSTDATA  20231    // custom data (for smooth=POLY_CUSTOM)
  865. #define VD_POLY___MAX     20299     
  866.  
  867. #define VD_CIRCLE___MIN   20301    
  868. #define VD_CIRCLE_X       20301    // coordinate of circle's center
  869. #define VD_CIRCLE_Y       20302    //
  870. #define VD_CIRCLE_R       20303    // radius of circle
  871. #define VD_CIRCLE___MAX   20399    
  872.  
  873. #define VD_ARC___MIN      20401    // coordinate of arc's center
  874. #define VD_ARC_X          20401    // coordinate of arc's center
  875. #define VD_ARC_Y          20402    //
  876. #define VD_ARC_R          20403    // arc's radius
  877. #define VD_ARC_START      20404    // start angle
  878. #define VD_ARC_END        20405    // end angle
  879. #define VD_ARC_ARROW1     20406    // index of dim style for start arrow type
  880. #define VD_ARC_ARROW2     20407    // for end arrow
  881. #define VD_ARC___MAX      20499    // 
  882.  
  883. #define VD_ELLIPSE___MIN  20601
  884. #define VD_ELLIPSE_X      20601    // coordinate of ellipse's center
  885. #define VD_ELLIPSE_Y      20602    //
  886. #define VD_ELLIPSE_RH     20603    // horizontal radius
  887. #define VD_ELLIPSE_RV     20604    // vertical radius
  888. #define VD_ELLIPSE_ANGLE  20605    // rotation angle of the ellipse
  889. #define VD_ELLIPSE___MAX  20699
  890.  
  891. #define VD_TEXT___MIN     20701
  892. #define VD_TEXT_X         20701    // coordinate of text's insertion
  893. #define VD_TEXT_Y         20702    //
  894. #define VD_TEXT_TEXT      20703    // text sting
  895. #define VD_TEXT_LENGTH    20704    // RO text length (symbols)
  896. #define VD_TEXT_STYLE     20705    // text style
  897. #define VD_TEXT_HEIGHT    20706    // text height
  898. #define VD_TEXT_WSCALE    20707    // text width scale
  899. #define VD_TEXT_ALIGN     20708    // text align
  900. #define VD_TEXT_ANGLE     20709    // text angle
  901. #define VD_TEXT_OBLIQUE   20710    // text shift horiz.
  902. #define VD_TEXT_INTER_H   20712    // interval between chars
  903. #define VD_TEXT_INTER_V   20713    // interval between strings
  904. #define VD_TEXT_PATH      20714    // flag "Path text"
  905. #define VD_TEXT_STRIKEOUT 20715    // strikeout text
  906. #define VD_TEXT_UNDERLINE 20716    // underlined text
  907. #define VD_TEXT_N_LINES   20717    // RO number of text lines
  908. #define VD_TEXTP_CURVE    20721    // handle of path curve object
  909. #define VD_TEXTP_DX       20722    // origin along the curve
  910. #define VD_TEXTP_DY       20723    // chars deviation from the curve
  911. #define VD_TEXTP_BACKWARD 20724    // backward to curve direction
  912. #define VD_TEXTP_ABSANGLE 20725    // absolute rotation angle
  913. #define VD_TEXT___MAX     20799
  914.  
  915. #define VD_INSBLK___MIN   20801
  916. #define VD_INSBLK_X       20801    // coordinate of block's insertion
  917. #define VD_INSBLK_Y       20802    //
  918. #define VD_INSBLK_BLOCK   20803    // block's index
  919. #define VD_INSBLK_ANGLE   20804    // rotation angle
  920. #define VD_INSBLK_SCALEX  20805    // horiz. scale
  921. #define VD_INSBLK_SCALEY  20806    // vert. scale
  922. //#define VD_INSBLK_BYLAYER 20807    // properties by layer
  923. #define VD_INSBLK___MAX   20899
  924.  
  925. #define VD_HATCH___MIN    20901
  926. #define VD_HATCH_STYLE    20901    // index of hatch style
  927. #define VD_HATCH_SCALE    20902    // hatch's scale
  928. #define VD_HATCH_ANGLE    20903    // hatch's angle
  929. #define VD_HATCH___MAX    20999
  930.  
  931. #define VD_BMP___MIN      21001
  932. #define VD_BMP_X          21001    // coordinate of bitmap's insertion
  933. #define VD_BMP_Y          21002    //
  934. #define VD_BMP_FILENAME   21003    // bitmap file name
  935. #define VD_BMP_RESX       21004    // bitmap resolution by X
  936. #define VD_BMP_RESY       21005    // bitmap resolution by Y
  937. #define VD_BMP___MAX      21099
  938.  
  939. #define VD_POINT___MIN    21101  
  940. #define VD_POINT_X        21101    // coordinate of point
  941. #define VD_POINT_Y        21102    //
  942. #define VD_POINT_STYLE    21103    // point type
  943. #define VD_POINT_GROUP    21104    // point group
  944. #define VD_POINT_TEXT     21105    // point text
  945. #define VD_POINT_TEXTLEN  21106    // text length (symbols)
  946. #define VD_POINT_TXTDX    21107    // point text offset by X
  947. #define VD_POINT_TXTDY    21108    // point text offset by Y
  948. #define VD_POINT_TXTANG   21109    // point text angle
  949. #define VD_POINT_BLKANG   21110    // point block angle
  950. #define VD_POINT_FIXED    21111    // non-movable point
  951. #define VD_POINT___MAX    21199
  952.  
  953. #define VD_RECT___MIN     21201 
  954. #define VD_RECT_XCEN      21201    // coordinate of rect's center
  955. #define VD_RECT_YCEN      21202    //
  956. #define VD_RECT_WIDTH     21203    // width
  957. #define VD_RECT_HEIGHT    21204    // height
  958. #define VD_RECT_ANGLE     21205    // rotation angle of the rect
  959. #define VD_RECT_RADIUS    21206    // radius of corners
  960. #define VD_RECT___MAX     21201 
  961.  
  962. #define VD_DIM___MIN      22301 
  963. #define VD_DIM_STYLE      22301    // dimension style
  964. #define VD_DIM_TYPE       22302    // RO dimension type 
  965. #define VD_DIM_STATIC     22303    // flag "static value"
  966. #define VD_DIM_VALUE      22304    // value (if static)
  967. #define VD_DIM_XTEXT      22305    // text point
  968. #define VD_DIM_YTEXT      22306    //
  969. #define VD_DIM___MAX      22319 
  970.  
  971. #define VD_DIM_L___MIN    22321    
  972. #define VD_DIM_L_X1       22321    // first point
  973. #define VD_DIM_L_Y1       22322    //
  974. #define VD_DIM_L_X2       22323    // second point
  975. #define VD_DIM_L_Y2       22324    //
  976. #define VD_DIM_L_OFFSET   22325    // offset of dim. line
  977. #define VD_DIM_L_XLINE    22325    
  978. #define VD_DIM_L_YLINE    22325    
  979. #define VD_DIM_L___MAX    22339    
  980.  
  981. #define VD_DIM_A___MIN    22341 
  982. #define VD_DIM_A_XCEN     22341    // center point
  983. #define VD_DIM_A_YCEN     22342    //
  984. #define VD_DIM_A_X1       22343    // first point
  985. #define VD_DIM_A_Y1       22344    //
  986. #define VD_DIM_A_X2       22345    // second point
  987. #define VD_DIM_A_Y2       22346    //
  988. #define VD_DIM_A_RADIUS   22347    // radius for dimension arc
  989. #define VD_DIM_A___MAX    22359 
  990.  
  991. #define VD_DIM_R___MIN    22361
  992. #define VD_DIM_R_XCEN     22361    // center point
  993. #define VD_DIM_R_YCEN     22362
  994. #define VD_DIM_R_XRAD     22363    // radial point
  995. #define VD_DIM_R_YRAD     22364
  996. #define VD_DIM_R_OFFSET   22365    // offset of dim line start
  997. #define VD_DIM_R___MAX    22369
  998.  
  999. #define VD_DIM_D___MIN    22371
  1000. #define VD_DIM_D_XCEN     22371    // center point
  1001. #define VD_DIM_D_YCEN     22372
  1002. #define VD_DIM_D_XRAD     22373    // radial point
  1003. #define VD_DIM_D_YRAD     22374
  1004. #define VD_DIM_D___MAX    22379
  1005.  
  1006. #define VD_DIM_O___MIN    22391
  1007. #define VD_DIM_O_X        22391    // ordinate point
  1008. #define VD_DIM_O_Y        22392
  1009. #define VD_DIM_O_ORDY     22393    // flag "Show Y ordinate"
  1010. #define VD_DIM_O___MAX    22399
  1011.  
  1012. #define VD_GLASS___MIN    23001
  1013. #define VD_GLASS_X        23001
  1014. #define VD_GLASS_Y        23002
  1015. #define VD_GLASS_W        23003
  1016. #define VD_GLASS_H        23004
  1017. #define VD_GLASS_MLEF     23005
  1018. #define VD_GLASS_MTOP     23006
  1019. #define VD_GLASS_MRIG     23007
  1020. #define VD_GLASS_MBOT     23008
  1021. #define VD_GLASS_FILENAME 23009
  1022. #define VD_GLASS_KEEPPROP 23010
  1023. #define VD_GLASS_FITSIZE  23011
  1024. #define VD_GLASS_W2       23012
  1025. #define VD_GLASS_H2       23013
  1026. #define VD_GLASS___MAX    23099
  1027.  
  1028.  
  1029.  
  1030. /********************************************************************
  1031. * VeCAD strings identifiers
  1032. ********************************************************************/
  1033.  
  1034. #define VS_MSGTITLE            10501
  1035. #define VS_NONAME              10502
  1036. #define VS_UNDO_EMPTY          10503
  1037. #define VS_REDO_EMPTY          10504
  1038. #define VS_NO_FONT_FILE        10505
  1039. #define VS_DELETE_OBJ          10506
  1040. #define VS_SAVE_CHANGES        10507
  1041. #define VS_OLD_VEC_FORMAT      10508
  1042. #define VS_NEW_VEC_FORMAT      10509
  1043. #define VS_DWG_ALREADY_LOADED  10510
  1044. #define VS_NO_BLOCKS           10511
  1045. #define VS_LOAD_ERROR_SUM      10512
  1046. #define VS_LOADING             10513
  1047. #define VS_SAVING              10514
  1048. #define VS_EMPTYDWG            10515
  1049.  
  1050. #define VS_FILTER_VEC          10541
  1051. #define VS_FILTER_SHP          10542
  1052. #define VS_FILTER_PAT          10543
  1053. #define VS_FILTER_BMP          10544
  1054. #define VS_FILTER_DXF          10545
  1055. #define VS_FILTER_VDF          10546
  1056. #define VS_FILTER_HPGL         10547
  1057. #define VS_FILTER_CNC          10549
  1058.  
  1059. #define VS_DEL_LAYER_ONE       10551
  1060. #define VS_DEL_LAYER_HAS_REF   10552
  1061. #define VS_DEL_PAGE_ONE        10553
  1062. #define VS_DEL_PAGE_HAS_REF    10554
  1063. #define VS_DEL_STLINE_ONE      10555
  1064. #define VS_DEL_STLINE_HAS_REF  10556
  1065. #define VS_DEL_STTEXT_ONE      10557
  1066. #define VS_DEL_STTEXT_HAS_REF  10558
  1067. #define VS_DEL_STDIM_ONE       10559
  1068. #define VS_DEL_STDIM_HAS_REF   10560
  1069. #define VS_DEL_STHATCH_ONE     10561
  1070. #define VS_DEL_STHATCH_HAS_REF 10562
  1071. #define VS_DEL_BLOCK_HAS_REF   10563
  1072. #define VS_DEL_STPOINT_ONE     10564
  1073. #define VS_DEL_STPOINT_HAS_REF 10565
  1074. #define VS_DEL_STPOINT_SIMPLE  10566
  1075. #define VS_DEL_GRPOINT_ONE     10567
  1076. #define VS_DEL_GRPOINT_HAS_REF 10568
  1077.  
  1078. #define VS_DWGLIST_TITLE  10981
  1079. #define VS_DWGLIST_CLOSE  10982
  1080.  
  1081. #define VS_VIEW_TITLE     10985
  1082. #define VS_VIEW_EDIT      10986
  1083. #define VS_VIEW_DELETE    10987
  1084. #define VS_VIEW_SAVE      10988
  1085. #define VS_VIEW_NAME      10989
  1086.  
  1087. #define VS_TOOL_ZOOMWIN   11101
  1088. #define VS_TOOL_ZOOMPAN   11102
  1089. #define VS_TOOL_POINT     11107
  1090. #define VS_TOOL_LINE      11103
  1091. #define VS_TOOL_POLY      11104
  1092. #define VS_TOOL_SPLINE    11105
  1093. #define VS_TOOL_TEXT      11106
  1094. #define VS_TOOL_CIRC_CR   11111
  1095. #define VS_TOOL_CIRC_CD   11112
  1096. #define VS_TOOL_CIRC_2P   11113
  1097. #define VS_TOOL_CIRC_3P   11114
  1098. #define VS_TOOL_ARC_CSE   11121
  1099. #define VS_TOOL_ARC_SEM   11122
  1100. #define VS_TOOL_ARC_SME   11123
  1101. #define VS_TOOL_INSBLOCK  11130
  1102. #define VS_TOOL_HATCH     11131
  1103. #define VS_TOOL_BITMAP    11132
  1104. #define VS_TOOL_ELLIPSE   11133
  1105. #define VS_TOOL_RECT      11134
  1106. #define VS_TOOL_SYMBOL    11135
  1107. #define VS_TOOL_RMAP      11136
  1108. #define VS_TOOL_DIMHOR    11141
  1109. #define VS_TOOL_DIMVER    11142
  1110. #define VS_TOOL_DIMPAR    11143
  1111. #define VS_TOOL_DIMANG    11144
  1112. #define VS_TOOL_DIMRAD    11145
  1113. #define VS_TOOL_DIMDIAM   11146
  1114. #define VS_TOOL_DIMORD    11147
  1115. #define VS_TOOL_ENTPROP   11150
  1116. #define VS_TOOL_COPY      11151
  1117. #define VS_TOOL_MOVE      11152
  1118. #define VS_TOOL_ROTATE    11153
  1119. #define VS_TOOL_SCALE     11154
  1120. #define VS_TOOL_MIRROR    11155
  1121. #define VS_TOOL_CREBLOCK  11156
  1122. #define VS_TOOL_EXPLODE   11157
  1123. #define VS_TOOL_ERASE     11158
  1124. #define VS_TOOL_CBCUT     11161
  1125. #define VS_TOOL_CBCOPY    11162
  1126. #define VS_TOOL_CBPASTE   11163
  1127. #define VS_TOOL_PRINT     11171
  1128. #define VS_TOOL_EXPBMP    11172
  1129. #define VS_TOOL_DIST      11181
  1130. #define VS_TOOL_PRNRECT   11182
  1131.  
  1132. #define VS_BUT_OK         11201
  1133. #define VS_BUT_CANCEL     11202
  1134. #define VS_BUT_ADD        11203
  1135. #define VS_BUT_DELETE     11204
  1136. #define VS_BUT_CURRENT    11205
  1137. #define VS_BUT_SELECT     11206
  1138. #define VS_BUT_UNSELECT   11207
  1139. #define VS_N_REFS         11221
  1140. #define VS_OBJVIEW        11222
  1141.  
  1142. #define VS_SELPAGE          11301
  1143.  
  1144. #define VS_LAYOUT_TITLE     11302
  1145. #define VS_DAID_TITLE       11303
  1146. #define VS_ENTPROP_TITLE    11304
  1147. #define VS_ENTPROP_TITLE2   11305
  1148.  
  1149. #define VS_PAGE_TITLE       11401
  1150. #define VS_PAGE_BOOK        11402
  1151. #define VS_PAGE_ALBUM       11403
  1152. #define VS_PAGE_POS         11404
  1153. #define VS_PAGE_NAME        11405
  1154. #define VS_PAGE_NAME2       11406
  1155. #define VS_PAGE_SIZE        11407
  1156. #define VS_PAGE_W           11408
  1157. #define VS_PAGE_H           11409
  1158. #define VS_PAGE_ORIENT      11410
  1159. #define VS_PAGE_WCS_UNITS   11411
  1160. #define VS_PAGE_WCS_SCALE   11412
  1161. #define VS_PAGE_WCS_X0      11413
  1162. #define VS_PAGE_WCS_Y0      11414
  1163. #define VS_PAGE_WCS_GEO     11415
  1164. #define VS_PAGE_WCS         11416
  1165. #define VS_PAGE_UNITS       11417
  1166. #define VS_PAGE_WCS_ON      11418
  1167. #define VS_PAGE_FORALL      11419
  1168.  
  1169. #define VS_LAYER_TITLE      11501
  1170. #define VS_LAYER_NAME       11502
  1171. #define VS_LAYER_STATE      11503
  1172. #define VS_LAYER_NAME2      11504
  1173. #define VS_LAYER_LWIDTH2    11505
  1174. #define VS_LAYER_COLOR      11506
  1175. #define VS_LAYER_FCOLOR     11507
  1176. #define VS_LAYER_OFF        11508
  1177. #define VS_LAYER_RDONLY     11509
  1178. #define VS_LAYER_NOPRINT    11510
  1179. #define VS_LAYER_SELINS     11511
  1180.  
  1181. #define VS_STLINE_TITLE     11601
  1182. #define VS_STLINE_NAME      11602
  1183. #define VS_STLINE_NAME2     11603
  1184. #define VS_STLINE_DESC      11604
  1185. #define VS_STLINE_APPLY     11605
  1186.  
  1187. #define VS_STTEXT_TITLE     11701
  1188. #define VS_STTEXT_CHFONT    11702
  1189. #define VS_STTEXT_RELOAD    11703
  1190. #define VS_STTEXT_NAME      11704
  1191. #define VS_STTEXT_NAME2     11705
  1192. #define VS_STTEXT_FILE      11706
  1193. #define VS_STTEXT_WIDTH     11707
  1194. #define VS_STTEXT_SHIFT     11708
  1195. #define VS_STTEXT_PRECISION 11709
  1196. #define VS_STTEXT_FILLED    11710
  1197. #define VS_STTEXT_FONTFILE  11711
  1198. #define VS_STTEXT_FONTSYS   11712
  1199. #define VS_STTEXT_BIGFONT   11713
  1200.  
  1201. #define VS_STDIM_TITLE      11801
  1202. #define VS_STDIM_TITLE1     11802
  1203. #define VS_STDIM_TITLE2     11803
  1204. #define VS_STDIM_TITLE3     11804
  1205. #define VS_STDIM_TA_ABOVE   11805
  1206. #define VS_STDIM_TA_CENTER  11806
  1207. #define VS_STDIM_TA_BELOW   11807
  1208. #define VS_STDIM_NAME       11811
  1209. #define VS_STDIM_NAME2      11812
  1210. #define VS_STDIM_INSLINE    11821  
  1211. #define VS_STDIM_ARRHEAD    11822
  1212. #define VS_STDIM_ARRTYPE      11823
  1213. #define VS_STDIM_ARRLEN     11824
  1214. #define VS_STDIM_ARRH       11825
  1215. #define VS_STDIM_EXTLINE    11826
  1216. #define VS_STDIM_OFFSET     11827
  1217. #define VS_STDIM_EXTEND     11828
  1218. #define VS_STDIM_COLORS     11829
  1219. #define VS_STDIM_OWNCOL     11830
  1220. #define VS_STDIM_COLDIM     11831
  1221. #define VS_STDIM_COLEXL     11832
  1222. #define VS_STDIM_COLTXT     11833
  1223. #define VS_STDIM_CENTER     11834
  1224. #define VS_STDIM_CENMARK    11835
  1225. #define VS_STDIM_CENLINE    11836
  1226. #define VS_STDIM_CENNONE    11837
  1227. #define VS_STDIM_CENSIZE    11838
  1228. #define VS_STDIM_PREFIX     11851
  1229. #define VS_STDIM_TXTSTYLE   11852
  1230. #define VS_STDIM_TXTALIGN   11853
  1231. #define VS_STDIM_TXTH       11854
  1232. #define VS_STDIM_TXTGAP     11855
  1233. #define VS_STDIM_TXTDEC     11856
  1234. #define VS_STDIM_SCALE      11857
  1235. #define VS_STDIM_ROUND      11858
  1236. #define VS_STDIM_TOLER      11859
  1237. #define VS_STDIM_TPLUS      11860
  1238. #define VS_STDIM_TMINUS     11861
  1239. #define VS_STDIM_TXTHORZ    11862
  1240. #define VS_STDIM_TXTARC90   11863
  1241. #define VS_STDIM_TXTRECT    11864
  1242. #define VS_STDIM_ENDZERO    11865
  1243.  
  1244. #define VS_STHAT_TITLE      11901
  1245. #define VS_STHAT_TITLE2     11902
  1246. #define VS_STHAT_APPLY      11903
  1247. #define VS_STHAT_NAME       11904
  1248. #define VS_STHAT_NAME2      11905
  1249. #define VS_STHAT_DESC       11906
  1250. #define VS_STHAT_LOAD       11907
  1251.  
  1252. #define VS_BLOCKS_TITLE     12001
  1253. #define VS_BLOCKS_ADD       12002
  1254. #define VS_BLOCKS_DELETE    12003
  1255. #define VS_BLOCKS_NAME      12004
  1256. #define VS_BLOCKS_VIEW      12005
  1257. #define VS_BLOCKS_NAME2     12006
  1258. #define VS_BLOCKS_SIZE      12007
  1259. #define VS_BLOCKS_DX        12008
  1260. #define VS_BLOCKS_DY        12009
  1261. #define VS_BLOCKS_ENTS      12010
  1262. #define VS_BLOCKS_BYLAYER   12011
  1263.  
  1264. #define VS_SELBLK_TITLE     12031
  1265. #define VS_SELBLK_NSEL      12032
  1266. #define VS_SELBLK_SELALL    12033
  1267. #define VS_SELBLK_UNSELALL  12034
  1268.  
  1269. #define VS_NEWBLK_TITLE     12051
  1270. #define VS_NEWBLK_NAME      12052
  1271.  
  1272. #define VS_STPNT_TITLE      12101
  1273. #define VS_STPNT_SIMPLE     12102
  1274. #define VS_STPNT_NODRAW     12103
  1275. #define VS_STPNT_DRAWBLK    12104
  1276. #define VS_STPNT_DRAWTEXT   12105
  1277. #define VS_STPNT_DRAWALL    12106
  1278. #define VS_STPNT_LIST       12116
  1279. #define VS_STPNT_NAME       12117
  1280. #define VS_STPNT_STAT       12118
  1281. #define VS_STPNT_LAYER      12119
  1282. #define VS_STPNT_TEXT       12120
  1283. #define VS_STPNT_TSTYLE     12121
  1284. #define VS_STPNT_THIGH      12122
  1285. #define VS_STPNT_TSCALE     12123
  1286. #define VS_STPNT_SYMBOL     12124
  1287. #define VS_STPNT_BLOCK      12125
  1288. #define VS_STPNT_BSCALE     12126
  1289. #define VS_STPNT_FIXED      12127
  1290. #define VS_STPNT_SNAP       12128
  1291.  
  1292. #define VS_GRID_TITLE       12401
  1293. #define VS_GRID_POINT       12402
  1294. #define VS_GRID_CROSS       12403
  1295. #define VS_GRID_CROSS45     12404
  1296. #define VS_GRID_LINE        12405
  1297. #define VS_GRID_DOTLINE     12406
  1298. #define VS_GRID_DASHLINE    12407
  1299. #define VS_GRID_ORIGIN      12411
  1300. #define VS_GRID_STEP        12412
  1301. #define VS_GRID_HORZ        12413
  1302. #define VS_GRID_VERT        12414
  1303. #define VS_GRID_BOLDSTEP    12415
  1304. #define VS_GRID_SNAP        12416
  1305. #define VS_GRID_SHOW        12417
  1306. #define VS_GRID_PRINT       12418
  1307. #define VS_GRID_MAIN        12419
  1308. #define VS_GRID_BOLD        12420
  1309. #define VS_GRID_TYPE        12421
  1310. #define VS_GRID_COLOR       12422
  1311.  
  1312. #define VS_OSNAP_TITLE      12431
  1313. #define VS_OSNAP_END        12432
  1314. #define VS_OSNAP_MID        12433
  1315. #define VS_OSNAP_CENTER     12434
  1316. #define VS_OSNAP_POINT      12435
  1317. #define VS_OSNAP_INTER      12436
  1318. #define VS_OSNAP_NEAR       12437
  1319. #define VS_OSNAP_GRIP       12438
  1320. #define VS_OSNAP_PERP       12439
  1321. #define VS_OSNAP_TANG       12440
  1322. #define VS_OSNAP_CLEAR      12441
  1323. #define VS_OSNAP_APERSIZE   12442
  1324. #define VS_OSNAP_SELECT     12443
  1325.  
  1326. #define VS_PSNAP_TITLE      12461
  1327. #define VS_PSNAP_ON         12462
  1328. #define VS_PSNAP_DIST       12463
  1329. #define VS_PSNAP_ANGLE      12464
  1330. #define VS_PSNAP_ANGLE_0    12465
  1331.  
  1332. #define VS_UNITS_TITLE      12501
  1333. #define VS_UNITS_UNITS      12502
  1334. #define VS_UNITS_SCALE      12503
  1335. #define VS_UNITS_X0         12504
  1336. #define VS_UNITS_Y0         12505
  1337. #define VS_UNITS_GEO        12506
  1338. #define VS_UNITS_PREC       12507
  1339. #define VS_UNIT_POINT       12511
  1340. #define VS_UNIT_MM          12512
  1341. #define VS_UNIT_CM          12513
  1342. #define VS_UNIT_MET         12514
  1343. #define VS_UNIT_KM          12515
  1344. #define VS_UNIT_INCH        12516
  1345. #define VS_UNIT_FOOT        12517
  1346. #define VS_UNIT_YARD        12518
  1347. #define VS_UNIT_MILE        12519
  1348. #define VS_UNIT_SEAMILE     12520
  1349. #define VS_ANG_DEGREE       12531
  1350. #define VS_ANG_RADIAN       12532
  1351.  
  1352. #define VS_PRIV_TITLE       12551
  1353. #define VS_PRIV_DWGTITLE    12552
  1354. #define VS_PRIV_OWNER       12553
  1355. #define VS_PRIV_COMMENT     12554
  1356. #define VS_PRIV_PSW         12555
  1357. #define VS_PRIV_INFO        12556
  1358. #define VS_PRIV_NOPSW       12557
  1359. #define VS_PRIV_NOLOAD      12558
  1360. #define VS_PRIV_VIEWONLY    12559
  1361. #define VS_PRIV_NOEXPORT    12560
  1362. #define VS_PRIV_NOPRINT     12561
  1363.  
  1364. #define VS_PSW_TITLE        12581
  1365. #define VS_PSW_WRONG        12582
  1366. #define VS_PSW_READONLY     12583
  1367. #define VS_PSW_WORD         12584
  1368.  
  1369. #define VS_PREF_TITLE       12601
  1370. #define VS_PREF_AUTOSELPNT  12602
  1371. #define VS_PREF_AUTOSELWIN  12603
  1372. #define VS_PREF_SHOWGRID    12604
  1373. #define VS_PREF_SHOWFILL    12605
  1374. #define VS_PREF_SHOWLINEW   12606
  1375. #define VS_PREF_SHOWVECT    12607
  1376. #define VS_PREF_SHOWBMP     12608
  1377. #define VS_PREF_PENW0       12609
  1378. #define VS_PREF_CURLEVEL    12610
  1379. #define VS_PREF_ZOOMKF      12611
  1380. #define VS_PREF_SHIFTKF     12612
  1381. #define VS_PREF_CURSOR      12613
  1382. #define VS_PREF_SIZECURS    12614
  1383. #define VS_PREF_COLCURS     12615
  1384. #define VS_PREF_GRIPS       12616
  1385. #define VS_PREF_GRIPSIZE    12617
  1386. #define VS_PREF_COLGRIP     12618
  1387. #define VS_PREF_COLSELGRIP  12619
  1388. #define VS_PREF_COLBKG      12620
  1389. #define VS_PREF_COLPAGE     12621
  1390. #define VS_PREF_COLSELOBJ   12622
  1391. #define VS_PREF_CCOLOR      12623
  1392.  
  1393. #define VS_ENT_TITLE    13001
  1394. #define VS_ENT_LAYER    13002
  1395. #define VS_ENT_LTYPE    13003
  1396. #define VS_ENT_PAGE     13004
  1397. #define VS_ENT_LCOL     13005
  1398. #define VS_ENT_FCOL     13006
  1399. #define VS_ENT_BYLAY    13007
  1400. #define VS_ENT_FILLED   13008
  1401. #define VS_ENT_BORDER   13009
  1402. #define VS_ENT_LINEW    13010
  1403. #define VS_ENT_LEVEL    13011
  1404. #define VS_ENT_LIMITS   13012
  1405. #define VS_ENT_HANDLE   13013
  1406. #define VS_ENT_KEY      13014
  1407.  
  1408. #define VS_LINE_TITLE       13101
  1409. #define VS_LINE_PNT1        13102
  1410. #define VS_LINE_PNT2        13103
  1411. #define VS_LINE_ARROW       13104
  1412. #define VS_LINE_NOARROW     13105
  1413. #define VS_LINE_LENGTH      13106
  1414. #define VS_LINE_ANGLE       13107
  1415.  
  1416. #define VS_TEXT_TITLE       13201
  1417. #define VS_TEXT_TITLE2      13202
  1418. #define VS_TEXT_TA_LEFBOT   13203
  1419. #define VS_TEXT_TA_MIDBOT   13204
  1420. #define VS_TEXT_TA_RIGBOT   13205
  1421. #define VS_TEXT_TA_LEFMID   13206
  1422. #define VS_TEXT_TA_MIDMID   13207
  1423. #define VS_TEXT_TA_RIGMID   13208
  1424. #define VS_TEXT_TA_LEFTOP   13209
  1425. #define VS_TEXT_TA_MIDTOP   13210
  1426. #define VS_TEXT_TA_RIGTOP   13211
  1427. #define VS_TEXT_NO_PATH     13212
  1428. #define VS_TEXT_POINT       13221
  1429. #define VS_TEXT_HEIGHT      13222
  1430. #define VS_TEXT_WIDTH       13223
  1431. #define VS_TEXT_ROTANG      13224
  1432. #define VS_TEXT_IVERT       13225
  1433. #define VS_TEXT_IHORZ       13226
  1434. #define VS_TEXT_ALIGN       13227
  1435. #define VS_TEXT_STYLE       13228
  1436. #define VS_TEXT_TEXT        13229
  1437. #define VS_TEXT_OBLIQUE     13230
  1438. #define VS_TEXT_STRIKEOUT   13231
  1439. #define VS_TEXT_UNDERLINE   13232
  1440. #define VS_TEXT_PTWRITE     13241
  1441. #define VS_TEXT_PTBACK      13242
  1442. #define VS_TEXT_PTABSANG    13243
  1443. #define VS_TEXT_PTHANDLE    13244
  1444. #define VS_TEXT_PTDY        13245
  1445. #define VS_TEXT_PTDX        13246
  1446.  
  1447. #define VS_CIRC_TITLE       13301
  1448. #define VS_CIRC_CENTER      13302
  1449. #define VS_CIRC_RADIUS      13303
  1450. #define VS_CIRC_LENGTH      13304
  1451. #define VS_CIRC_AREA        13305
  1452.  
  1453. #define VS_POLY_TITLE       13401
  1454. #define VS_POLY_LINE        13402
  1455. #define VS_POLY_BSPLINE2    13403
  1456. #define VS_POLY_BSPLINE3    13404
  1457. #define VS_POLY_FITBSPL3    13405
  1458. #define VS_POLY_LINBSPL2    13406
  1459. #define VS_POLY_AUTOBEZIER  13407
  1460. #define VS_POLY_BEZIER      13408
  1461. #define VS_POLY_ROUNDED     13409
  1462. #define VS_POLY_MULTIRAD    13410
  1463. #define VS_POLY_BULGE       13411
  1464. #define VS_POLY_CLOSED      13421
  1465. #define VS_POLY_SMOOTH      13422
  1466. #define VS_POLY_RAD         13423
  1467. #define VS_POLY_PERIM       13424
  1468. #define VS_POLY_AREA        13425
  1469. #define VS_POLY_DIMST0      13429
  1470. #define VS_POLY_DIMST1      13430
  1471. #define VS_POLY_NVER        13434
  1472.  
  1473. #define VS_PVER_TITLE       13451
  1474. #define VS_PVER_ONLINE      13452
  1475. #define VS_PVER_OFFLINE     13453
  1476. #define VS_PVER_CLOSE       13454
  1477. #define VS_PVER_ADD         13455
  1478. #define VS_PVER_INSERT      13456
  1479. #define VS_PVER_DELETE      13457
  1480.  
  1481. #define VS_INSBLK_TITLE     13501
  1482. #define VS_INSBLK_NAME      13502
  1483. #define VS_INSBLK_POINT     13503
  1484. #define VS_INSBLK_ANGLE     13504
  1485. #define VS_INSBLK_SCX       13505
  1486. #define VS_INSBLK_SCY       13506
  1487. #define VS_INSBLK_WIDTH     13507
  1488. #define VS_INSBLK_HEIGHT    13508
  1489. #define VS_INSBLK_BYLAY     13509
  1490.  
  1491. #define VS_HATCH_TITLE      13601
  1492. #define VS_HATCH_NAME       13602
  1493. #define VS_HATCH_ANGLE      13603
  1494. #define VS_HATCH_SCALE      13604
  1495. #define VS_HATCH_SIZE       13605
  1496.  
  1497. #define VS_POINT_TITLE      13701
  1498. #define VS_POINT_TYPE       13703
  1499. #define VS_POINT_BLKANG     13704
  1500. #define VS_POINT_TEXT       13705
  1501. #define VS_POINT_TXTANG     13706
  1502. #define VS_POINT_TXTOFFSET  13707
  1503. #define VS_POINT_FIXED      13708
  1504.  
  1505. #define VS_BMP_TITLE        13801
  1506. #define VS_BMP_FILE         13802
  1507. #define VS_BMP_INS          13803
  1508. #define VS_BMP_RES          13804
  1509. #define VS_BMP_RESH         13805
  1510. #define VS_BMP_RESV         13806
  1511. #define VS_BMP_WIDTH        13807
  1512. #define VS_BMP_HEIGHT       13808
  1513.  
  1514. #define VS_ELL_TITLE        13901
  1515. #define VS_ELL_CENTER       13902
  1516. #define VS_ELL_RADIUS       13903
  1517. #define VS_ELL_RH           13904
  1518. #define VS_ELL_RV           13905
  1519. #define VS_ELL_ANGLE        13906
  1520. #define VS_ELL_LEN          13907
  1521. #define VS_ELL_AREA         13908
  1522.  
  1523. #define VS_ARC_TITLE        14001
  1524. #define VS_ARC_CENTER       14002
  1525. #define VS_ARC_RAD          14003
  1526. #define VS_ARC_ANG1         14004
  1527. #define VS_ARC_ANG2         14005
  1528. #define VS_ARC_ANG          14006
  1529. #define VS_ARC_TYPE         14007
  1530. #define VS_ARC_ARC          14008
  1531. #define VS_ARC_CHORD        14009
  1532. #define VS_ARC_SECTOR       14010
  1533. #define VS_ARC_DIMST0       14011
  1534. #define VS_ARC_DIMST1       14012
  1535. #define VS_ARC_LEN          14013
  1536. #define VS_ARC_AREA         14014
  1537.  
  1538. #define VS_RECT_TITLE       14101
  1539. #define VS_RECT_CENTER      14102
  1540. #define VS_RECT_W           14103
  1541. #define VS_RECT_H           14104
  1542. #define VS_RECT_RAD         14105
  1543. #define VS_RECT_ANG         14106
  1544. #define VS_RECT_LEN         14107
  1545. #define VS_RECT_AREA        14108
  1546.  
  1547. #define VS_SYMB_TITLE       14201
  1548. #define VS_SYMB_HEIGHT      14202
  1549. #define VS_SYMB_FONT        14203
  1550.  
  1551. #define VS_RMAP_TITLE       14301
  1552. #define VS_RMAP_SELDIR      14302
  1553. #define VS_RMAP_DIR         14303
  1554. #define VS_RMAP_BASE        14304
  1555. #define VS_RMAP_SIZE        14305
  1556. #define VS_RMAP_LEVEL       14306
  1557. #define VS_RMAP_SHOW        14308
  1558. #define VS_RMAP_PIXMIN      14309
  1559. #define VS_RMAP_PIXMAX      14310
  1560. #define VS_RMAP_COLSQ       14311
  1561. #define VS_RMAP_NCELL       14312
  1562. #define VS_RMAP_EDIT        14313
  1563. #define VS_RMAP_SQADD       14321
  1564. #define VS_RMAP_SQDEL       14322
  1565. #define VS_RMAP_SQMOVE      14323
  1566.  
  1567. #define VS_DIM_TITLE        14401
  1568. #define VS_DIM_HORZ         14402
  1569. #define VS_DIM_VERT         14403
  1570. #define VS_DIM_PARAL        14404
  1571. #define VS_DIM_ANG          14405
  1572. #define VS_DIM_RAD          14406
  1573. #define VS_DIM_DIAM         14407
  1574. #define VS_DIM_ORD          14408
  1575. #define VS_DIM_OWN          14412
  1576. #define VS_DIM_TYPE         14413
  1577. #define VS_DIM_MEASURE      14414
  1578. #define VS_DIM_VALUE        14415
  1579. #define VS_DIM_STYLE        14416
  1580.  
  1581. #define VS_PRINT_TITLE      16001
  1582. #define VS_PRINT_PRINTER    16002
  1583. #define VS_PRINT_PICK       16003
  1584. #define VS_PRINT_FIT        16004
  1585. #define VS_PRINT_ALL        16005
  1586. #define VS_PRINT_PAGE       16006
  1587. #define VS_PRINT_PRECT      16007
  1588. #define VS_PRINT_DISP       16008
  1589. #define VS_PRINT_WIN        16009
  1590. #define VS_PRINT_PGALL      16010
  1591. #define VS_PRINT_PGCUR      16011
  1592. #define VS_PRINT_PGNO       16012
  1593. #define VS_PRINT_CURPRN     16013
  1594. #define VS_PRINT_PAPERSIZE  16014
  1595. #define VS_PRINT_RES        16015
  1596. #define VS_PRINT_REGION     16016
  1597. #define VS_PRINT_WLEFBOT    16017
  1598. #define VS_PRINT_WRIGTOP    16018
  1599. #define VS_PRINT_REGSIZE    16019
  1600. #define VS_PRINT_SCALE      16020
  1601. #define VS_PRINT_ATX        16021
  1602. #define VS_PRINT_ATY        16022
  1603. #define VS_PRINT_ORIGIN     16023
  1604. #define VS_PRINT_COPIES     16026
  1605. #define VS_PRINT_PAGES      16025
  1606. #define VS_PRINT_PRECTS     16026
  1607. #define VS_PRINT_ALBUM      16027
  1608. #define VS_PRINT_BOOK       16028
  1609.  
  1610. #define VS_EXPBMP_TITLE     16101
  1611. #define VS_EXPBMP_FILE      16102
  1612. #define VS_EXPBMP_AREA      16103
  1613. #define VS_EXPBMP_ALL       16104
  1614. #define VS_EXPBMP_DISP      16105
  1615. #define VS_EXPBMP_WIN       16106
  1616. #define VS_EXPBMP_PICK      16107
  1617. #define VS_EXPBMP_LEFBOT    16108
  1618. #define VS_EXPBMP_RIGTOP    16109
  1619. #define VS_EXPBMP_SIZEMM    16110
  1620. #define VS_EXPBMP_RES       16111
  1621. #define VS_EXPBMP_SIZEPIX   16112
  1622.  
  1623. #define VS_PRR_TITLE        16201
  1624. #define VS_PRR_EXIT         16202
  1625. #define VS_PRR_ADD          16203
  1626. #define VS_PRR_DEL          16204
  1627. #define VS_PRR_FORALL       16205
  1628. #define VS_PRR_MOVE         16206
  1629. #define VS_PRR_COLOR        16207
  1630. #define VS_PRR_SHOW         16208
  1631. #define VS_PRR_HX           16209
  1632. #define VS_PRR_HY           16210
  1633. #define VS_PRR_HSIZE        16211
  1634. #define VS_PRR_HANGLE       16212
  1635. #define VS_PRR_CENTER       16213
  1636. #define VS_PRR_PRM          16214
  1637. #define VS_PRR_W            16215
  1638. #define VS_PRR_H            16216
  1639. #define VS_PRR_ANG          16217
  1640.  
  1641. #define VS_DIST_TITLE       16301
  1642. #define VS_DIST_BYOBJ       16302
  1643. #define VS_DIST_START       16303
  1644. #define VS_DIST_RESET       16304
  1645. #define VS_DIST_DIST        16305
  1646. #define VS_DIST_PERIM       16306
  1647. #define VS_DIST_ANGLE       16307
  1648. #define VS_DIST_AREA        16308
  1649. #define VS_DIST_SUMAREA     16309
  1650.  
  1651. #define VS_STAT_DWGFILE     17001
  1652. #define VS_STAT_FILESIZE    17002
  1653. #define VS_STAT_DWGWIDTH    17003
  1654. #define VS_STAT_DWGHEIGHT   17004
  1655. #define VS_STAT_DWGLEFT     17005
  1656. #define VS_STAT_DWGBOTTOM   17006
  1657. #define VS_STAT_DWGRIGHT    17007
  1658. #define VS_STAT_DWGTOP      17008
  1659. #define VS_STAT_DRAWTIME    17009
  1660. #define VS_STAT_PAGES       17021
  1661. #define VS_STAT_LAYERS      17022
  1662. #define VS_STAT_STLINES     17023
  1663. #define VS_STAT_STTEXTS     17024
  1664. #define VS_STAT_STHATCHS    17025
  1665. #define VS_STAT_STDIMS      17026
  1666. #define VS_STAT_STPOINTS    17027
  1667. #define VS_STAT_BLOCKS      17028
  1668. #define VS_STAT_ENTS        17029
  1669. #define VS_STAT_POLYVERS    17030
  1670. #define VS_STAT_TEXTCHARS   17031
  1671. #define VS_STAT_ENTBYLAYER  17041
  1672. #define VS_STAT_ENTBYPAGE   17042
  1673. #define VS_STAT_ENTBYBLOCK  17043
  1674. #define VS_STAT_ENTBYTYPE   17050
  1675. #define VS_STAT_POINT       17051
  1676. #define VS_STAT_LINE        17052
  1677. #define VS_STAT_POLY        17053
  1678. #define VS_STAT_CIRCLE      17054
  1679. #define VS_STAT_ARC         17055
  1680. #define VS_STAT_ELLIPSE     17056
  1681. #define VS_STAT_TEXT        17057
  1682. #define VS_STAT_BITMAP      17058
  1683. #define VS_STAT_INSBLOCK    17059
  1684. #define VS_STAT_HATCH       17060
  1685. #define VS_STAT_RECT        17061
  1686. #define VS_STAT_DIMLIN      17062
  1687. #define VS_STAT_DIMANG      17063
  1688. #define VS_STAT_DIMRAD      17064
  1689. #define VS_STAT_DIMDIAM     17065
  1690. #define VS_STAT_DIMORD      17066
  1691.  
  1692. #define VS_MENU_ENTPROP     18001
  1693. #define VS_MENU_COPY        18002
  1694. #define VS_MENU_MOVE        18003
  1695. #define VS_MENU_ROTATE      18004
  1696. #define VS_MENU_SCALE       18005
  1697. #define VS_MENU_MIRROR      18006
  1698. #define VS_MENU_CREBLOCK    18007
  1699. #define VS_MENU_EXPLODE     18008
  1700. #define VS_MENU_ERASE       18009
  1701. #define VS_MENU_UNSELALL    18010
  1702. #define VS_MENU_VER_INS     18021
  1703. #define VS_MENU_VER_DEL     18022
  1704. #define VS_MENU_VER_RAD     18023
  1705. #define VS_MENU_VER_FIX     18024
  1706.  
  1707. // tooltips string
  1708. #define VS_TT_FILE_NEW      19001
  1709. #define VS_TT_FILE_OPEN     19002
  1710. #define VS_TT_FILE_SAVE     19003
  1711. #define VS_TT_PRINT         19004
  1712. #define VS_TT_TOOL_PRNRECT  19005
  1713. #define VS_TT_ZOOM_ALL      19006
  1714. #define VS_TT_ZOOM_WIN      19007
  1715. #define VS_TT_ZOOM_IN       19008
  1716. #define VS_TT_ZOOM_OUT      19009
  1717. #define VS_TT_ZOOM_PAN      19010
  1718. #define VS_TT_PAGE_DLG      19011
  1719. #define VS_TT_PAGE_PREV     19012
  1720. #define VS_TT_PAGE_NEXT     19013
  1721. #define VS_TT_RESET         19014
  1722. #define VS_TT_SHOWGRID      19015
  1723. #define VS_TT_SHOWLINEW     19016
  1724. #define VS_TT_SHOWFILL      19017
  1725. #define VS_TT_TOOL_DIST     19018
  1726. #define VS_TT_FMT_LAYER     19019
  1727. #define VS_TT_EDIT_UNDO     19020
  1728. #define VS_TT_EDIT_REDO     19021
  1729. #define VS_TT_EDIT_CBCUT    19022
  1730. #define VS_TT_EDIT_CBCOPY   19023
  1731. #define VS_TT_EDIT_CBPASTE  19024
  1732. #define VS_TT_EDIT_ENTPROP  19031
  1733. #define VS_TT_EDIT_COPY     19032
  1734. #define VS_TT_EDIT_MOVE     19033
  1735. #define VS_TT_EDIT_ROTATE   19034
  1736. #define VS_TT_EDIT_SCALE    19035
  1737. #define VS_TT_EDIT_MIRROR   19036
  1738. #define VS_TT_EDIT_ERASE    19037
  1739. #define VS_TT_EDIT_EXPLODE  19038
  1740. #define VS_TT_EDIT_CREBLOCK 19039
  1741. #define VS_TT_DRAW_POINT    19051
  1742. #define VS_TT_DRAW_LINE     19052
  1743. #define VS_TT_DRAW_POLYLINE 19053
  1744. #define VS_TT_DRAW_SPLINE   19054
  1745. #define VS_TT_DRAW_CIRC_CR  19055
  1746. #define VS_TT_DRAW_CIRC_3P  19056
  1747. #define VS_TT_DRAW_ARC_CSE  19057
  1748. #define VS_TT_DRAW_ARC_SME  19058
  1749. #define VS_TT_DRAW_ELLIPSE  19059
  1750. #define VS_TT_DRAW_RECT     19060
  1751. #define VS_TT_DRAW_HATCH    19061
  1752. #define VS_TT_DRAW_TEXT     19062
  1753. #define VS_TT_DRAW_SYMBOL   19063
  1754. #define VS_TT_DRAW_BLOCK    19064
  1755. #define VS_TT_DRAW_IMAGE    19065
  1756. #define VS_TT_DRAW_DIM_HOR  19071
  1757. #define VS_TT_DRAW_DIM_VER  19072
  1758. #define VS_TT_DRAW_DIM_PAR  19073
  1759. #define VS_TT_DRAW_DIM_ANG  19074
  1760. #define VS_TT_DRAW_DIM_RAD  19075
  1761. #define VS_TT_DRAW_DIM_DIAM 19076
  1762. #define VS_TT_DRAW_DIM_ORD  19077
  1763. #define VS_TT_SNAP_END      19101
  1764. #define VS_TT_SNAP_MID      19102
  1765. #define VS_TT_SNAP_INTER    19103
  1766. #define VS_TT_SNAP_CEN      19104
  1767. #define VS_TT_SNAP_KNOT     19105
  1768. #define VS_TT_SNAP_PERP     19106
  1769. #define VS_TT_SNAP_TANG     19107
  1770. #define VS_TT_SNAP_POINT    19108
  1771. #define VS_TT_SNAP_NEAR     19109
  1772. #define VS_TT_SNAP_GRID     19110
  1773. #define VS_TT_SNAP_POLAR    19111
  1774. #define VS_TT_SNAP_CLEAR    19112
  1775. #define VS_TT_SNAP_DLG      19113
  1776.  
  1777. #define VS_CC_ZOOMWIN      19201
  1778. #define VS_CC_ZOOMPAN      19202
  1779. #define VS_CC_PRINT        19203
  1780. #define VS_CC_PRNRECT      19204
  1781. #define VS_CC_EXPBMP       19205
  1782. #define VS_CC_POINT        19206
  1783. #define VS_CC_LINE         19207
  1784. #define VS_CC_CIRCLE       19208
  1785. #define VS_CC_ARC          19209
  1786. #define VS_CC_SECTOR       19210
  1787. #define VS_CC_ELLIPSE      19211
  1788. #define VS_CC_POLYLINE     19212
  1789. #define VS_CC_TEXT         19213
  1790. #define VS_CC_INSERT       19214
  1791. #define VS_CC_HATCH        19215
  1792. #define VS_CC_BITMAP       19216
  1793. #define VS_CC_SYMBOL       19217
  1794. #define VS_CC_RECT         19218
  1795. #define VS_CC_DIMHOR       19219
  1796. #define VS_CC_DIMVER       19220
  1797. #define VS_CC_DIMPAR       19221
  1798. #define VS_CC_DIMANG       19222
  1799. #define VS_CC_DIMRAD       19223
  1800. #define VS_CC_DIMDIAM      19224
  1801. #define VS_CC_DIMORD       19225
  1802. #define VS_CC_SELBYPOINT   19226
  1803. #define VS_CC_SELBYRECT    19227
  1804. #define VS_CC_SELBYPOLYGON 19228
  1805. #define VS_CC_MOVEGRIP     19229
  1806. #define VS_CC_ENTPROP      19230
  1807. #define VS_CC_MOVE         19231
  1808. #define VS_CC_COPY         19232
  1809. #define VS_CC_ROTATE       19233
  1810. #define VS_CC_SCALE        19234
  1811. #define VS_CC_MIRROR       19235
  1812. #define VS_CC_ERASE        19236
  1813. #define VS_CC_CREBLOCK     19237
  1814. #define VS_CC_EXPLODE      19238
  1815. #define VS_CC_SPLINE       19239
  1816. #define VS_CC_DIST         19240
  1817.  
  1818. #define VS_SELOBJECTS   19301
  1819. #define VS_CORNER1      19302
  1820. #define VS_CORNER2      19303
  1821. #define VS_BASE_P       19304
  1822. #define VS_BASE_P1      19305
  1823. #define VS_BASE_P2      19306
  1824. #define VS_DISPLACE     19307
  1825. #define VS_POINT1       19308
  1826. #define VS_POINT2       19309
  1827. #define VS_POINT3       19310
  1828. #define VS_CENTER_P     19311
  1829. #define VS_RAD_P        19312
  1830. #define VS_START_P      19313
  1831. #define VS_END_P        19314
  1832. #define VS_RAD1ANG      19315
  1833. #define VS_RAD2         19316
  1834. #define VS_NEXT_P       19317
  1835. #define VS_INS_P        19318
  1836. #define VS_LEADER1      19319
  1837. #define VS_LEADER2      19320
  1838. #define VS_TEXT_P       19321
  1839. #define VS_ORD_P        19322
  1840. #define VS_ORD_X        19323
  1841. #define VS_ORD_Y        19324
  1842. #define VS_MOVE2        19325
  1843. #define VS_COPY2        19326
  1844. #define VS_ROTATE1      19327
  1845. #define VS_ROTATE2      19328
  1846. #define VS_ROTATE3      19329
  1847. #define VS_SCALE3       19330
  1848. #define VS_MIRROR1      19331
  1849. #define VS_MIRROR2      19332
  1850.  
  1851.  
  1852.  
  1853. //-------------------------------------
  1854. // VeCAD point
  1855. //-------------------------------------
  1856. typedef struct tagVLPOINT {
  1857.   double x;
  1858.   double y;
  1859. }VLPOINT;
  1860.  
  1861.  
  1862. //-------------------------------------
  1863. // used to pass parameters with VM_BEGINPAINT message
  1864. //-------------------------------------
  1865. typedef struct tagVLPAINTSTRUCT {
  1866.     HDC     hdc;         // output device context
  1867.     RECT    rcPaint;     // output window rectangle
  1868.     double  DwgLeft;     // drawing's limits for the window
  1869.     double  DwgBottom;
  1870.     double  DwgRight;
  1871.     double  DwgTop;
  1872.     double  ScaleX;      // horiz. scale, mm/pixel
  1873.     double  ScaleY;      // vert. scale, mm/pixel
  1874. } VLPAINTSTRUCT;
  1875.  
  1876.  
  1877.  
  1878. /********************************************************************
  1879. *
  1880. *     VeCAD functions definitions
  1881. *
  1882. *********************************************************************/
  1883.  
  1884. // comment next definition if you use Vecad.dll with
  1885. // non Visual C++ compiler (for example Borland C++ or C++ Builder)
  1886. //#define MSVC_APP
  1887.  
  1888. #ifdef VECDLL_EXPORTS
  1889.   #define VC_API _stdcall        // used 'vecdll.def' file
  1890. #else
  1891.   #ifdef MSVC_APP
  1892.     // for Visual C++
  1893.     #define VC_API _declspec(dllimport) _stdcall
  1894.   #else
  1895.     // works with Borland C++ and C++ Builder
  1896.     #define VC_API _stdcall
  1897.     // Load and free Vecad.dll
  1898.     BOOL vlStartup ();
  1899.     void vlCleanup ();
  1900.   #endif
  1901. #endif
  1902.  
  1903. #ifdef OUTPUT_C
  1904.   extern "C" {
  1905. #endif
  1906.  
  1907. /////////////////////////////////////////////////
  1908. // Drawing's callback procedure
  1909. typedef int (CALLBACK* DWGPROC)(int iDwg, UINT Msg, int Prm1, int Prm2, double Prm3, double Prm4, void* Prm5);
  1910.  
  1911.  
  1912. /////////////////////////////////////////////////
  1913. // Registration for user copy of VeCAD DLL
  1914. BOOL VC_API vlRegistration  (int RegCode);
  1915.  
  1916. /////////////////////////////////////////////////
  1917. // VeCAD window functions
  1918. HWND VC_API vlWndCreate     (HWND hParent, int Style, int X, int Y, int W, int H, DWGPROC pfDwgProc); //HCURSOR hCursor);
  1919. BOOL VC_API vlWndResize     (HWND hVecWnd, int X, int Y, int W, int H);
  1920. BOOL VC_API vlWndSetTitle   (HWND hVecWnd, LPCTSTR pTitle);
  1921. BOOL VC_API vlWndSetMaxRect (HWND hVecWnd, const RECT* pRect);
  1922. BOOL VC_API vlWndSetCursor  (HWND hVecWnd, HCURSOR hCursor);
  1923.  
  1924. /////////////////////////////////////////////////
  1925. // Additional VeCAD controls
  1926. HWND VC_API vlToolBarCreate  (HWND hwParent, int Id, int X, int Y, int W, int H, int* pW, int* pH);
  1927. BOOL VC_API vlToolBarButton  (int Id);
  1928. HWND VC_API vlStatBarCreate  (HWND hwParent, int* pH);
  1929. BOOL VC_API vlStatBarResize  ();
  1930. BOOL VC_API vlStatBarSetText (int iPart, LPCTSTR szText);
  1931. // Process indicator
  1932. BOOL VC_API vlIndicCreate   (HWND Parent, LPCTSTR szTitle);
  1933. BOOL VC_API vlIndicDestroy  ();
  1934. BOOL VC_API vlIndicSetRange (int nFrom,int nTo);
  1935. BOOL VC_API vlIndicSetPos   (int iPos);
  1936. BOOL VC_API vlIndicSetText  (LPCTSTR szText);
  1937. BOOL VC_API vlIndicStep     ();
  1938.  
  1939. /////////////////////////////////////////////////
  1940. // Drawing object functions
  1941. int  VC_API vlDocCreate    (HWND hwVec, DWGPROC pfDwgProc);
  1942. BOOL VC_API vlDocDelete    (int iDwg);
  1943. int  VC_API vlDocSetActive (int iDwg);
  1944. int  VC_API vlDocGetActive ();
  1945. BOOL VC_API vlDocCopy      (int iDwgSrc,int iDwgDest,int Mode);
  1946.  
  1947.  
  1948. /////////////////////////////////////////////////
  1949. // All Next functions work with current drawing that 
  1950. // are set by vlDwgSetCurrent function
  1951.  
  1952.  
  1953. /////////////////////////////////////////////////
  1954. // Layout (pages,layers, text styles, etc...
  1955. // Parameters can be accessed via vlData...
  1956. int  VC_API vlPageAdd       (LPCTSTR szName, int Size, int Orient, int W, int H);
  1957. BOOL VC_API vlPageDelete    (int Index);
  1958. int  VC_API vlPageActive    (int Mode, int Index);
  1959. int  VC_API vlPageCount     ();
  1960. int  VC_API vlPageIndex     (LPCTSTR szName, int ID);
  1961.  
  1962. int  VC_API vlLayerAdd      (LPCTSTR szName, double LineWidth, COLORREF LineColor, COLORREF FillColor);
  1963. BOOL VC_API vlLayerDelete   (int Index);
  1964. int  VC_API vlLayerActive   (int Index);
  1965. int  VC_API vlLayerCount    ();
  1966. int  VC_API vlLayerIndex    (LPCTSTR szName, int ID);
  1967.  
  1968. int  VC_API vlStLineAdd     (LPCTSTR szName, LPCTSTR szDesc);
  1969. BOOL VC_API vlStLineDelete  (int Index);
  1970. int  VC_API vlStLineActive  (int Index);
  1971. int  VC_API vlStLineCount   ();
  1972. int  VC_API vlStLineIndex   (LPCTSTR szName, int ID);
  1973.  
  1974. int  VC_API vlStTextAdd     (LPCTSTR szName, LPCTSTR szFont, double Width, double Oblique, int Prec, BOOL Filled, BOOL Bold);
  1975. BOOL VC_API vlStTextDelete  (int Index);
  1976. int  VC_API vlStTextActive  (int Index);
  1977. int  VC_API vlStTextCount   ();
  1978. int  VC_API vlStTextIndex   (LPCTSTR szName, int ID);
  1979. BOOL VC_API vlStTextReload  ();
  1980.  
  1981. int  VC_API vlStHatchAdd    (LPCTSTR szName, LPCTSTR szDesc);
  1982. BOOL VC_API vlStHatchDelete (int Index);
  1983. int  VC_API vlStHatchActive (int Index);
  1984. int  VC_API vlStHatchCount  ();
  1985. int  VC_API vlStHatchIndex  (LPCTSTR szName, int ID);
  1986.  
  1987. int  VC_API vlStDimAdd      (LPCTSTR szName);
  1988. BOOL VC_API vlStDimDelete   (int Index);
  1989. int  VC_API vlStDimActive   (int Index);
  1990. int  VC_API vlStDimCount    ();
  1991. int  VC_API vlStDimIndex    (LPCTSTR szName, int ID);
  1992.  
  1993. int  VC_API vlStPointAdd    (LPCTSTR szName);
  1994. BOOL VC_API vlStPointDelete (int Index);
  1995. int  VC_API vlStPointActive (int Index);
  1996. int  VC_API vlStPointCount  ();
  1997. int  VC_API vlStPointIndex  (LPCTSTR szName, int ID);
  1998.  
  1999. int  VC_API vlGrPointAdd    (LPCTSTR szName);
  2000. BOOL VC_API vlGrPointDelete (int Index);
  2001. int  VC_API vlGrPointActive (int Index);
  2002. int  VC_API vlGrPointCount  ();
  2003. int  VC_API vlGrPointIndex  (LPCTSTR szName, int ID);
  2004.  
  2005. int  VC_API vlViewSave      (LPCTSTR szName);
  2006. BOOL VC_API vlViewDelete    (int Index);
  2007. int  VC_API vlViewRestore   (int Index);
  2008. int  VC_API vlViewCount     ();
  2009. int  VC_API vlViewIndex     (LPCTSTR szName, int ID);
  2010.  
  2011. int  VC_API vlPrnRectAdd    (double X, double Y, double W, double H, double Angle);
  2012. BOOL VC_API vlPrnRectDelete (int Index);
  2013. int  VC_API vlPrnRectCount  ();
  2014. BOOL VC_API vlPrnRectPrint  (int Index, HDC hPrintDC, double ScaleX, double ScaleY, double OriginX, double OriginY);
  2015.  
  2016. BOOL VC_API vlBlockBegin    ();
  2017. int  VC_API vlBlockAdd      (LPCTSTR szName, double x, double y);
  2018. int  VC_API vlBlockAddF     (LPCTSTR szFileName, LPCTSTR szBlockName);
  2019. BOOL VC_API vlBlockDelete   (int Index);
  2020. int  VC_API vlBlockActive   (int Index);
  2021. int  VC_API vlBlockCount    ();
  2022. int  VC_API vlBlockIndex    (LPCTSTR szName, int ID);
  2023.  
  2024.  
  2025. /////////////////////////////////////////////////
  2026. // Add graphic objects to drawing database
  2027.  
  2028. int  VC_API vlAddPoint      (double X, double Y);
  2029. int  VC_API vlAddLine       (double X1, double Y1, double X2, double Y2);
  2030. int  VC_API vlAddCircle     (double X, double Y, double Rad);
  2031. int  VC_API vlAddCircle3P   (double X1, double Y1, double X2, double Y2, double X3, double Y3);
  2032. int  VC_API vlAddArc        (double X, double Y, double Rad, double Ang1, double Ang2);
  2033. int  VC_API vlAddArc3P      (double X1, double Y1, double X2, double Y2, double X3, double Y3);
  2034. int  VC_API vlAddEllipse    (double X, double Y, double Rh, double Rv, double Angle);
  2035. BOOL VC_API vlSetTextParam  (int Mode, double Var);
  2036. BOOL VC_API vlSetTextParams (int Align, double Height, double Angle, double ScaleW, double Oblique, double HInter, double VInter);
  2037. int  VC_API vlAddText       (double X, double Y, LPCTSTR szStr);
  2038. BOOL VC_API vlPolylineBegin ();
  2039. BOOL VC_API vlVertex        (double X, double Y);
  2040. BOOL VC_API vlVertexR       (double X, double Y, double Radius);
  2041. BOOL VC_API vlVertexF       (double X, double Y, BOOL bOnCurve);
  2042. BOOL VC_API vlVertexB       (double X, double Y, double Bulge);
  2043. int  VC_API vlAddPolyline   (int SmoothType, BOOL bClosed);
  2044. int  VC_API vlAddBlockIns   (int Index, double X, double Y, double Angle, double Xscale, double Yscale);
  2045. int  VC_API vlAddHatch      (int Index, double Scale, double Angle);
  2046. int  VC_API vlAddRaster     (LPCTSTR FileName, double X, double Y, double ResH, double ResV);
  2047. int  VC_API vlAddRect       (double X, double Y, double W, double H, double Ang, double Rad);
  2048. int  VC_API vlAddDimHor     (double X1, double Y1, double X2, double Y2, double Y);
  2049. int  VC_API vlAddDimVer     (double X1, double Y1, double X2, double Y2, double X);
  2050. int  VC_API vlAddDimPar     (double X1, double Y1, double X2, double Y2, double Off);
  2051. int  VC_API vlAddDimAng     (double Xcen, double Ycen, double X1, double Y1, double X2, double Y2, double Off);
  2052. int  VC_API vlAddDimRad     (double Xcen, double Ycen, double Xrad, double Yrad, double Off);
  2053. int  VC_API vlAddDimDiam    (double Xcen, double Ycen, double Xrad, double Yrad);
  2054. int  VC_API vlAddDimOrd     (double X, double Y, double Xtxt, double Ytxt, BOOL bYord);
  2055. int  VC_API vlAddCustom     (int Type, void* pData, int DataSize, int ElemSize);
  2056.  
  2057.  
  2058. /////////////////////////////////////////////////
  2059. // Drawing's storage
  2060. int  VC_API vlFileNew     (HWND hwVec, DWGPROC pfDwgProc, LPCTSTR szTemplate);
  2061. int  VC_API vlFileOpen    (HWND hwVec, DWGPROC pfDwgProc, LPCTSTR szFileName);
  2062. BOOL VC_API vlFileLoad    (int Mode, LPCTSTR szFileName);
  2063. BOOL VC_API vlFileSave    (int Mode, LPCTSTR szFileName);
  2064. BOOL VC_API vlFileLoadMem (void* pMem);
  2065. int  VC_API vlFileSaveMem (void* pMem, int MaxSize);
  2066.  
  2067. /////////////////////////////////////////////////
  2068. // Select objects for edit functions
  2069. int  VC_API vlGetEntity       (int Mode, int Prm1, int Prm2);
  2070. BOOL VC_API vlSelect          (BOOL bSelect, int Index);
  2071. int  VC_API vlSelectByPoint   (BOOL bSelect, double X, double Y);
  2072. int  VC_API vlSelectByRect    (BOOL bSelect, double Left, double Bottom, double Right, double Top, BOOL Cross);
  2073. int  VC_API vlSelectByPolygon (BOOL bSelect, const VLPOINT* Ver, int nver, BOOL bCross);
  2074.  
  2075. /////////////////////////////////////////////////
  2076. // Edit objects functions
  2077. // iObj - index of the object, 
  2078. // if iObj=-1 then operate with selected objects
  2079. BOOL VC_API vlCbCut         ();
  2080. BOOL VC_API vlCbCopy        ();
  2081. BOOL VC_API vlCbPaste       (double X, double Y);
  2082. int  VC_API vlCopy          (int iObj, double dx, double dy);
  2083. BOOL VC_API vlMove          (int iObj, double dx, double dy);
  2084. BOOL VC_API vlRotate        (int iObj, double X, double Y, double Angle);
  2085. BOOL VC_API vlScale         (int iObj, double X, double Y, double Scale);
  2086. BOOL VC_API vlMirror        (int iObj, double X1, double Y1, double X2, double Y2);
  2087. BOOL VC_API vlErase         (int iObj);
  2088. BOOL VC_API vlExplode       (int iObj);
  2089. BOOL VC_API vlUndo          ();
  2090. BOOL VC_API vlRedo          ();
  2091. BOOL VC_API vlPolyVerInsert (int iEnt, int iVer);
  2092. BOOL VC_API vlPolyVerDelete (int iEnt, int iVer);
  2093. BOOL VC_API vlPolyVerGet    (int iEnt, int iVer, double* pX, double* pY, double* pPrm);
  2094. BOOL VC_API vlPolyVerSet    (int iEnt, int iVer, double X, double Y, double Prm);
  2095. BOOL VC_API vlGripGet       (int iObj, int iGrip, double* pX, double* pY);
  2096. BOOL VC_API vlGripSet       (int iObj, int iGrip, double X, double Y);
  2097. BOOL VC_API vlGripMove      (int iObj, int iGrip, double dx, double dy);
  2098.  
  2099. /////////////////////////////////////////////////
  2100. // Access to objects properties
  2101. int    VC_API vlPropGet    (int PropID, int iObj, void* pData);
  2102. int    VC_API vlPropGetInt (int PropID, int iObj);
  2103. double VC_API vlPropGetDbl (int PropID, int iObj);
  2104. int    VC_API vlPropPut    (int PropID, int iObj, const void* pData);
  2105. int    VC_API vlPropPutInt (int PropID, int iObj, int Value);
  2106. int    VC_API vlPropPutDbl (int PropID, int iObj, double Value);
  2107.  
  2108.  
  2109. /////////////////////////////////////////////////
  2110. // Zooming drawing in a window
  2111. BOOL VC_API vlZoom     (double Scale);
  2112. BOOL VC_API vlZoomRect (double Left, double Bottom, double Right, double Top);
  2113. BOOL VC_API vlZoomPan  (double dx, double dy);
  2114.  
  2115. /////////////////////////////////////////////////
  2116. // Coordinates convertions
  2117. BOOL VC_API vlCoordWinToDwg (int Xwin, int Ywin, double* pXdwg, double* pYdwg);
  2118. BOOL VC_API vlCoordDwgToWin (double Xdwg, double Ydwg, int* pXwin, int* pYwin);
  2119. BOOL VC_API vlLenWinToDwg   (int Lwin, double* pLdwg);
  2120. BOOL VC_API vlLenDwgToWin   (double Ldwg, int* pLwin);
  2121.  
  2122.  
  2123. /////////////////////////////////////////////////
  2124. // draw graphics primitives
  2125. BOOL VC_API vlSetDrawPen   (double Width, COLORREF Color);
  2126. BOOL VC_API vlDrawPoint    (double X, double Y, int Type, int Size);
  2127. BOOL VC_API vlDrawLine     (double X1, double Y1, double X2, double Y2);
  2128. BOOL VC_API vlDrawPolyline (const VLPOINT* Ver, int n_ver, BOOL bClosed);
  2129. BOOL VC_API vlDrawPolygon  (const VLPOINT* Ver, int n_ver, BOOL bFill, BOOL bBorder, COLORREF FillColor);
  2130. BOOL VC_API vlDrawCircle   (double X, double Y, double Rad);
  2131. BOOL VC_API vlDrawArc      (double X, double Y, double Rad, double Angle1, double Angle2);
  2132. BOOL VC_API vlDrawEllipse  (double X, double Y, double Rh, double Rv, double Angle);
  2133. BOOL VC_API vlDrawText     (double X, double Y, LPCTSTR szText);
  2134. BOOL VC_API vlDrawBitmap   (HBITMAP hbm, int W, int H, double X, double Y, double ResX, double ResY);
  2135. BOOL VC_API vlDrawEntity   (int Index, double Xbase, double Ybase, double Xins, double Yins, double Angle, double ScaleX, double ScaleY);
  2136.  
  2137.  
  2138. /////////////////////////////////////////////////
  2139. // misc
  2140. BOOL VC_API vlExecute      (int IdCmd);   // VL_CM_...
  2141. BOOL VC_API vlSetAccKey    (int IdCmd, int VirtKey, int Flags);
  2142. BOOL VC_API vlClear        (BOOL bSetDefLayout);
  2143. BOOL VC_API vlSetFocus     ();
  2144. BOOL VC_API vlUpdate       ();
  2145. BOOL VC_API vlRedraw       ();
  2146. BOOL VC_API vlReset        ();
  2147. BOOL VC_API vlPrint        (HDC hPrintDC, double Left, double Bottom, double Right, double Top, double ScaleX, double ScaleY, double OriginX, double OriginY);
  2148. BOOL VC_API vlDoRaster     (LPCTSTR szFileName, double Left, double Bottom, double Right, double Top, double Res);
  2149. BOOL VC_API vlGetWinSize   (HWND hWnd, int* pWidth, int* pHeight);
  2150. BOOL VC_API vlSetTimer     (int ID, int Elapse);
  2151. BOOL VC_API vlKillTimer    (int ID);
  2152.  
  2153. BOOL VC_API gmPointRotate  (double X, double Y, double Xc, double Yc, double Angle, double* pXnew, double* pYnew);
  2154.  
  2155. LPCTSTR VC_API vuGetAppDir (LPCTSTR szFileName);
  2156.  
  2157. #ifdef OUTPUT_C
  2158.   }
  2159. #endif
  2160.  
  2161. #endif  // VECAPI_H
  2162.