home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 September / CHIP_CD_1997_09_PL.iso / software / testsoft / labwind / demo.6 / main / include / userint.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-08-02  |  90.0 KB  |  1,704 lines

  1. /*============================================================================*/
  2. /*                        L a b W i n d o w s / C V I                         */
  3. /*----------------------------------------------------------------------------*/
  4. /*    Copyright (c) National Instruments 1987-1996.  All Rights Reserved.     */
  5. /*----------------------------------------------------------------------------*/
  6. /*                                                                            */
  7. /* Title:       userint.h                                                     */
  8. /* Purpose:     Include file for LabWindows/CVI User Interface Library        */
  9. /*                                                                            */
  10. /*============================================================================*/
  11.  
  12. #ifndef USERINT_HEADER
  13. #define USERINT_HEADER
  14.  
  15. #include "cvidef.h"
  16. #include "cvirte.h"
  17.  
  18. #ifdef __cplusplus
  19.     extern "C" {
  20. #endif
  21.  
  22. #if defined(_NI_mswin16_)
  23. #define MAX_PATHNAME_LEN   80    /* includes nul byte */
  24. #define MAX_DRIVENAME_LEN   3    /* includes nul byte */
  25. #define MAX_DIRNAME_LEN    66    /* includes nul byte */
  26. #define MAX_FILENAME_LEN   13    /* includes nul byte */
  27.  
  28. #elif defined(_NI_mswin32_)
  29. #define MAX_PATHNAME_LEN  260    /* includes nul byte */
  30. #define MAX_DRIVENAME_LEN   3    /* includes nul byte */
  31. #define MAX_DIRNAME_LEN   256    /* includes nul byte */
  32. #define MAX_FILENAME_LEN  256    /* includes nul byte */
  33.  
  34. #elif defined(_NI_unix_) || defined(_NI_sparc_)
  35. #define MAX_PATHNAME_LEN  256    /* recommended buffer size for paths */
  36. #define MAX_DRIVENAME_LEN   1    /* includes nul byte */
  37. #define MAX_DIRNAME_LEN   256    /* includes nul byte */
  38. #define MAX_FILENAME_LEN  256    /* recommended buffer size for file names */
  39.  
  40. #elif defined(_NI_mac_)
  41. #define MAX_PATHNAME_LEN  256    /* includes nul byte */
  42. #define MAX_DRIVENAME_LEN   1    /* includes nul byte */
  43. #define MAX_DIRNAME_LEN   256    /* includes nul byte */
  44. #define MAX_FILENAME_LEN  256    /* includes nul byte */
  45.  
  46. #else
  47. #error Undefined Platform. You need to add one of the
  48. #error following to your compiler defines:
  49. #error     Platform                      Preprocessor directive
  50. #error Microsoft Windows 3.1           #define _NI_mswin16_
  51. #error Windows 95/NT                   #define _NI_mswin32_
  52. #error Solaris 1                       #define _NI_sparc_       1
  53. #error Solaris 2                       #define _NI_sparc_       2
  54. #error
  55. #error _NI_i386_ has been replaced with _NI_mswin16_.
  56. #error See Programmers Reference Manual for more information.
  57.  
  58. #endif
  59.  
  60. /* */
  61. /* CONTROL STYLES: (for use in the NewCtrl() function)  */
  62. /* */
  63.  
  64.  
  65.     /*** numerics: ***/
  66. #define CTRL_NUMERIC                    100
  67. #define CTRL_NUMERIC_THERMOMETER        101
  68. #define CTRL_NUMERIC_TANK               102
  69. #define CTRL_NUMERIC_GAUGE              103
  70. #define CTRL_NUMERIC_METER              104
  71. #define CTRL_NUMERIC_KNOB               105
  72. #define CTRL_NUMERIC_DIAL               106
  73. #define CTRL_NUMERIC_VSLIDE             107
  74. #define CTRL_NUMERIC_HSLIDE             108
  75. #define CTRL_NUMERIC_FLAT_VSLIDE        109
  76. #define CTRL_NUMERIC_FLAT_HSLIDE        110
  77. #define CTRL_NUMERIC_LEVEL_VSLIDE       111
  78. #define CTRL_NUMERIC_LEVEL_HSLIDE       112
  79. #define CTRL_NUMERIC_POINTER_VSLIDE     113
  80. #define CTRL_NUMERIC_POINTER_HSLIDE     114
  81. #define CTRL_COLOR_NUMERIC              130
  82.  
  83. #define CTRL_STRING                     150
  84.  
  85. #define CTRL_TEXT_MSG                   160
  86.  
  87. #define CTRL_TEXT_BOX                   170
  88.  
  89.     /*** command buttons ***/
  90. #define CTRL_SQUARE_COMMAND_BUTTON      200
  91. #define CTRL_OBLONG_COMMAND_BUTTON      201
  92. #define CTRL_ROUND_COMMAND_BUTTON       202
  93. #define CTRL_ROUNDED_COMMAND_BUTTON     203
  94. #define CTRL_PICTURE_COMMAND_BUTTON     204
  95.  
  96.     /*** buttons ***/
  97. #define CTRL_ROUND_BUTTON               220
  98. #define CTRL_SQUARE_BUTTON              221
  99. #define CTRL_ROUND_FLAT_BUTTON          222
  100. #define CTRL_SQUARE_FLAT_BUTTON         223
  101. #define CTRL_ROUND_RADIO_BUTTON         224
  102. #define CTRL_SQUARE_RADIO_BUTTON        225
  103. #define CTRL_CHECK_BOX                  226
  104. #define CTRL_ROUND_PUSH_BUTTON          227
  105. #define CTRL_SQUARE_PUSH_BUTTON         228
  106. #define CTRL_ROUND_PUSH_BUTTON2         229
  107. #define CTRL_SQUARE_PUSH_BUTTON2        230
  108. #define CTRL_SQUARE_TEXT_BUTTON         231
  109. #define CTRL_OBLONG_TEXT_BUTTON         232
  110. #define CTRL_ROUND_TEXT_BUTTON          233
  111. #define CTRL_ROUNDED_TEXT_BUTTON        234
  112. #define CTRL_PICTURE_TOGGLE_BUTTON      235
  113.  
  114.     /*** LED's ***/
  115. #define CTRL_ROUND_LIGHT                260
  116. #define CTRL_SQUARE_LIGHT               261
  117. #define CTRL_ROUND_LED                  262
  118. #define CTRL_SQUARE_LED                 263
  119.  
  120.     /*** binary switches ***/
  121. #define CTRL_HSWITCH                    280
  122. #define CTRL_VSWITCH                    281
  123. #define CTRL_GROOVED_HSWITCH            282
  124. #define CTRL_GROOVED_VSWITCH            283
  125. #define CTRL_TOGGLE_HSWITCH             284
  126. #define CTRL_TOGGLE_VSWITCH             285
  127.  
  128.     /*** rings ***/
  129. #define CTRL_RING                       300
  130. #define CTRL_RECESSED_MENU_RING         301
  131. #define CTRL_MENU_RING                  302
  132. #define CTRL_POPUP_MENU_RING            303
  133. #define CTRL_RING_VSLIDE                304
  134. #define CTRL_RING_HSLIDE                305
  135. #define CTRL_RING_FLAT_VSLIDE           306
  136. #define CTRL_RING_FLAT_HSLIDE           307
  137. #define CTRL_RING_LEVEL_VSLIDE          308
  138. #define CTRL_RING_LEVEL_HSLIDE          309
  139. #define CTRL_RING_POINTER_VSLIDE        310
  140. #define CTRL_RING_POINTER_HSLIDE        311
  141. #define CTRL_RING_THERMOMETER           312
  142. #define CTRL_RING_TANK                  313
  143. #define CTRL_RING_GAUGE                 314
  144. #define CTRL_RING_METER                 315
  145. #define CTRL_RING_KNOB                  316
  146. #define CTRL_RING_DIAL                  317
  147. #define CTRL_PICTURE_RING               318
  148.  
  149. #define CTRL_LIST                       340
  150.  
  151.     /*** decorations */
  152. #define CTRL_RAISED_BOX                 380
  153. #define CTRL_RECESSED_BOX               381
  154. #define CTRL_FLAT_BOX                   382
  155. #define CTRL_RAISED_CIRCLE              383
  156. #define CTRL_RECESSED_CIRCLE            384
  157. #define CTRL_FLAT_CIRCLE                385
  158. #define CTRL_RAISED_FRAME               386
  159. #define CTRL_RECESSED_FRAME             387
  160. #define CTRL_FLAT_FRAME                 388
  161. #define CTRL_RAISED_ROUND_FRAME         389
  162. #define CTRL_RECESSED_ROUND_FRAME       390
  163. #define CTRL_FLAT_ROUND_FRAME           391
  164. #define CTRL_RAISED_ROUNDED_BOX         392
  165. #define CTRL_RECESSED_ROUNDED_BOX       393
  166. #define CTRL_FLAT_ROUNDED_BOX           394
  167.  
  168. #define CTRL_GRAPH                      440
  169. #define CTRL_STRIP_CHART                460
  170.  
  171. #define CTRL_PICTURE                    480
  172.  
  173. #define CTRL_TIMER                      490
  174.  
  175. #define CTRL_CANVAS                     500
  176.  
  177. /* */
  178. /* ATTRIBUTES: (for use in the set and get attribute functions) */
  179. /* Note that not all attributes apply to all objects */
  180. /* */
  181.  
  182.     /*** for controls, menus, menuItems, menuBars and panels: ***/
  183. #define ATTR_DIMMED                     500         /* int (boolean) */
  184. #define ATTR_CONSTANT_NAME              501         /* (char *) (not settable) */
  185. #define ATTR_CONSTANT_NAME_LENGTH       502         /* int (not settable) */
  186.  
  187.     /*** for controls, menus, menuItems, and panels: ***/
  188. #define ATTR_CALLBACK_DATA              510         /* (void *) */
  189. #define ATTR_CALLBACK_NAME              511         /* (char *) (not settable) */
  190. #define ATTR_CALLBACK_NAME_LENGTH       512         /* int (not settable) */
  191. #define ATTR_CALLBACK_FUNCTION_POINTER  513         /* (void *) */
  192.  
  193.     /*** for panels and all controls: ***/
  194. #define ATTR_VISIBLE                    530         /* int (boolean) */
  195. #define ATTR_LEFT                       531         /* int (-32768 - 32767) */
  196. #define ATTR_TOP                        532         /* int (-32768 - 32767) */
  197. #define ATTR_WIDTH                      533         /* int (0-32767) */
  198.  
  199.     /*** for child panels and all controls: ***/
  200. #define ATTR_ZPLANE_POSITION            610         /* int (0 - numObjects-1) */
  201.  
  202.  
  203.     /*** for panels and all controls except
  204.             simple strings, simple numerics and simple rings */
  205. #define ATTR_HEIGHT                     540         /* int (0-32767) */
  206.  
  207.     /*** for panels and controls with frames:
  208.             (text boxes, strings, numerics, simple rings, ring meters,
  209.             ring gauges, picture rings, list boxes, decorations, and pictures)
  210.     ***/
  211. #define ATTR_FRAME_COLOR                550         /* int (rgb value) */
  212.  
  213.     /*** for panels, text boxes and list boxes: ***/
  214. #define ATTR_SCROLL_BARS                551         /* int: VAL_NO_SCROLL_BARS, ... */
  215. #define ATTR_SCROLL_BAR_COLOR           552         /* int (rgb value) */
  216.  
  217.     /*** for panels and text boxes: ***/
  218. #define ATTR_HSCROLL_OFFSET             560         /* int (in pixels) */
  219. #define ATTR_HSCROLL_OFFSET_MAX         561         /* int (in pixels) */
  220.  
  221.     /*** for panels only: ***/
  222. #define ATTR_BACKCOLOR                  570         /* int (rgb value) */
  223. #define ATTR_TITLEBAR_VISIBLE           571         /* int (boolean) */
  224. #define ATTR_TITLEBAR_THICKNESS         572         /* int */
  225. #define ATTR_TITLE                      573         /* (char *) */
  226. #define ATTR_TITLE_LENGTH               574         /* int (not settable) */
  227. #define ATTR_TITLE_COLOR                575         /* int (rgb value) */
  228. #define ATTR_TITLE_BACKCOLOR            576         /* int (rgb value) */
  229. #define ATTR_FRAME_STYLE                577         /* int: VAL_OUTLINED_FRAME, ... */
  230. #define ATTR_FRAME_THICKNESS            578         /* int */
  231. #define ATTR_MENU_HEIGHT                579         /* int */
  232. #define ATTR_SIZABLE                    580         /* int (boolean) */
  233. #define ATTR_MOVABLE                    581         /* int (boolean) */
  234. #define ATTR_NUM_CTRLS                  582         /* int (not settable) */
  235. #define ATTR_MOUSE_CURSOR               583         /* int: VAL_DEFAULT_CURSOR, ... */
  236. #define ATTR_TITLE_FONT                 584         /* (char *) */
  237. #define ATTR_TITLE_ITALIC               585         /* int (boolean) */
  238. #define ATTR_TITLE_UNDERLINE            586         /* int (boolean) */
  239. #define ATTR_TITLE_STRIKEOUT            587         /* int (boolean) */
  240. #define ATTR_TITLE_POINT_SIZE           588         /* int (1-255) */
  241. #define ATTR_TITLE_BOLD                 589         /* int (boolean) */
  242. #define ATTR_TITLE_FONT_NAME_LENGTH     590         /* int (not settable) */
  243. #define ATTR_MENU_BAR_VISIBLE           591         /* int (boolean) */
  244. #define ATTR_CLOSE_CTRL                 592         /* int (ctrl Id) */
  245. #define ATTR_VSCROLL_OFFSET             593         /* int (in pixels) */
  246. #define ATTR_VSCROLL_OFFSET_MAX         594         /* int (in pixels) */
  247. #define ATTR_PARENT_SHARES_SHORTCUT_KEYS 595        /* int (boolean) */
  248. #define ATTR_ACTIVATE_WHEN_CLICKED_ON   596         /* int (boolean) */
  249. #define ATTR_WINDOW_ZOOM                597         /* int: VAL_MINIMIZE, ... */
  250. #define ATTR_SYSTEM_WINDOW_HANDLE       598         /* int (HWND, or X-Window) */
  251. #define ATTR_CAN_MINIMIZE               599         /* int (boolean) */
  252. #define ATTR_CAN_MAXIMIZE               600         /* int (boolean) */
  253. #define ATTR_CLOSE_ITEM_VISIBLE         601         /* int (boolean) */
  254. #define ATTR_SYSTEM_MENU_VISIBLE        602         /* int (boolean) */
  255. #define ATTR_PANEL_MENU_BAR_CONSTANT    603         /* (char *) */
  256. #define ATTR_PANEL_MENU_BAR_CONSTANT_LENGTH 604     /* int (not settable) */
  257. #define ATTR_TITLE_SIZE_TO_FONT         605         /* int (boolean) */
  258. #define ATTR_PANEL_PARENT               606         /* int (not settable) */
  259. #define ATTR_NUM_CHILDREN               607         /* int (not settable) */
  260. #define ATTR_FIRST_CHILD                608         /* int (not settable) */
  261. #define ATTR_NEXT_PANEL                 609         /* int (not settable) */
  262. #define ATTR_PANEL_FIRST_CTRL           612         /* int (not settable) */
  263. #define ATTR_ACTIVE                     614         /* int (not settable) */
  264. #define ATTR_FLOATING                   615         /* int (boolean) */
  265. #define ATTR_TL_ACTIVATE_WHEN_CLICKED_ON 616        /* int (boolean) */
  266. #define ATTR_CONFORM_TO_SYSTEM          617         /* int (boolean) */
  267.  
  268.     /*** for all controls: ***/
  269. #define ATTR_CTRL_STYLE                 611         /* int: CTRL_NUMERIC, ... */
  270.                                                     /* (not settable)         */
  271. #define ATTR_NEXT_CTRL                  613         /* int (not settable)     */
  272. #define ATTR_OVERLAPPED                 1372        /* int (not settable)     */
  273.  
  274.     /*** for all controls except indicator-only controls:
  275.             (indicator-only controls are:
  276.             timer, decorations, strip charts, text messages, and pictures)
  277.     ***/
  278. #define ATTR_CTRL_MODE                  620         /* int: VAL_HOT, ... */
  279. #define ATTR_CTRL_TAB_POSITION          612         /* int */
  280.  
  281.     /*** for all controls except decorations, pictures, canvases,
  282.          graphs, and strip charts: ***/
  283. #define ATTR_CTRL_VAL                   630         /* same datatype as ctrl */
  284.  
  285.     /*** for controls with labels:
  286.             (all controls except decorations and text messages)
  287.     ***/
  288. #define ATTR_LABEL_COLOR                640         /* int (rgb value) */
  289. #define ATTR_LABEL_TEXT                 641         /* (char *) */
  290. #define ATTR_LABEL_FONT                 642         /* (char *) */
  291. #define ATTR_LABEL_ITALIC               643         /* int (boolean) */
  292. #define ATTR_LABEL_UNDERLINE            644         /* int (boolean) */
  293. #define ATTR_LABEL_STRIKEOUT            645         /* int (boolean) */
  294. #define ATTR_LABEL_POINT_SIZE           646         /* int (1-255) */
  295. #define ATTR_LABEL_BOLD                 647         /* int (boolean) */
  296. #define ATTR_LABEL_TEXT_LENGTH          648         /* int (not settable) */
  297. #define ATTR_LABEL_FONT_NAME_LENGTH     650         /* int (not settable) */
  298. #define ATTR_LABEL_VISIBLE              660         /* int (boolean) */
  299.  
  300.     /*** for controls with labels except command buttons */
  301. #define ATTR_LABEL_LEFT                 670         /* int (-32768 - 32767) */
  302. #define ATTR_LABEL_TOP                  671         /* int (-32768 - 32767) */
  303. #define ATTR_LABEL_WIDTH                672         /* int (0-32767) */
  304. #define ATTR_LABEL_HEIGHT               673         /* int (0-32767) */
  305. #define ATTR_LABEL_BGCOLOR              674         /* int (rgb value) */
  306. #define ATTR_LABEL_JUSTIFY              675         /* int: VAL_LEFT_JUSTIFIED, ... */
  307. #define ATTR_LABEL_RAISED               676         /* int (boolean) */
  308. #define ATTR_LABEL_SIZE_TO_TEXT         649         /* int (boolean) */
  309.  
  310.     /*** for controls with text except graphs and strip charts:
  311.             (controls with text are all controls except:
  312.             timer, decorations, pictures, canvases, LED's,
  313.             and buttons without on/off text)  ***/
  314. #define ATTR_TEXT_COLOR                 680         /* int (rgb value) */
  315. #define ATTR_TEXT_FONT_NAME_LENGTH      681         /* int (not settable) */
  316. #define ATTR_TEXT_FONT                  682         /* (char *) */
  317. #define ATTR_TEXT_ITALIC                683         /* int (boolean) */
  318. #define ATTR_TEXT_UNDERLINE             684         /* int (boolean) */
  319. #define ATTR_TEXT_STRIKEOUT             685         /* int (boolean) */
  320. #define ATTR_TEXT_POINT_SIZE            686         /* int (1-255) */
  321. #define ATTR_TEXT_BOLD                  687         /* int (boolean) */
  322.  
  323.     /*** for controls with text except graphs, strip charts, ring slides,
  324.             binary switches, and text buttons ***/
  325. #define ATTR_TEXT_BGCOLOR               690         /* int (rgb value) */
  326.  
  327.     /*** for controls with text except graphs, strip charts, ring slides,
  328.             numeric slides, binary switches, text buttons, amd popup rings ***/
  329. #define ATTR_TEXT_JUSTIFY               700         /* int: VAL_LEFT_JUSTIFIED, ... */
  330.  
  331.     /*** for controls with variable data types:
  332.             (numerics, rings, binary switches, and list boxes)
  333.     ***/
  334. #define ATTR_DATA_TYPE                  710         /* int: VAL_CHAR, ... */
  335.  
  336.     /*** for label/value controls:
  337.             (slides, rings, binary switches and list boxes)
  338.     ***/
  339. #define ATTR_CTRL_INDEX                 720         /* int: (0 to numItems-1) */
  340. #define ATTR_DFLT_INDEX                 721         /* int: (0 to numItems-1) */
  341.  
  342.  
  343.     /*** for numerics: ***/
  344. #define ATTR_MAX_VALUE                  730         /* same datatype as ctrl */
  345. #define ATTR_MIN_VALUE                  731         /* same datatype as ctrl */
  346. #define ATTR_DFLT_VALUE                 732         /* same datatype as ctrl */
  347. #define ATTR_INCR_VALUE                 733         /* same datatype as ctrl */
  348. #define ATTR_FORMAT                     734         /* int: VAL_HEX_FORMAT, ... */
  349. #define ATTR_PRECISION                  735         /* int (0 - 15)*/
  350. #define ATTR_SHOW_RADIX                 736         /* int (boolean) */
  351. #define ATTR_CHECK_RANGE                738         /* int: VAL_COERCE, ... */
  352.  
  353.     /*** for numerics and picture rings: ***/
  354. #define ATTR_SHOW_INCDEC_ARROWS         737         /* int (boolean) */
  355.  
  356.     /*** for strings and text boxes: ***/
  357. #define ATTR_MAX_ENTRY_LENGTH           760         /* int (-1 means no limit) */
  358. #define ATTR_TEXT_SELECTION_START       762         /* int */
  359. #define ATTR_TEXT_SELECTION_LENGTH      763         /* int */
  360.  
  361.     /*** for text messages, strings and text boxes: ***/
  362. #define ATTR_STRING_TEXT_LENGTH         770         /* int (not settable) */
  363.  
  364.     /*** for text boxes: ***/
  365. #define ATTR_WRAP_MODE                  791         /* int: VAL_CHAR_WRAP, ... */
  366. #define ATTR_EXTRA_LINES                793         /* int (-1 means no limit) */
  367. #define ATTR_TOTAL_LINES                794         /* int (not settable) */
  368. #define ATTR_ENTER_IS_NEWLINE           795         /* int (boolean) */
  369.  
  370.     /*** for text boxes, list boxes and panels: ***/
  371. #define ATTR_SCROLL_BAR_SIZE            820         /* int: VAL_SMALL_SCROLL_BARS, ... */
  372.                                                     /*     (not settable for panels )  */
  373.     /*** for text boxes and list boxes: ***/
  374. #define ATTR_FIRST_VISIBLE_LINE         790         /* int */
  375. #define ATTR_VISIBLE_LINES              821         /* int (0 - 500) */
  376.  
  377.     /*** for strings and simple numerics: ***/
  378. #define ATTR_NO_EDIT_TEXT               840         /* int (boolean) */
  379.  
  380.     /*** for text messages: ***/
  381. #define ATTR_TEXT_RAISED                860         /* int (boolean) */
  382. #define ATTR_SIZE_TO_TEXT               861         /* int (boolean) */
  383.  
  384.     /*** for command buttons ***/
  385. #define ATTR_CMD_BUTTON_COLOR           880         /* int (rgb value) */
  386.  
  387.     /*** for binary switches: ***/
  388. #define ATTR_ON_VALUE                   900         /* same datatype as ctrl */
  389. #define ATTR_OFF_VALUE                  901         /* same datatype as ctrl */
  390. #define ATTR_ON_VALUE_LENGTH            902         /* int (only if string value) */
  391.                                                     /*     (not settable)         */
  392. #define ATTR_OFF_VALUE_LENGTH           903         /* int (only if string value) */
  393.                                                     /*     (not settable)         */
  394. #define ATTR_BINARY_SWITCH_COLOR        904         /* int (rgb value) */
  395.  
  396.     /*** for LED's and buttons except command buttons***/
  397. #define ATTR_ON_COLOR                   920         /* int (rgb value) */
  398. #define ATTR_OFF_COLOR                  921         /* int (rgb value) */
  399.  
  400.     /*** for text buttons and binary switches ***/
  401. #define ATTR_ON_TEXT                    940         /* (char *) */
  402. #define ATTR_OFF_TEXT                   941         /* (char *) */
  403. #define ATTR_ON_TEXT_LENGTH             942         /* int (not settable) */
  404. #define ATTR_OFF_TEXT_LENGTH            943         /* int (not settable) */
  405.  
  406.     /*** for numerics with digital displays:
  407.             (slides, knobs, dials, meters and gauges) ***/
  408. #define ATTR_DIG_DISP_TOP               970         /* int (-32768 - 32767) */
  409. #define ATTR_DIG_DISP_LEFT              971         /* int (-32768 - 32767) */
  410. #define ATTR_DIG_DISP_WIDTH             972         /* int (0-32767) */
  411. #define ATTR_DIG_DISP_HEIGHT            973         /* int (0-32767) */
  412. #define ATTR_SHOW_DIG_DISP              974         /* int (boolean) */
  413.  
  414.     /*** for numeric and ring slides, knobs, dials, meters and gauges: ***/
  415. #define ATTR_SLIDER_COLOR               980         /* int (rgb value) */
  416. #define ATTR_NEEDLE_COLOR               ATTR_SLIDER_COLOR
  417. #define ATTR_FILL_HOUSING_COLOR         981         /* int (rgb value) */
  418. #define ATTR_MARKER_STYLE               982         /* int: VAL_NO_MARKERS, ... */
  419. #define ATTR_TICK_STYLE                 983         /* int: VAL_NO_TICKS, ... */
  420.  
  421.     /*** for numeric and ring slides ***/
  422. #define ATTR_FILL_COLOR                 985         /* int (rgb value) */
  423. #define ATTR_FILL_OPTION                986         /* int: VAL_NO_FILL, ... */
  424.  
  425.     /** for numeric and ring knobs, dials and gauges: ***/
  426. #define ATTR_MARKER_START_ANGLE         990         /* int (0-359) */
  427. #define ATTR_MARKER_END_ANGLE           991         /* int (0-359) */
  428.  
  429.     /** for numeric and ring normal and pointer slides: ***/
  430. #define ATTR_SLIDER_WIDTH               992         /* int (0-32767) */
  431. #define ATTR_SLIDER_HEIGHT              993         /* int (0-32767) */
  432. #define ATTR_SLIDER_LEFT                997         /* int (0-32767) */
  433. #define ATTR_SLIDER_TOP                 998         /* int (0-32767) */
  434.  
  435.     /*** for color numerics: ***/
  436. #define ATTR_SHOW_MORE_BUTTON           995         /* int (boolean) */
  437. #define ATTR_SHOW_TRANSPARENT           996         /* int (boolean) */
  438.  
  439.     /*** for menu rings: ***/
  440. #define ATTR_MENU_ARROW_COLOR           1000        /* int (rgb value) */
  441.  
  442.     /*** for controls and menuItems: ***/
  443. #define ATTR_SHORTCUT_KEY               1020        /* int */
  444.  
  445.     /*** for menu items: ***/
  446. #define ATTR_CHECKED                    1040        /* int (boolean) */
  447. #define ATTR_IS_SEPARATOR               1041        /* int (boolean) */
  448.                                                     /* (not settable)         */
  449. #define ATTR_ITEM_NAME                  1042        /* (char *) */
  450. #define ATTR_ITEM_NAME_LENGTH           1043        /* int (not settable) */
  451. #define ATTR_SUBMENU_ID                 1044        /* int (not settable) */
  452.  
  453.     /*** for picture buttons: ***/
  454. #define ATTR_IMAGE_FILE                 1050        /* (char *) */
  455. #define ATTR_IMAGE_FILE_LENGTH          1051        /* int (not settable) */
  456. #define ATTR_FAST_DRAW_BUTTON           1052        /* int (boolean) */
  457. #define ATTR_USE_SUBIMAGE               1053        /* int (boolean) */
  458. #define ATTR_SUBIMAGE_TOP               1054        /* int (positive or zero) */
  459. #define ATTR_SUBIMAGE_LEFT              1055        /* int (positive or zero) */
  460. #define ATTR_SUBIMAGE_WIDTH             1056        /* int (positive or zero) */
  461. #define ATTR_SUBIMAGE_HEIGHT            1057        /* int (positive or zero) */
  462.  
  463.     /*** for menus: ***/
  464. #define ATTR_MENU_NAME                  1060        /* (char *) */
  465. #define ATTR_MENU_NAME_LENGTH           1061        /* int (not settable) */
  466. #define ATTR_NUM_MENU_ITEMS             1062        /* int (not settable) */
  467.  
  468.     /*** for menu bars: ***/
  469. #define ATTR_NUM_MENUS                  1070        /* int (not settable) */
  470. #define ATTR_DRAW_LIGHT_BEVEL           1071        /* int (boolean) */
  471. #define ATTR_DIMMER_CALLBACK            1072        /* (int) (really a MenuDimmerCallbackPtr) */
  472.  
  473.     /*** for graphs and strip charts: ***/
  474. #define ATTR_GRID_COLOR                 1080        /* int (rgb value) */
  475. #define ATTR_PLOT_BGCOLOR               1081        /* int (rgb value) */
  476. #define ATTR_XYNAME_FONT                1082        /* (char *) */
  477. #define ATTR_XYNAME_COLOR               1083        /* int (rgb value) */
  478. #define ATTR_XYLABEL_FONT               1084        /* (char *) */
  479. #define ATTR_XYLABEL_COLOR              1085        /* int (rgb value) */
  480. #define ATTR_XNAME                      1086        /* (char *) */
  481. #define ATTR_XGRID_VISIBLE              1087        /* int (boolean) */
  482. #define ATTR_XLABEL_VISIBLE             1088        /* int (boolean) */
  483. #define ATTR_XFORMAT                    1089        /* int: VAL_ENGINEERING... */
  484. #define ATTR_XDIVISIONS                 1090        /* int (1-100, or VAL_AUTO) */
  485. #define ATTR_XPRECISION                 1091        /* int (0-15, or VAL_AUTO) */
  486. #define ATTR_XENG_UNITS                 1092        /* int (-308 to 308) */
  487. #define ATTR_YNAME                      1093        /* (char *) */
  488. #define ATTR_YGRID_VISIBLE              1094        /* int (boolean) */
  489. #define ATTR_YLABEL_VISIBLE             1095        /* int (boolean) */
  490. #define ATTR_YMAP_MODE                  1096        /* int: VAL_LINEAR or VAL_LOG */
  491. #define ATTR_YFORMAT                    1097        /* int: VAL_ENGINEERING... */
  492. #define ATTR_YDIVISIONS                 1098        /* int (1-100, or VAL_AUTO) */
  493. #define ATTR_YPRECISION                 1099        /* int (0-15, or VAL_AUTO) */
  494. #define ATTR_YENG_UNITS                 1100        /* int (-308 to 308) */
  495. #define ATTR_EDGE_STYLE                 1101        /* int: VAL_RAISED_EDGE, ...*/
  496. #define ATTR_BORDER_VISIBLE             1102        /* int (boolean) */
  497. #define ATTR_XYNAME_BOLD                1103        /* int (boolean) */
  498. #define ATTR_XYNAME_ITALIC              1104        /* int (boolean) */
  499. #define ATTR_XYNAME_UNDERLINE           1105        /* int (boolean) */
  500. #define ATTR_XYNAME_STRIKEOUT           1106        /* int (boolean) */
  501. #define ATTR_XYNAME_POINT_SIZE          1107        /* int (1-255) */
  502. #define ATTR_XNAME_LENGTH               1108        /* int (not settable) */
  503. #define ATTR_YNAME_LENGTH               1109        /* int (not settable) */
  504. #define ATTR_XYNAME_FONT_NAME_LENGTH    1110        /* int (not settable) */
  505. #define ATTR_XYLABEL_BOLD               1111        /* int (boolean) */
  506. #define ATTR_XYLABEL_ITALIC             1112        /* int (boolean) */
  507. #define ATTR_XYLABEL_UNDERLINE          1113        /* int (boolean) */
  508. #define ATTR_XYLABEL_STRIKEOUT          1114        /* int (boolean) */
  509. #define ATTR_XYLABEL_POINT_SIZE         1115        /* int (1-255) */
  510. #define ATTR_XYLABEL_FONT_NAME_LENGTH   1116        /* int (not settable) */
  511. #define ATTR_GRAPH_BGCOLOR              1117        /* int (rgb value) */
  512. #define ATTR_PLOT_AREA_WIDTH            1118        /* int (not settable) */
  513. #define ATTR_PLOT_AREA_HEIGHT           1119        /* int (not settable) */
  514. #define ATTR_INNER_LOG_MARKERS_VISIBLE  1120        /* int (boolean) */
  515. #define ATTR_YREVERSE                   1121        /* int (boolean) */
  516. #define ATTR_XUSE_LABEL_STRINGS         1122        /* int (boolean) */
  517. #define ATTR_YUSE_LABEL_STRINGS         1123        /* int (boolean) */
  518. #define ATTR_XAXIS_GAIN                 1124        /* double */
  519. #define ATTR_YAXIS_GAIN                 1125        /* double */
  520. #define ATTR_XAXIS_OFFSET               1126        /* double */
  521. #define ATTR_YAXIS_OFFSET               1127        /* double */
  522.  
  523.     /*** for graphs: ***/
  524. #define ATTR_NUM_CURSORS                1140        /* int (0-10) */
  525. #define ATTR_XMAP_MODE                  1141        /* int: VAL_LINEAR or VAL_LOG */
  526. #define ATTR_DATA_MODE                  1142        /* int: VAL_RETAIN, ... */
  527. #define ATTR_COPY_ORIGINAL_DATA         1143        /* int (boolean) */
  528. #define ATTR_XMARK_ORIGIN               1144        /* int (boolean) */
  529. #define ATTR_YMARK_ORIGIN               1145        /* int (boolean) */
  530. #define ATTR_SMOOTH_UPDATE              1146        /* int (boolean) */
  531. #define ATTR_REFRESH_GRAPH              1147        /* int (boolean) */
  532. #define ATTR_SHIFT_TEXT_PLOTS           1148        /* int (boolean) */
  533. #define ATTR_ACTIVE_YAXIS               1149        /* int: VAL_LEFT_YAXIS or VAL_RIGHT_YAXIS */
  534. #define ATTR_XREVERSE                   1150        /* int (boolean) */
  535. #define ATTR_ENABLE_ZOOM_AND_PAN        1151        /* int (boolean) */
  536.  
  537.     /*** for strip charts: ***/
  538. #define ATTR_NUM_TRACES                 1170        /* int (1-64) */
  539. #define ATTR_POINTS_PER_SCREEN          1171        /* int (3-10000) */
  540. #define ATTR_SCROLL_MODE                1172        /* int: VAL_SWEEP, ... */
  541.  
  542.     /** for graph cursors: ***/
  543. #define ATTR_CURSOR_MODE                1200        /* int: VAL_FREE_FORM, ... */
  544. #define ATTR_CURSOR_POINT_STYLE         1201        /* int: VAL_EMPTY_SQUARE, ... */
  545. #define ATTR_CROSS_HAIR_STYLE           1202        /* int: VAL_LONG_CROSS, ... */
  546. #define ATTR_CURSOR_COLOR               1203        /* int (rgb value) */
  547. #define ATTR_CURSOR_YAXIS               1204        /* int: VAL_LEFT_YAXIS or VAL_RIGHT_YAXIS */
  548.  
  549.     /*** for graph plots and strip chart traces: ***/
  550. #define ATTR_TRACE_COLOR                1230        /* int (rgb value) */
  551. #define ATTR_PLOT_STYLE                 1231        /* int: VAL_THIN_LINE, ... */
  552. #define ATTR_TRACE_POINT_STYLE          1232        /* int: VAL_EMPTY_SQUARE, ... */
  553. #define ATTR_LINE_STYLE                 1233        /* int: VAL_SOLID, ... */
  554. #define ATTR_TRACE_VISIBLE              1234        /* int (boolean) */
  555.  
  556.     /*** for graph plots: ***/
  557. #define ATTR_TRACE_BGCOLOR              1240        /* int (rgb value) */
  558. #define ATTR_PLOT_FONT                  1241        /* (char *) */
  559. #define ATTR_PLOT_FONT_NAME_LENGTH      1242        /* int (not settable) */
  560. #define ATTR_INTERPOLATE_PIXELS         1243        /* int (boolean) */
  561. #define ATTR_PLOT_ZPLANE_POSITION       1244        /* int (0 - numPlots - 1) */
  562. #define ATTR_NUM_POINTS                 1245        /* int (not settable) */
  563. #define ATTR_PLOT_XDATA                 1246        /* (void *) (not settable) */
  564. #define ATTR_PLOT_YDATA                 1247        /* (void *) (not settable) */
  565. #define ATTR_PLOT_ZDATA                 1248        /* (void *) (not settable) */
  566. #define ATTR_PLOT_XDATA_TYPE            1249        /* int (not settable) */
  567. #define ATTR_PLOT_YDATA_TYPE            1250        /* int (not settable) */
  568. #define ATTR_PLOT_ZDATA_TYPE            1251        /* int (not settable) */
  569. #define ATTR_PLOT_XDATA_SIZE            1252        /* int (not settable) */
  570. #define ATTR_PLOT_YDATA_SIZE            1253        /* int (not settable) */
  571. #define ATTR_PLOT_ZDATA_SIZE            1254        /* int (not settable) */
  572. #define ATTR_PLOT_YAXIS                 1255        /* int: VAL_LEFT_YAXIS or VAL_RIGHT_YAXIS */
  573. #define ATTR_PLOT_SNAPPABLE             1256        /* int (boolean) */
  574. #define ATTR_PLOT_ORIGIN                1257        /* int: VAL_LOWER_LEFT,... */
  575.  
  576.     /*** for list boxes: ***/
  577. #define ATTR_CHECK_MODE                 1260        /* int (boolean) */
  578. #define ATTR_CHECK_STYLE                1261        /* int: VAL_CHECK_MARK, ... */
  579. #define ATTR_TEXT_CLICK_TOGGLES_CHECK   1262        /* int: (boolean) */
  580. #define ATTR_HILITE_CURRENT_ITEM        1263        /* int (boolean) */
  581. #define ATTR_ALLOW_ROOM_FOR_IMAGES      1264        /* int (boolean) */
  582.  
  583.     /*** for timers: ***/
  584. #define ATTR_INTERVAL                   1270        /* double (seconds) */
  585. #define ATTR_ENABLED                    1271        /* int (boolean) */
  586.  
  587.     /*** for pictures and picture rings: ***/
  588. #define ATTR_FRAME_VISIBLE              1290        /* int (boolean) */
  589.  
  590.     /*** for pictures, picture rings and canvases: ***/
  591. #define ATTR_PICT_BGCOLOR               1291        /* int (rgb value) */
  592.  
  593.     /*** for pictures, picture buttons and picture rings: ***/
  594. #define ATTR_FIT_MODE                   1292        /* int: VAL_SIZE_TO_IMAGE, ... */
  595.  
  596.     /*** for printing: ***/
  597. #define ATTR_ORIENTATION                1300        /* int: VAL_PORTRAIT, ... */
  598. #define ATTR_PAPER_HEIGHT               1301        /* int (millimeter/10), VAL_USE... */
  599. #define ATTR_PAPER_WIDTH                1302        /* int (millimeter/10), VAL_USE... */
  600. #define ATTR_NUMCOPIES                  1303        /* int (1-100) */
  601. #define ATTR_XRESOLUTION                1304        /* int (dpi), VAL_USE... */
  602. #define ATTR_YRESOLUTION                1305        /* int (dpi), VAL_USE... */
  603. #define ATTR_XOFFSET                    1306        /* int (millimeter/10), VAL_USE... */
  604. #define ATTR_YOFFSET                    1307        /* int (millimeter/10), VAL_USE... */
  605. #define ATTR_COLOR_MODE                 1308        /* int: VAL_BW, ... */
  606. #define ATTR_DUPLEX                     1309        /* int: VAL_SIMPLEX, ... */
  607. #define ATTR_EJECT_AFTER                1310        /* int (boolean) */
  608. #define ATTR_TEXT_WRAP                  1311        /* int (boolean) */
  609. #define ATTR_TAB_INTERVAL               1312        /* int (1-80) */
  610.  
  611.     /*** for canvases: ***/
  612. #define ATTR_PEN_COLOR                  1350        /* int (rgb value) */
  613. #define ATTR_PEN_FILL_COLOR             1351        /* int (rgb value) */
  614. #define ATTR_PEN_MODE                   1354        /* int: VAL_COPY_MODE, ... */
  615. #define ATTR_PEN_WIDTH                  1355        /* int: (1-255) */
  616. #define ATTR_PEN_PATTERN                1356        /* unsigned char[8] */
  617. #define ATTR_PEN_STYLE                  1357        /* int: VAL_SOLID, ... */
  618. #define ATTR_DRAW_POLICY                1370        /* int: VAL_UPDATE_IMMEDIATELY, ... */
  619. #define ATTR_OVERLAPPED_POLICY          1373        /* int: VAL_DRAW_ON_TOP or VAL_DEFER_DRAWING */
  620. #define ATTR_XCOORD_AT_ORIGIN           1374        /* double */
  621. #define ATTR_YCOORD_AT_ORIGIN           1375        /* double */
  622. #define ATTR_XSCALING                   1376        /* double */
  623. #define ATTR_YSCALING                   1377        /* double */
  624.  
  625.     /*** for Set/GetSystemAttribute: ***/
  626. #define ATTR_ALLOW_UNSAFE_TIMER_EVENTS  1400        /* int (boolean) */    
  627. #define ATTR_REPORT_LOAD_FAILURE        1405        /* int (boolean) */    
  628. #define ATTR_ALLOW_MISSING_CALLBACKS    1410        /* int (boolean) */    
  629. #define ATTR_SUPPRESS_EVENT_PROCESSING  1415        /* int (boolean) */
  630. #define ATTR_TASKBAR_BUTTON_VISIBLE     1420        /* int (boolean) */
  631. #define ATTR_TASKBAR_BUTTON_TEXT        1425        /* (char*)       */
  632.  
  633. /* */
  634. /* ATTRIBUTE VALUES: (primarily for use in the set and get attribute functions) */
  635. /* */
  636.  
  637.     /*** control data types (for ATTR_DATA_TYPE): ***/
  638. #define VAL_CHAR                        0L
  639. #define VAL_INTEGER                     1L
  640. #define VAL_SHORT_INTEGER               2L
  641. #define VAL_FLOAT                       3L
  642. #define VAL_DOUBLE                      4L
  643. #define VAL_STRING                      5L
  644. #define VAL_UNSIGNED_SHORT_INTEGER      6L
  645. #define VAL_UNSIGNED_INTEGER            7L
  646. #define VAL_UNSIGNED_CHAR               8L
  647. #define VAL_NO_TYPE                     9L    /* for internal use only */
  648.  
  649.     /*** special position values: ***/
  650. #define VAL_AUTO_CENTER         0x80000000L /* for ATTR_LABEL_TOP, ATTR_, ... */
  651.                                             /* SetPanelPos, NewPanel, ... */
  652. #define VAL_RIGHT_ANCHOR        0x8000000FL /* for ATTR_LABEL_LEFT */
  653. #define VAL_LEFT_ANCHOR         0x8000000EL /* for ATTR_LABEL_LEFT */
  654. #define VAL_KEEP_SAME_POSITION  0x80000001L /* for DuplicateCtrl */
  655.                                             /* and DuplicatePanel */
  656.  
  657.     /*** justification values (for ATTR_LABEL_JUSTIFY and ATTR_TEXT_JUSTIFY): ***/
  658. #define VAL_LEFT_JUSTIFIED               0L
  659. #define VAL_RIGHT_JUSTIFIED              0x10L
  660. #define VAL_CENTER_JUSTIFIED             0x20L
  661.  
  662.     /***   RGB colors (for all color attributes): ***/
  663. #define VAL_RED                         0xFF0000L /* 16 standard colors */
  664. #define VAL_GREEN                       0x00FF00L
  665. #define VAL_BLUE                        0x0000FFL
  666. #define VAL_CYAN                        0x00FFFFL
  667. #define VAL_MAGENTA                     0xFF00FFL
  668. #define VAL_YELLOW                      0xFFFF00L
  669. #define VAL_DK_RED                      0x800000L
  670. #define VAL_DK_BLUE                     0x000080L
  671. #define VAL_DK_GREEN                    0x008000L
  672. #define VAL_DK_CYAN                     0x008080L
  673. #define VAL_DK_MAGENTA                  0x800080L
  674. #define VAL_DK_YELLOW                   0x808000L
  675. #define VAL_LT_GRAY                     0xC0C0C0L
  676. #define VAL_DK_GRAY                     0x808080L
  677. #define VAL_BLACK                       0x000000L
  678. #define VAL_WHITE                       0xFFFFFFL
  679.  
  680. #define VAL_PANEL_GRAY                  VAL_LT_GRAY
  681. #define VAL_GRAY                        0xA0A0A0L
  682. #define VAL_OFFWHITE                    0xE0E0E0L
  683. #define VAL_TRANSPARENT                 0x1000000L
  684.  
  685.     /*** platform independent fonts: ***/
  686. #define VAL_MENU_FONT                    "NIMenu"
  687. #define VAL_DIALOG_FONT                  "NIDialog"
  688. #define VAL_EDITOR_FONT                  "NIEditor"
  689. #define VAL_APP_FONT                     "NIApp"
  690. #define VAL_MESSAGE_BOX_FONT             "NIMessageBox"
  691.  
  692.     /*** platform independent meta fonts: ***/
  693. #define VAL_MENU_META_FONT               "NIMenuMetaFont"
  694. #define VAL_DIALOG_META_FONT             "NIDialogMetaFont"
  695. #define VAL_EDITOR_META_FONT             "NIEditorMetaFont"
  696. #define VAL_APP_META_FONT                "NIAppMetaFont"
  697. #define VAL_MESSAGE_BOX_META_FONT        "NIMessageBoxMetaFont"
  698.  
  699.     /*** CVI supplied meta fonts: ***/
  700. #define VAL_7SEG_META_FONT               "NI7SegMetaFont"
  701. #define VAL_SYSTEM_META_FONT             "NISystemMetaFont"
  702.  
  703.     /*** wrap modes (for ATTR_WRAP_MODE): ***/
  704. #define VAL_CHAR_WRAP                    1L
  705. #define VAL_LINE_WRAP                    2L
  706. #define VAL_WORD_WRAP                    4L
  707.  
  708.     /*** numeric display formats: ***/
  709. #define VAL_FLOATING_PT_FORMAT          0xFFF0
  710. #define VAL_SCIENTIFIC_FORMAT           0xFFF1
  711. #define VAL_ENGINEERING_FORMAT          0xFFF2
  712. #define VAL_DECIMAL_FORMAT               64L    /* not valid for graph axis format */
  713. #define VAL_HEX_FORMAT                   66L    /* not valid for graph axis format */
  714. #define VAL_OCTAL_FORMAT                 67L    /* not valid for graph axis format */
  715. #define VAL_BINARY_FORMAT                68L    /* not valid for graph axis format */
  716.  
  717.     /*** key masks:
  718.          either the ascii field or the virtual key field will be all zeros.
  719.     ***/
  720. #define VAL_ASCII_KEY_MASK              (0xFF)
  721. #define VAL_VKEY_MASK                   (0xFF << 8)
  722. #define VAL_MODIFIER_KEY_MASK           (0xFF << 16)
  723.  
  724.     /*** key modifiers: ***/
  725. #define VAL_SHIFT_MODIFIER               (1L << 16)
  726. #define VAL_UNDERLINE_MODIFIER           (1L << 17)
  727. #define VAL_MENUKEY_MODIFIER             (1L << 18)
  728. #define VAL_SHIFT_AND_MENUKEY            (VAL_SHIFT_MODIFIER | VAL_MENUKEY_MODIFIER)
  729.  
  730.     /*** virtual key codes: ***/
  731. #define VAL_FWD_DELETE_VKEY              (1L << 8)  /* not available on SPARC */
  732. #define VAL_BACKSPACE_VKEY               (2L << 8)  /* the delete key on SPARC */
  733. #define VAL_ESC_VKEY                     (3L << 8)
  734. #define VAL_TAB_VKEY                     (4L << 8)
  735. #define VAL_ENTER_VKEY                   (5L << 8)
  736. #define VAL_UP_ARROW_VKEY                (6L << 8)
  737. #define VAL_DOWN_ARROW_VKEY              (7L << 8)
  738. #define VAL_LEFT_ARROW_VKEY              (8L << 8)
  739. #define VAL_RIGHT_ARROW_VKEY             (9L << 8)
  740. #define VAL_INSERT_VKEY                  (10L << 8)
  741. #define VAL_HOME_VKEY                    (11L << 8)
  742. #define VAL_END_VKEY                     (12L << 8)
  743. #define VAL_PAGE_UP_VKEY                 (13L << 8)
  744. #define VAL_PAGE_DOWN_VKEY               (14L << 8)
  745. #define VAL_F1_VKEY                      (15L << 8)
  746. #define VAL_F2_VKEY                      (16L << 8)
  747. #define VAL_F3_VKEY                      (17L << 8)
  748. #define VAL_F4_VKEY                      (18L << 8)
  749. #define VAL_F5_VKEY                      (19L << 8)
  750. #define VAL_F6_VKEY                      (20L << 8)
  751. #define VAL_F7_VKEY                      (21L << 8)
  752. #define VAL_F8_VKEY                      (22L << 8)
  753. #define VAL_F9_VKEY                      (23L << 8)
  754. #define VAL_F10_VKEY                     (24L << 8)
  755. #define VAL_F11_VKEY                     (25L << 8)
  756. #define VAL_F12_VKEY                     (26L << 8)
  757. #define VAL_POPUP_MENUBAR_VKEY           (37L << 8) /* for fake key stroke only */
  758.  
  759.     /*** range checking (for ATTR_CHECK_RANGE): ***/
  760. #define VAL_COERCE                       0L
  761. #define VAL_IGNORE                       1L
  762. #define VAL_NOTIFY                       2L
  763.  
  764.     /*** fill options (for ATTR_FILL_OPTION):  ***/
  765. #define VAL_NO_FILL                      5L
  766. #define VAL_TOP_FILL                     2L
  767. #define VAL_BOTTOM_FILL                  1L
  768. #define VAL_RIGHT_FILL                  VAL_TOP_FILL
  769. #define VAL_LEFT_FILL                   VAL_BOTTOM_FILL
  770.  
  771.     /*** marker styles (for ATTR_MARKER_STYLE): ***/
  772. #define VAL_NO_MARKERS                   3L
  773. #define VAL_NO_INNER_MARKERS             2L
  774. #define VAL_FULL_MARKERS                 1L
  775.  
  776.     /*** tick styles (for ATTR_TICK_STYLE): ***/
  777. #define VAL_NO_TICKS                     3L
  778. #define VAL_NO_MINOR_TICKS               0L
  779. #define VAL_FULL_TICKS                   6L
  780.  
  781.     /*** control mode values (for ATTR_CTRL_MODE): ***/
  782. #define VAL_INDICATOR                   0L
  783. #define VAL_HOT                         1L
  784. #define VAL_NORMAL                      2L
  785. #define VAL_VALIDATE                    3L
  786.  
  787.     /*** panel frame styles (for ATTR_FRAME_STYLE): ***/
  788. #define VAL_OUTLINED_FRAME              1L
  789. #define VAL_BEVELLED_FRAME              2L
  790. #define VAL_RAISED_FRAME                3L
  791. #define VAL_HIDDEN_FRAME                4L
  792. #define VAL_STEP_FRAME                  5L
  793. #define VAL_RAISED_OUTLINED_FRAME       6L
  794.  
  795.     /*** top level panel zoom states (for ATTR_WINDOW_ZOOM) ***/
  796. #define VAL_NO_ZOOM                     0L
  797. #define VAL_MINIMIZE                    1L
  798. #define VAL_MAXIMIZE                    2L
  799.  
  800.     /*** graph border styles (for ATTR_EDGE_STYLE): ***/
  801. #define VAL_RAISED_EDGE                 1L
  802. #define VAL_FLAT_EDGE                   2L
  803. #define VAL_RECESSED_EDGE               3L
  804.  
  805.     /*** images on list box items (for SetListItemImage): ***/
  806. #define VAL_NO_IMAGE                     0L
  807. #define VAL_FOLDER                       1L
  808. #define VAL_OPEN_FOLDER                  2L
  809. #define VAL_CURRENT_FOLDER               3L
  810.  
  811.     /*** list box check styles (for ATTR_CHECK_STYLE): ***/
  812. #define VAL_CHECK_MARK                   0L
  813. #define VAL_CHECK_BOX                    1L
  814.  
  815.     /*** graph, strip chart and graph cursor point styles: ***/
  816.     /*** (for ATTR_CURSOR_POINT_STYLE and ATTR_TRACE_POINT_STYLE) ***/
  817. #define VAL_EMPTY_SQUARE                0L
  818. #define VAL_SOLID_SQUARE                1L
  819. #define VAL_ASTERISK                    2L
  820. #define VAL_DOTTED_EMPTY_SQUARE         3L
  821. #define VAL_DOTTED_SOLID_SQUARE         4L
  822. #define VAL_SOLID_DIAMOND               5L
  823. #define VAL_EMPTY_SQUARE_WITH_X         6L
  824. #define VAL_EMPTY_SQUARE_WITH_CROSS     7L
  825. #define VAL_BOLD_X                      8L
  826. #define VAL_SMALL_SOLID_SQUARE          9L
  827. #define VAL_SIMPLE_DOT                  10L
  828. #define VAL_EMPTY_CIRCLE                11L
  829. #define VAL_SOLID_CIRCLE                12L
  830. #define VAL_DOTTED_SOLID_CIRCLE         13L
  831. #define VAL_DOTTED_EMPTY_CIRCLE         14L
  832. #define VAL_BOLD_CROSS                  15L
  833. #define VAL_CROSS                       16L
  834. #define VAL_SMALL_CROSS                 17L
  835. #define VAL_X                           18L
  836. #define VAL_SMALL_X                     19L
  837. #define VAL_DOTTED_SOLID_DIAMOND        20L
  838. #define VAL_EMPTY_DIAMOND               21L
  839. #define VAL_DOTTED_EMPTY_DIAMOND        22L
  840. #define VAL_SMALL_EMPTY_SQUARE          23L
  841. #define VAL_NO_POINT                    24L
  842.  
  843.     /*** graph plot styles (for ATTR_PLOT_STYLE): ***/
  844. #define VAL_THIN_LINE                   0L
  845. #define VAL_CONNECTED_POINTS            1L
  846. #define VAL_SCATTER                     2L
  847. #define VAL_VERTICAL_BAR                3L  /* not valid for strip charts */
  848. #define VAL_HORIZONTAL_BAR              4L  /* not valid for strip charts */
  849. #define VAL_FAT_LINE                    5L
  850. #define VAL_THIN_STEP                   6L
  851. #define VAL_FAT_STEP                    7L
  852. #define VAL_BASE_ZERO_VERTICAL_BAR      8L  /* not valid for strip charts */
  853. #define VAL_BASE_ZERO_HORIZONTAL_BAR    9L  /* not valid for strip charts */
  854.  
  855.     /*** graph, strip chart, and canvas line styles (for ATTR_LINE_STYLE and ATTR_PEN_STYLE): ***/
  856. #define VAL_SOLID                       0L
  857. #define VAL_DASH                        1L
  858. #define VAL_DOT                         2L
  859. #define VAL_DASH_DOT                    3L
  860. #define VAL_DASH_DOT_DOT                4L
  861.  
  862.     /*** text and bitmap plot origins (for ATTR_PLOT_ORIGIN, CanvasDrawText(), ...): ***/
  863. #define VAL_LOWER_LEFT                  1L
  864. #define VAL_CENTER_LEFT                 2L
  865. #define VAL_UPPER_LEFT                  3L
  866. #define VAL_LOWER_CENTER                4L
  867. #define VAL_CENTER                      5L
  868. #define VAL_UPPER_CENTER                6L
  869. #define VAL_LOWER_RIGHT                 7L
  870. #define VAL_CENTER_RIGHT                8L
  871. #define VAL_UPPER_RIGHT                 9L
  872.  
  873.     /*** graph and strip chart scale modes:         ***/
  874.     /*** (for ATTR_XMAP_MODE or ATTR_YMAP_MODE) ***/
  875. #define VAL_LINEAR                      0L
  876. #define VAL_LOG                         1L
  877.  
  878.     /*** graph and strip chart auto divisions and auto precision: ***/
  879.     /*** (for ATTR_XDIVISIONS, ATTR_XPRECISION, ATTR_YDIVISIONS, ATTR_YPRECISION) ***/
  880. #define VAL_AUTO                        -1L
  881.  
  882.     /*** graph data modes (for ATTR_DATA_MODE): ***/
  883. #define VAL_RETAIN                      0L
  884. #define VAL_DISCARD                     1L
  885.  
  886.     /*** graph cursor modes (for ATTR_CURSOR_MODE): ***/
  887. #define VAL_FREE_FORM                   0L
  888. #define VAL_SNAP_TO_POINT               1L
  889.  
  890.     /*** graph cursor cross hair styles (for ATTR_CROSS_HAIR_STYLE): ***/
  891. #define VAL_LONG_CROSS                  0L
  892. #define VAL_VERTICAL_LINE               1L
  893. #define VAL_HORIZONTAL_LINE             2L
  894. #define VAL_NO_CROSS                    3L
  895. #define VAL_SHORT_CROSS                 4L
  896.  
  897.     /*** strip chart scroll modes (for ATTR_SCROLL_MODE): ***/
  898. #define VAL_SWEEP                       0L
  899. #define VAL_CONTINUOUS                  1L
  900. #define VAL_BLOCK                       2L
  901.  
  902.     /*** graph and strip chart scaling modes: ***/
  903. #define VAL_NO_CHANGE                   -1L
  904. #define VAL_MANUAL                      0L
  905. #define VAL_AUTOSCALE                   1L
  906. #define VAL_LOCK                        2L
  907.  
  908.     /*** plot deletion options: ***/
  909. #define VAL_DELAYED_DRAW                0L
  910. #define VAL_IMMEDIATE_DRAW              1L
  911. #define VAL_NO_DRAW                     2L
  912.  
  913.     /*** mouse cursors (for ATTR_MOUSE_CURSOR, SetMouseCursor): ***/
  914. #define VAL_DEFAULT_CURSOR              -1L
  915. #define VAL_CHECK_CURSOR                11L
  916. #define VAL_CROSS_HAIR_CURSOR           12L
  917. #define VAL_BOX_CURSOR                  13L
  918. #define VAL_POINTING_FINGER_CURSOR      14L
  919. #define VAL_OPEN_HAND_CURSOR            15L
  920. #define VAL_QUESTION_MARK_CURSOR        16L
  921. #define VAL_HOUR_GLASS_CURSOR           17L
  922. #define VAL_HIDDEN_CURSOR               18L
  923. #define VAL_SIZE_EW_CURSOR              19L
  924. #define VAL_SIZE_NS_CURSOR              20L
  925. #define VAL_SIZE_NW_SE_CURSOR           21L
  926. #define VAL_SIZE_NE_SW_CURSOR           22L
  927.  
  928.     /*** scroll bar options (for ATTR_SCROLL_BARS): ***/
  929. #define VAL_NO_SCROLL_BARS               0L
  930. #define VAL_HORIZ_SCROLL_BAR             1L
  931. #define VAL_VERT_SCROLL_BAR              2L
  932. #define VAL_BOTH_SCROLL_BARS             (2L|1L)
  933.  
  934.     /*** scroll bar sizes (for ATTR_SCROLL_BAR_SIZE): ***/
  935. #define VAL_SMALL_SCROLL_BARS            8L
  936. #define VAL_LARGE_SCROLL_BARS            16L
  937.  
  938.     /*** print report masks (returned by PrintPanel() and PrintCtrl()): ***/
  939. #define VAL_TOO_MANY_COPIES              (1<<0)
  940. #define VAL_NO_MULTIPLE_COPIES           (1<<1)
  941. #define VAL_NO_DUPLEX                    (1<<2)
  942. #define VAL_NO_LANDSCAPE                 (1<<3)
  943. #define VAL_CANT_FORCE_MONO              (1<<4)
  944. #define VAL_NO_SUCH_XRESOLUTION          (1<<5)
  945. #define VAL_NO_MULTIPLE_XRESOLUTIONS     (1<<6)
  946. #define VAL_NO_SUCH_YRESOLUTION          (1<<7)
  947. #define VAL_NO_MULTIPLE_YRESOLUTIONS     (1<<8)
  948. #define VAL_NO_SEPARATE_YRESOLUTION      (1<<9)
  949. #define VAL_USER_CANCEL                  (1<<10)
  950.  
  951.     /*** ctrl Id's for the generic popup (used in GenericMessagePopup()): ***/
  952. #define VAL_GENERIC_POPUP_NO_CTRL       0
  953. #define VAL_GENERIC_POPUP_BTN1          1
  954. #define VAL_GENERIC_POPUP_BTN2          2
  955. #define VAL_GENERIC_POPUP_BTN3          3
  956. #define VAL_GENERIC_POPUP_INPUT_STRING  4
  957.  
  958.     /*** picture fit modes (for ATTR_FIT_MODE): ***/
  959. #define VAL_SIZE_TO_IMAGE                0L
  960. #define VAL_SIZE_TO_PICTURE              1L
  961. #define VAL_PICT_CORNER                  2L
  962. #define VAL_PICT_CENTER                  3L
  963. #define VAL_PICT_TILE                    4L
  964.  
  965.     /*** printing scope options (passed to PrintPanel()): ***/
  966. #define VAL_FULL_PANEL                  0L
  967. #define VAL_VISIBLE_AREA                1L
  968.  
  969.     /*** file dialog button labels: ***/
  970. #define VAL_OK_BUTTON                   0
  971. #define VAL_SAVE_BUTTON                 1
  972. #define VAL_SELECT_BUTTON               2
  973. #define VAL_LOAD_BUTTON                 3
  974.  
  975.     /*** FileSelectPopup return values: ***/
  976. #define VAL_NO_FILE_SELECTED            0
  977. #define VAL_EXISTING_FILE_SELECTED      1
  978. #define VAL_NEW_FILE_SELECTED           2
  979.  
  980.     /*** DirSelectPopup return values:  ***/
  981. #define VAL_NO_DIRECTORY_SELECTED       0
  982. #define VAL_DIRECTORY_SELECTED          1
  983.  
  984.     /*** orientation modes (for ATTR_ORIENTATION): ***/
  985. #define VAL_PORTRAIT                     1
  986. #define VAL_LANDSCAPE                    2
  987.  
  988.     /*** color modes (for ATTR_COLOR_MODE): ***/
  989. #define VAL_BW                           0
  990. #define VAL_GRAYSCALE                    1
  991. #define VAL_COLOR                        2
  992.  
  993.     /*** duplex modes (for ATTR_DUPLEX): ***/
  994. #define VAL_SIMPLEX                      1
  995. #define VAL_HORIZDUPLEX                  3
  996. #define VAL_VERTDUPLEX                   2
  997.  
  998.     /*** special value for ATTR_PAPER_HEIGHT, ATTR_PAPER_WIDTH ***/
  999. #define VAL_INTEGRAL_SCALE              0L
  1000.  
  1001.     /*** special value for ATTR_[X,Y]OFFSET, ATTR_[X,Y]RESOLUTION, ***/
  1002.     /*** ATTR_PAPER_HEIGHT and ATTR_PAPER_WIDTH                    ***/
  1003. #define VAL_USE_PRINTER_DEFAULT         -1L
  1004.  
  1005.     /*** SetSleepPolicy() parameters ***/
  1006. #define VAL_SLEEP_NONE  1
  1007. #define VAL_SLEEP_SOME  2
  1008. #define VAL_SLEEP_MORE  3
  1009.  
  1010.     
  1011.     /*** graph and chart axes (for Axis functions and ATTR_..._YAXIS): ***/
  1012. #define VAL_XAXIS       0               /* for graphs and strip charts */
  1013. #define VAL_LEFT_YAXIS  1               /* for graphs and strip charts */
  1014. #define VAL_RIGHT_YAXIS 2               /* for graphs only */
  1015.     
  1016.     /*** pen modes for ATTR_PEN_MODE ***/   /* R = Result, P = Pen, S = Screen */
  1017. #define VAL_COPY_MODE           1       /* R = P */
  1018. #define VAL_OR_MODE             2       /* R = P | S */
  1019. #define VAL_XOR_MODE            3       /* R = P ^ S */
  1020. #define VAL_AND_NOT_MODE        4       /* R = ~P & S */
  1021. #define VAL_NOT_COPY_MODE       5       /* R = ~P */
  1022. #define VAL_OR_NOT_MODE         6       /* R = ~P | S */
  1023. #define VAL_NOT_XOR_MODE        7       /* R = ~(P ^ S) */
  1024. #define VAL_AND_MODE            8       /* R = P & S */
  1025.  
  1026.     /*** values for the canvas control's ATTR_OVERLAPPED_POLICY ***/
  1027. #define VAL_DRAW_ON_TOP         1
  1028. #define VAL_DEFER_DRAWING       2
  1029.  
  1030.     /*** values for the canvas control's ATTR_DRAW_POLICY ***/
  1031. #define VAL_UPDATE_IMMEDIATELY  1
  1032. #define VAL_MARK_FOR_UPDATE     2
  1033. #define VAL_DIRECT_TO_SCREEN    3
  1034.  
  1035. /*** values for the drawMode parameter for canvas control drawing functions ***/
  1036. #define VAL_DRAW_FRAME                  1
  1037. #define VAL_DRAW_INTERIOR               2
  1038. #define VAL_DRAW_FRAME_AND_INTERIOR     3
  1039.  
  1040.  
  1041. /*** special values for use in rectangle heights and widths ***/
  1042. #define VAL_TO_EDGE             -1
  1043. #define VAL_KEEP_SAME_SIZE      -2
  1044.  
  1045. #define VAL_EMPTY_RECT          MakeRect(0,0,0,0)
  1046. #define VAL_ENTIRE_OBJECT       MakeRect(0,0,VAL_TO_EDGE, VAL_TO_EDGE)
  1047.  
  1048.  
  1049. /* */
  1050. /* EVENTS: (for use in callback functions)  */
  1051. /* Event numbers 1000 to 10000 are reserved for use by user programs (see QueueUserEvent()) */
  1052. /* Note: for callback functions: return 1 (true) to swallow mouse and key events. */
  1053. /* */
  1054.  
  1055. #define EVENT_NONE                  0
  1056. #define EVENT_COMMIT                1   /* for menu selection events calling the main callback: */
  1057.                                         /* eventData1 = panel for menu selections, */
  1058.                                         /* eventData2 = (int)(callbackData for menuItem) */
  1059. #define EVENT_VAL_CHANGED           2
  1060. #define EVENT_LEFT_CLICK            3   /* eventData1 = mouse vertical pos., */
  1061.                                         /* eventData2 = mouse horizontal pos. */
  1062. #define EVENT_LEFT_DOUBLE_CLICK     4   /* eventData1 = mouse vertical pos., */
  1063.                                         /* eventData2 = mouse horizontal pos. */
  1064. #define EVENT_RIGHT_CLICK           5   /* eventData1 = mouse vertical pos., */
  1065.                                         /* eventData2 = mouse horizontal pos. */
  1066. #define EVENT_RIGHT_DOUBLE_CLICK    6   /* eventData1 = mouse vertical pos., */
  1067.                                         /* eventData2 = mouse horizontal pos. */
  1068. #define EVENT_KEYPRESS              7   /* eventData1 = keypressed, */
  1069.                                         /* eventData2 = pointer to keypressed */
  1070. #define EVENT_GOT_FOCUS             8   /* eventData1 = old control with focus */
  1071. #define EVENT_LOST_FOCUS            9   /* eventData1 = new control with focus */
  1072. #define EVENT_IDLE                  10
  1073. #define EVENT_CLOSE                 11
  1074. #define EVENT_PANEL_SIZE            12
  1075. #define EVENT_PANEL_MOVE            13
  1076. #define EVENT_END_TASK              14  /* sent to the MainCallback function when the system wants to quit */
  1077.                                         /* return  0L to quit,  1L to abort the termination */
  1078. #define EVENT_TIMER_TICK            15  /* eventData1 = ptr to current time (*double) */
  1079.                                         /* eventData2 = ptr to time since the control last
  1080.                                                         received EVENT_TIMER_TICK (*double) */
  1081. #define EVENT_DISCARD               16  /* sent to panels and controls when they are discarded */
  1082.  
  1083. #ifdef WIN32
  1084.     #pragma pack(4)
  1085. #endif
  1086.  
  1087.     /*** color map used by intensity plots ***/
  1088. typedef struct
  1089. {
  1090.     union
  1091.     {
  1092.         char            valChar;
  1093.         int             valInt;
  1094.         short           valShort;
  1095.         float           valFloat;
  1096.         double          valDouble;
  1097.         unsigned char   valUChar;
  1098.         unsigned long   valULong;
  1099.         unsigned short  valUShort;
  1100.     } dataValue;
  1101.     int color;
  1102. } ColorMapEntry;
  1103.  
  1104.     /*** Rect and Point types used by Canvas Controls ***/
  1105. typedef struct 
  1106.     {
  1107.     int top;
  1108.     int left;
  1109.     int height;
  1110.     int width;
  1111.     } Rect;
  1112.  
  1113. typedef  struct
  1114.     {
  1115.     int x;
  1116.     int y;
  1117.     } Point;
  1118.  
  1119. #ifdef WIN32
  1120.     #pragma pack()
  1121. #endif
  1122.  
  1123.     /*** errors returned by User Interface Library functions: ***/
  1124. typedef enum
  1125. {
  1126.     UIENoError                                                  = 0,
  1127.     UIEManagerCouldNotOpen                                      = -1,
  1128.     UIESystemFontCouldNotBeLoaded                               = -2,
  1129.     UIEOperationInvalidDuringPopUp                              = -3,
  1130.     UIEHandleInvalid                                            = -4,
  1131.     UIEAttemptToMovePanelToInvalidLocation                      = -5,
  1132.     UIEAttemptedToMakeInoperableCtrlActive                      = -6,
  1133.     UIEOperationRequirePanelBeLoaded                            = -7,
  1134.     UIEOperationRequiresPopUpBeActive                           = -8,
  1135.     UIEOperationRequiresMenuBeLoaded                            = -9,
  1136.     UIEControlNotTypeExpectedByFunction                         = -10,
  1137.     UIEInvalidMenuItemId                                        = -11,
  1138.     UIEOutOfMemory                                              = -12,
  1139.     UIEInvalidControlId                                         = -13,
  1140.     UIEValueIsInvalidOrOutOfRange                               = -14,
  1141.     UIEFileIsNotUserInterfaceFileOrIsBad                        = -15,
  1142.     UIEFileFormatIsOutOfDate                                    = -16,
  1143.     UIEImageIsBadOrNotSupported                                 = -17,
  1144.     UIENoUserEventPossibleWithCurrentSetup                      = -18,
  1145.     UIEUnableToOpenFile                                         = -19,
  1146.     UIEErrorReadingFile                                         = -20,
  1147.     UIEErrorWritingFile                                         = -21,
  1148.     UIEErrorClosingFile                                         = -22,
  1149.     UIEPanelStateFileHasInvalidFormat                           = -23,
  1150.     UIEInvalidIDinResourceFile                                  = -24,
  1151.     UIEHardCopyError                                            = -25,
  1152.     UIEInvalidDefaultDirSelectedInFSPopup                       = -26,
  1153.     UIEOperationIsInvalidForSpecifiedObject                     = -27,
  1154.     UIECantFindMenuString                                       = -28,
  1155.     UIEPalleteItemsMustBeAddedAtEnd                             = -29,
  1156.     UIEMaxNumberOfMenusPerBarExceeded                           = -30,
  1157.     UIECantSetSeparatorCheckMark                                = -31,
  1158.     UIESeparatorCantHaveSubMenu                                 = -32,
  1159.     UIEItemMustBeASeparator                                     = -33,
  1160.     UIEItemCantBeASeparator                                     = -34,
  1161.     UIEItemAlreadyHasSubMenu                                    = -35,
  1162.     UIEItemDoesNotHaveASubMenu                                  = -36,
  1163.     UIECtrlIdIsNotAMenuOrMenuItemIdOrNull                       = -37,
  1164.     UIECtrlIdIsNotAMenuOrMenuItemId                             = -38,
  1165.     UIENotASubMenuId                                            = -39,
  1166.     UIEInvalidMenuId                                            = -40,
  1167.     UIENotAMenuBarHandle                                        = -41,
  1168.     UIENotAPanelHandle                                          = -42,
  1169.     UIEOperationInvalidWhileThisPopupIsActive                   = -43,
  1170.     UIEAttributeNotAppropriateForSpecifiedControlOrPanelOrMenu  = -44,
  1171.     UIEInvalidControlType                                       = -45,
  1172.     UIEInvalidAttribute                                         = -46,
  1173.     UIESlideMustHaveFillAboveOrBelow                            = -47,
  1174.     UIEScaleMustHaveFillAboveOrBelow                            = -48,
  1175.     UIESlideMustBeLinear                                        = -49,
  1176.     UIEScaleMustBeLinear                                        = -50,
  1177.     UIESlideDoesntHaveIncDecArrows                              = -51,
  1178.     UIEScaleDoesntHaveIncDecArrows                              = -52,
  1179.     UIEInvalidDataType                                          = -53,
  1180.     UIEInvalidAttrForDataType                                   = -54,
  1181.     UIEIndexOutOfRange                                          = -55,
  1182.     UIENoItemsInList                                            = -56,
  1183.     UIEBufTooSmall                                              = -57,
  1184.     UIECtrlDoesNotHaveAValue                                    = -58,
  1185.     UIEValueNotInListCtrl                                       = -59,
  1186.     UIENotListCtrl                                              = -60,
  1187.     UIENotListCtrlOrBinary                                      = -61,
  1188.     UIENotStringDataType                                        = -62,
  1189.     UIEAttributeNotSettable                                     = -63,
  1190.     UIEInvalidCtrlMode                                          = -64,
  1191.     UIENullPointerPassed                                        = -65,
  1192.     UIECantSetGetTextBGColorOfMenuRing                          = -66,
  1193.     UIERingMustBeMenuStyle                                      = -67,
  1194.     UIECantColorTextTransparent                                 = -68,
  1195.     UIEInvalidValueInListControl                                = -69,
  1196.     UIEInvalidTabbingOrderPosition                              = -70,
  1197.     UIECantSetTabOrderOfAnIndicator                             = -71,
  1198.     UIENotAValidNumber                                          = -72,
  1199.     UIEPanelDoesntHaveAMenuBar                                  = -73,
  1200.     UIENotTextBox                                               = -74,
  1201.     UIEInvalidChartStyle                                        = -75,
  1202.     UIEInvalidImageType                                         = -76,
  1203.     UIENotATopLevelPanelAttribute                               = -77,
  1204.     UIEListCtrlNotInCheckMode                                   = -78,
  1205.     UIEPanelDataDoesNotFitIntoPanel                             = -79,
  1206.     UIEAxisRangeError                                           = -80,
  1207.     UIENonExistantCursor                                        = -81,
  1208.     UIENotAValidPlot                                            = -82,
  1209.     UIEOutsidePlotArea                                          = -83,
  1210.     UIEStringTooLarge                                           = -84,
  1211.     UIECallbackFuncIsWrongType                                  = -85,
  1212.     UIECantFindCallbackFunc                                     = -86,
  1213.     UIEZeroCursors                                              = -87,
  1214.     UIEInvalidChartScaling                                      = -88,
  1215.     UIEFontNotInFontTable                                       = -89,
  1216.     UIEBadAttributeValue                                        = -90,
  1217.     UIETooManyFilesOpen                                         = -91,
  1218.     UIEfEOF                                                     = -92,
  1219.     UIEIOError                                                  = -93,
  1220.     UIEFileWasNotFound                                          = -94,
  1221.     UIEAccessDenied                                             = -95,
  1222.     UIEFileAccessNotEnabled                                     = -96,
  1223.     UIEDiskFull                                                 = -97,
  1224.     UIEFileAlreadyExists                                        = -98,
  1225.     UIEFileAlreadyOpen                                          = -99,
  1226.     UIEBadPathnameMsg                                           = -100,
  1227.     UIEResourceNotFound                                         = -101,
  1228.     UIEOldUnsupportedUIResourceFormat                           = -102,
  1229.     UIEFileIsCorrupted                                          = -103,
  1230.     UIEOperationFailed                                          = -104,
  1231.     UIESlideMustBeRound                                         = -105,
  1232.     UIEScaleMustBeRound                                         = -106,
  1233.     UIECountOutOfRange                                          = -107,
  1234.     UIENotAValidKeycode                                         = -108,
  1235.     UIESlideDoesntHaveFrame                                     = -109,
  1236.     UIECantColorPanelBGTransparent                              = -110,
  1237.     UIECantColorTitleBGTransparent                              = -111,
  1238.     UIEMemPrintError                                            = -112,
  1239.     UIEReservedHotKey                                           = -113,
  1240.     UIEFileFormatIsTooNew                                       = -114,
  1241.     UIESystemPrintError                                         = -115,
  1242.     UIEDriverPrintError                                         = -116,
  1243.     UIEDefCallBackQueueFull                                     = -117,
  1244.     UIEInvalidMouseCursor                                       = -118,
  1245.     UIEPrintReentranceError                                     = -119,
  1246.     UIEOutOfGDISpace                                            = -120,
  1247.     UIEHiddenPanelError                                         = -121,
  1248.     UIEHiddenCtrlError                                          = -122,
  1249.     UIEInvalidAttrForPlot                                       = -123,
  1250.     UIECantColorPlotTransparent                                 = -124,
  1251.     UIEInvalidColor                                             = -125,
  1252.     UIECallbackNameIsAmbiguous                                  = -126,
  1253.     UIEInvalidBitmap                                            = -127,
  1254.     UIENoImagePresent                                           = -128
  1255. } UIError;
  1256.  
  1257.  
  1258.     /* */
  1259.     /* User Interface Library Functions */
  1260.     /* */
  1261.  
  1262.     /*** for panels: ***/
  1263. int CVIFUNC LoadPanel(int parentPanel, const char *fileName, int panelResourceId);   /* returns a panel */
  1264. int CVIFUNC LoadPanelEx(int parentPanel, const char *fileName, int panelResourceId, 
  1265.                         void *hInstance);         /* returns a panel */
  1266. int CVIFUNC NewPanel(int parentPanel, const char *panelTitle, int top, int left,
  1267.                      int height, int width);      /* returns a panel */
  1268. int CVIFUNC DuplicatePanel(int destinationParentPanel, int panel, const char *dupName,
  1269.                            int top, int left);    /* returns a panel */
  1270. int CVIFUNC DiscardPanel(int panel);
  1271. int CVIFUNC DisplayPanel(int panel);
  1272. int CVIFUNC HidePanel(int panel);
  1273. int CVIFUNC GetActivePanel(void);                 /* returns a panel */
  1274. int CVIFUNC SetActivePanel(int panel);
  1275. int CVIFUNC ValidatePanel(int panel, int *valid);
  1276. int CVIFUNC DefaultPanel(int panel);
  1277. int CVIFUNC SavePanelState(int panel, const char *fileName, int index);
  1278. int CVIFUNC RecallPanelState(int panel, const char *fileName, int index);
  1279. int CVIFUNC SetPanelPos(int panel, int top, int left);
  1280.  
  1281.     /*** for controls: ***/
  1282. int CVIFUNC NewCtrl(int panel, int style, const char *ctrlLabel, int top, int left); /* returns a ctrl */
  1283. int CVIFUNC DuplicateCtrl(int sourcePanel, int control, int destinationPanel,
  1284.                           const char *labelOfDuplicate, int top, int left);  /* returns ctrl */
  1285. int CVIFUNC DiscardCtrl(int panel, int control);
  1286. int CVIFUNC SetActiveCtrl(int panel, int control);
  1287. int CVIFUNC GetActiveCtrl(int panel);     /* returns ctrl */
  1288. int CVIFUNC GetCtrlBoundingRect(int panel, int control, int *top, int *left,
  1289.                                 int *height, int *width);
  1290. int CVIFUNC_C SetCtrlVal(int panel, int control, ...);
  1291. int CVIFUNC GetCtrlVal(int panel, int control, void *value );
  1292. int CVIFUNC DefaultCtrl(int panel, int control);
  1293.  
  1294.     /*** for list controls: (list controls are rings and list boxes) ***/
  1295. int CVIFUNC_C ReplaceListItem(int panel,  int  control, int index, const char *itemLabel, ...);
  1296. int CVIFUNC_C InsertListItem(int panel, int control,  int  index, const char *itemLabel, ...);
  1297. int CVIFUNC DeleteListItem(int panel, int control, int index, int count);
  1298. int CVIFUNC GetValueFromIndex(int panel, int control, int index, void *itemValue);
  1299. int CVIFUNC GetValueLengthFromIndex(int panel, int control, int index, int *length);
  1300. int CVIFUNC_C GetIndexFromValue(int panel, int control,  int  *index, ...);
  1301. int CVIFUNC GetCtrlIndex(int panel, int control, int *index);
  1302. int CVIFUNC SetCtrlIndex(int panel, int control, int index);
  1303. int CVIFUNC ClearListCtrl(int panel, int control);
  1304. int CVIFUNC GetNumListItems(int panel, int control, int *count);
  1305. int CVIFUNC GetLabelFromIndex(int panel, int control, int index, char *itemLabel);
  1306. int CVIFUNC GetLabelLengthFromIndex(int panel, int control, int index, int *length);
  1307.  
  1308.     /*** for list boxes: ***/
  1309. int CVIFUNC SetListItemImage(int panel, int control, int index, int image);
  1310. int CVIFUNC GetListItemImage(int panel, int control, int index, int *image);
  1311. int CVIFUNC IsListItemChecked(int panel, int control, int index, int *checked);
  1312. int CVIFUNC CheckListItem(int panel, int control, int index, int check);
  1313. int CVIFUNC GetNumCheckedItems(int panel, int control, int *numItems);
  1314.  
  1315.     /*** for text boxes: ***/
  1316. int CVIFUNC InsertTextBoxLine(int panel, int control, int index, const char *text);
  1317. int CVIFUNC ReplaceTextBoxLine(int panel, int control, int index, const char *text);
  1318. int CVIFUNC DeleteTextBoxLine(int panel, int control, int index);
  1319. int CVIFUNC GetNumTextBoxLines(int panel, int control, int *count);
  1320. int CVIFUNC ResetTextBox(int panel, int control, const char *text);
  1321. int CVIFUNC GetTextBoxLineLength(int panel, int control, int line, int *length);
  1322. int CVIFUNC GetTextBoxLine(int panel, int control, int line, char *destBuffer);
  1323.  
  1324.     /*** attribute functions: ***/
  1325. int CVIFUNC_C SetCtrlAttribute(int panel, int control, int attribute, ...);
  1326. int CVIFUNC_C SetMenuBarAttribute(int menuBar, int control, int attribute, ...);
  1327. int CVIFUNC_C SetPanelAttribute(int panel, int attribute, ...);
  1328. int CVIFUNC SetPrintAttribute(int attribute, int value);
  1329. int CVIFUNC_C SetSystemPopupsAttribute(int attribute, ...);   
  1330. int CVIFUNC_C SetSystemAttribute(int attribute, ...);   
  1331. int CVIFUNC GetCtrlAttribute(int panel, int control, int attribute, void *value);
  1332. int CVIFUNC GetMenuBarAttribute(int menuBar, int control, int attribute, void *value);
  1333. int CVIFUNC GetPanelAttribute(int panel, int attribute, void *value);
  1334. int CVIFUNC GetPrintAttribute(int attribute, int *value);
  1335. int CVIFUNC GetSystemPopupsAttribute(int attribute, void *value);
  1336. int CVIFUNC GetSystemAttribute(int attribute, void *value);
  1337.  
  1338.     /*** for strip charts: ***/
  1339. int CVIFUNC SetTraceAttribute(int panel, int control, int traceNum,
  1340.                               int attribute, int value);
  1341. int CVIFUNC GetTraceAttribute(int panel, int control, int traceNum,
  1342.                               int attribute, int *value);
  1343.  
  1344.     /*** for graphs: ***/
  1345. int CVIFUNC_C SetPlotAttribute(int panel, int control, int plotNum, int attribute,
  1346.                                ...);
  1347. int CVIFUNC GetPlotAttribute(int panel, int control, int plotNum, int attribute,
  1348.                              void *value);
  1349. int CVIFUNC SetCursorAttribute(int panel, int control, int cursorNum,
  1350.                                int attribute, int value);
  1351. int CVIFUNC GetCursorAttribute(int panel, int control, int cursorNum,
  1352.                                int attribute, int *value);
  1353.  
  1354.     /*** printer functions: ***/
  1355. int CVIFUNC PrintPanel(int panel, const char *fileName, int fullSize, int scope,
  1356.                        int dialog);
  1357. int CVIFUNC PrintCtrl(int panel, int control, const char *fileName, int fullSize,
  1358.                       int dialog);
  1359. int CVIFUNC PrintTextFile (const char *fileName, const char *fileDest);
  1360. int CVIFUNC PrintTextBuffer (const char *buffer, const char *fileDest);
  1361.  
  1362.     /*** callback function pointer prototypes: ***/
  1363. typedef  int (CVICALLBACK * PanelCallbackPtr)(int panel, int event, void *callbackData,
  1364.                                               int eventData1, int eventData2);
  1365. typedef  int (CVICALLBACK * CtrlCallbackPtr)(int panel, int control, int event,
  1366.                                              void *callbackData, int eventData1, int eventData2);
  1367. typedef void (CVICALLBACK * MenuCallbackPtr)(int menubar, int menuItem, void *callbackData,
  1368.                                              int panel);
  1369. typedef void (CVICALLBACK * MenuDimmerCallbackPtr)(int menuBar, int panel);
  1370. typedef  int (CVICALLBACK * MainCallbackPtr)(int panelOrMenuBar, int controlOrMenuItem,
  1371.                                              int event, void *callbackData, int eventData1, int eventData2);
  1372. typedef void (CVICALLBACK * DeferredCallbackPtr)(void *callbackData);
  1373.  
  1374. #if defined(_NI_mswin16_)
  1375.  typedef unsigned short WinMsgWParam;
  1376.  typedef unsigned long  WinMsgLParam;
  1377. #else
  1378.  typedef unsigned       WinMsgWParam;
  1379.  typedef unsigned long  WinMsgLParam;
  1380. #endif
  1381. typedef void (CVICALLBACK * WinMsgCallbackPtr)(WinMsgWParam wParam, WinMsgLParam lParam, void *callbackData);
  1382.  
  1383.     /*** for installing callback functions: ***/
  1384. int CVIFUNC InstallMainCallback(MainCallbackPtr eventFunction, void *callbackData,
  1385.                                 int getIdleEvents);
  1386. int CVIFUNC InstallCtrlCallback(int panel, int control, CtrlCallbackPtr eventFunction,
  1387.                                 void *callbackData);
  1388. int CVIFUNC InstallPanelCallback(int panel, PanelCallbackPtr eventFunction,
  1389.                                  void *callbackData);
  1390. int CVIFUNC InstallMenuCallback(int menuBar, int menuOrMenuItem,
  1391.                                 MenuCallbackPtr eventFunction, void *callbackData);
  1392. int CVIFUNC InstallMenuDimmerCallback(int menuBar, MenuDimmerCallbackPtr dimmerFunction);
  1393. int CVIFUNC PostDeferredCall(DeferredCallbackPtr funcPtr, void *callbackData);  /* may be called asynchronously */
  1394.  
  1395.  
  1396. #if defined(_NI_mswin16_) || defined(_NI_mswin32_)
  1397. int CVIFUNC RegisterWinMsgCallback(WinMsgCallbackPtr callbackFunc, const char *messageIdentifier,
  1398.                                    void *callbackData, int dataSize, int *callbackId,
  1399.                                    int deleteWhenUserProgramStops);
  1400. int CVIFUNC UnRegisterWinMsgCallback(int callbackId);
  1401. int CVIFUNC GetCVIWindowHandle(void);
  1402. #endif
  1403. #if defined(_NI_mswin16_) 
  1404. int CVIFUNC GetCVITaskHandle(void);
  1405. #endif
  1406.  
  1407.     /*** for user interface management: ***/
  1408. int CVIFUNC RunUserInterface(void);
  1409. int CVIFUNC QuitUserInterface(int returnCode);
  1410. int CVIFUNC ProcessSystemEvents(void);
  1411. int CVIFUNC ProcessDrawEvents(void);
  1412. int CVIFUNC QueueUserEvent(int eventNumber, int panel, int control);
  1413.  
  1414. int CVIFUNC GetUserEvent(int wait, int *panel, int *control);     /* returns an event */
  1415. int CVIFUNC SetInputMode(int handle, int control, int mode);
  1416. int CVIFUNC SetIdleEventRate(int minIntervalInMillisecs);
  1417. int CVIFUNC SetSleepPolicy(int sleepPolicy);
  1418. int CVIFUNC GetSleepPolicy(void);
  1419.  
  1420.     /*** for timer controls ***/
  1421. int CVIFUNC ResetTimer(int panel, int control);
  1422. int CVIFUNC ResumeTimerCallbacks(void);
  1423. int CVIFUNC SuspendTimerCallbacks(void);
  1424.  
  1425.     /*** for menu bars: ***/
  1426. int CVIFUNC LoadMenuBar(int panel, const char *fileName, int menuBarResourceId); /* returns a menu bar */
  1427. int CVIFUNC LoadMenuBarEx(int panel, const char *fileName, int menuBarResourceId, 
  1428.                           void *hInstance); /* returns a menu bar */
  1429. int CVIFUNC SetPanelMenuBar(int panel,int menuBar);
  1430. int CVIFUNC GetPanelMenuBar(int panel);
  1431. int CVIFUNC NewMenuBar(int panel);                              /* returns a menu bar */
  1432. int CVIFUNC DiscardMenuBar(int menuBar);
  1433. int CVIFUNC EmptyMenuBar(int menuBar);
  1434. int CVIFUNC GetSharedMenuBarEventPanel(void);                           /* returns a panel */
  1435.  
  1436.     /*** for menus: ***/
  1437. int CVIFUNC NewMenu(int menuBar, const char *menuTitle, int beforeMenu); /* returns a menu */
  1438. int CVIFUNC DiscardMenu(int menuBar, int menu);
  1439. int CVIFUNC EmptyMenu(int menuBar, int menu);
  1440. int CVIFUNC NewSubMenu(int menuBar, int menuItem);                 /* returns a menu  */
  1441. int CVIFUNC DiscardSubMenu(int menuBar, int subMenu);
  1442. int CVIFUNC RunPopupMenu(int menuBar, int menu, int panel, int top, int left,
  1443.                          int pinTop, int pinLeft, int pinHeight, int pinWidth);
  1444.  
  1445.     /*** for menu items: ***/
  1446. int CVIFUNC NewMenuItem(int menuBar, int menu, const char *itemString, int beforeMenuItem,
  1447.                         int shortCutKey, MenuCallbackPtr eventFunction, void *callbackData);        /* returns a menu item */
  1448. int CVIFUNC DiscardMenuItem(int menuBar, int menuItem);
  1449. int CVIFUNC InsertSeparator(int menuBar, int menu, int beforeMenuItem);    /* menu item */
  1450.  
  1451.     /*** for graph plots: ***/
  1452. int CVIFUNC PlotX(int panel, int control, void *xArray, int numPoints,
  1453.                   int xDType, int plotStyle, int pointStyle, int lineStyle,
  1454.                   int pointFreq, int color);
  1455. int CVIFUNC PlotY(int panel, int control, void *yArray, int numPoints,
  1456.                   int yDType, int plotStyle, int pointStyle, int lineStyle,
  1457.                   int pointFreq, int color);
  1458. int CVIFUNC PlotXY(int panel, int control, void *xArray, void *yArray,
  1459.                    int numPoints, int xDType, int yDType, int plotStyle,
  1460.                    int pointStyle, int lineStyle, int pointFreq, int color);
  1461. int CVIFUNC PlotWaveform(int panel, int control, void *wfmArray,
  1462.                          int numPoints, int wfmDType, double yGain, double yOffset,
  1463.                          double xInit, double xInc, int plotStyle, int pointStyle,
  1464.                          int lineStyle, int pointFreq, int color);
  1465. int CVIFUNC PlotPoint(int panel, int control, double x, double y, int pointStyle,
  1466.                       int color);
  1467. int CVIFUNC PlotText(int panel, int control, double x, double y, const char *theText,
  1468.                      const char *fontName, int fgColor, int bgColor);
  1469. int CVIFUNC PlotLine(int panel, int control, double x1, double y1, double x2,
  1470.                      double y2, int color);
  1471. int CVIFUNC PlotRectangle(int panel, int control, double x1, double y1, double x2,
  1472.                           double y2, int frameColor, int fillColor);
  1473. int CVIFUNC PlotPolygon(int panel, int control,  void *xArray,  void *yArray,
  1474.                         int numPoints, int xDType, int yDType, int frameColor,
  1475.                         int fillColor);
  1476. int CVIFUNC PlotOval(int panel, int control, double x1, double y1, double x2,
  1477.                      double y2, int frameColor, int fillColor);
  1478. int CVIFUNC PlotArc(int panel, int control, double x1, double y1, double x2,
  1479.                     double y2, int begAngle, int arcAngle, int frameColor,
  1480.                     int fillColor);
  1481. int CVIFUNC PlotIntensity(int panel, int control,  void *zArray, int numXPoints,
  1482.                           int numYPoints, int zDType, ColorMapEntry colors[], int hiColor,
  1483.                           int numColors, int interpColors, int interpPixels);
  1484. int CVIFUNC PlotScaledIntensity(int panel, int control,  void *zArray,
  1485.                                 int numXPoints, int numYPoints, int zDType, double yGain,
  1486.                                 double yOffset, double xGain, double xOffset,
  1487.                                 ColorMapEntry colors[], int hiColor, int numColors,
  1488.                                 int interpColors, int interpPixels);
  1489. int CVIFUNC PlotBitmap(int panel, int control, double x, double y,
  1490.                        double width, double height, const char *fileName);
  1491. int CVIFUNC PlotStripChart(int panel, int control, void *yArray,
  1492.                            int numPoints, int start, int skip, int yDType);
  1493. int CVIFUNC PlotStripChartPoint(int panel, int control, double y);
  1494. int CVIFUNC DeleteGraphPlot(int panel, int control, int plot, int timing);
  1495. int CVIFUNC ClearStripChart(int panel, int control);
  1496. int CVIFUNC RefreshGraph(int panel, int control);
  1497.  
  1498.     /*** for graph scales: ***/
  1499. int CVIFUNC SetAxisScalingMode(int panel, int control, int axis,
  1500.                                int mode, double min, double max);
  1501. int CVIFUNC GetAxisScalingMode(int panel, int control, int axis,
  1502.                                int *mode, double *min, double *max);
  1503. int CVIFUNC ReplaceAxisItem(int panel, int control, int axis, int index,
  1504.                             const char *itemLabel, double itemValue);
  1505. int CVIFUNC InsertAxisItem(int panel, int control, int axis, int index,
  1506.                            const char *itemLabel, double itemValue);
  1507. int CVIFUNC DeleteAxisItem(int panel, int control, int axis, int index,
  1508.                            int count);
  1509. int CVIFUNC ClearAxisItems(int panel, int control, int axis);
  1510. int CVIFUNC GetNumAxisItems(int panel, int control, int axis, int *count);
  1511. int CVIFUNC GetAxisItem(int panel, int control, int axis, int index,
  1512.                         char *itemLabel, double *itemValue);
  1513. int CVIFUNC GetAxisItemLabelLength(int panel, int control, int axis,
  1514.                                    int index, int *length);
  1515. int CVIFUNC SetAxisRange(int panel, int control, int x_mode, double x_min,
  1516.                          double x_max, int y_mode, double y_min, double y_max);
  1517. int CVIFUNC GetAxisRange(int panel, int control, int *x_mode, double *x_min,
  1518.                          double *x_max, int *y_mode, double *y_min, double *y_max);
  1519.  
  1520.     /*** for graph cursors: ***/
  1521. int CVIFUNC GetGraphCursor(int panel, int control, int cursorNum, double *x,
  1522.                            double *y);
  1523. int CVIFUNC SetGraphCursor (int panel, int control, int cursorNum, double x,
  1524.                             double y);
  1525. int CVIFUNC GetActiveGraphCursor(int panel, int control, int *cursorNum);
  1526. int CVIFUNC SetActiveGraphCursor(int panel, int control, int cursorNum);
  1527. int CVIFUNC GetGraphCursorIndex(int panel, int control, int cursorNum,
  1528.                                 int *plot, int *index);
  1529. int CVIFUNC SetGraphCursorIndex(int panel, int control, int cursorNum,
  1530.                                 int plot, int index);
  1531.  
  1532.     /*** for pictures: ***/
  1533. int CVIFUNC DisplayImageFile(int panel, int control, const char *fileName);
  1534. int CVIFUNC DeleteImage(int panel, int control);
  1535. int CVIFUNC SetImageBits(int panel, int control, int imageId, int rowBytes,
  1536.                          int depth, int width, int height, int colors[],
  1537.                          unsigned char *bits,  unsigned char *mask);
  1538. int CVIFUNC GetImageBits(int panel, int control, int imageId, int *rowBytes,
  1539.                          int *depth, int *width, int *height, int *colors,
  1540.                          unsigned char *bits,  unsigned char *mask);
  1541. int CVIFUNC GetImageInfo(int panel, int control, int imageId, int *colorSize,
  1542.                          int *bitsSize, int *maskSize);
  1543. int CVIFUNC AllocImageBits(int panel, int control, int imageId, int **colors,
  1544.                            unsigned char **bits,  unsigned char **mask);
  1545.  
  1546.     /*** popup functions: ***/
  1547. int CVIFUNC FileSelectPopup(const char defaultDir[], const char defaultSpec[], const char fileTypeList[],
  1548.                             const char title[], int buttonLabel, int restrictDir, int restrictExt,
  1549.                             int allowCancel, int allowMakeDir, char fileSpec[]);
  1550. int CVIFUNC MultiFileSelectPopup(const char defaultDir[], const char defaultSpec[], const char fileTypeList[],
  1551.                              const char title[], int restrictDir, int restrictExt,
  1552.                               int allowCancel, int *numSelected, char ***fileSpecList);
  1553. int CVIFUNC DirSelectPopup (const char defaultDir[], const char title[], int allowCancel,
  1554.                             int allowMakeDir, char dirChosen[]);
  1555. int CVIFUNC InstallPopup(int popupHandle);
  1556. int CVIFUNC RemovePopup(int removeAll);
  1557. int CVIFUNC MessagePopup(const char *popupTitle, const char *messageString);
  1558. int CVIFUNC ConfirmPopup(const char *popupTitle, const char *messageString);
  1559. int CVIFUNC PromptPopup(const char *popupTitle, const char *messageString, char *responseBuffer, int maxResponseLength);
  1560. int CVIFUNC GenericMessagePopup(const char *popupTitle, const char *messageString, const char *btn1Label, const char *btn2Label,
  1561.                                 const char *btn3Label, char *responseBuffer, int maxResponseLength,
  1562.                                 int putBtnsOnSide, int activeCtrl, int defaultBtn, int cancelBtn);
  1563. int CVIFUNC YGraphPopup(const char *popupTitle, void *yArray, int numPoints, int yDType);
  1564. int CVIFUNC XGraphPopup(const char *popupTitle, void *xArray, int numPoints, int xDType);
  1565. int CVIFUNC XYGraphPopup(const char *popupTitle, void *xArray, void *yArray, int numPoints, int xDType,
  1566.                         int yDType);
  1567. int CVIFUNC WaveformGraphPopup(const char *popupTitle, void *wFmArray, int numPoints, int wFmDType,
  1568.                                double yGain, double yOffset, double xInit, double xInc);
  1569. int CVIFUNC FontSelectPopup(const char *popupTitle, const char *sampleString, int monoSpacedOnly, char *typeFace,int *bold,
  1570.                             int *underline, int *strikeOut, int *italic, int *justification, int *textColor,
  1571.                             int *fontSize, int minFontSize, int maxFontSize, int allowDefaultBtn, int allowMetaFonts);
  1572. int CVIFUNC SetFontPopupDefaults(const char *typeFace, int bold, int underline, int strikeOut, int italic,
  1573.                                  int justification, int textColor, int fontSize);
  1574.  
  1575.  
  1576.     /*** clipboard functions: ***/
  1577. int CVIFUNC ClipboardPutBitmap(int bitmap);
  1578. int CVIFUNC ClipboardGetBitmap(int *bitmap, int *available);
  1579. int CVIFUNC ClipboardPutText(char *text);
  1580. int CVIFUNC ClipboardGetText(char **text, int *available);
  1581.  
  1582.     /*** miscellaneous functions: ***/
  1583. int CVIFUNC MakeColor(int red, int green, int blue);            /* returns a rgb value */
  1584. int CVIFUNC Get3dBorderColors(int color, int *highlightColor, int *lightColor, int *shadowColor, int *darkShadowColor);
  1585. int CVIFUNC SetWaitCursor(int wait);
  1586. int CVIFUNC GetWaitCursorState(void);                           /* returns a boolean */
  1587. int CVIFUNC SetMouseCursor(int cursor);
  1588. int CVIFUNC GetMouseCursor(int *cursor);
  1589. int CVIFUNC GetGlobalMouseState(int *panel, int *x, int *y, int *leftButtonDown,
  1590.                                 int *rightButtonDown, int *keyModifiers);
  1591. int CVIFUNC GetRelativeMouseState(int panel, int control, int *x, int *y,
  1592.                                   int *leftButtonDown, int *rightButtonDown, int *keyModifiers);
  1593. int CVIFUNC GetScreenSize(int *height, int *width);
  1594. int CVIFUNC FakeKeystroke(int fakedKey);
  1595. int CVIFUNC CreateMetaFont(const char *name, const char *fontName, int size, int bold,
  1596.                            int italic, int underline, int strikeout);
  1597. int CVIFUNC GetTextDisplaySize(const char *ptr, const char *fontString, int *height, int *width);
  1598. char * CVIFUNC GetUILErrorString(int errorCode);
  1599.  
  1600.  
  1601.     /*** functions provided for LW DOS compatibility: ***/
  1602. int CVIFUNC DisplayPCXFile(const char *fileName, int x, int y);
  1603. int CVIFUNC ConfigurePrinter(const char *printFile, int orientation, int width,
  1604.                              int height, int ejectPage);
  1605. int CVIFUNC DOSColorToRGB (int color);
  1606. int CVIFUNC DOSCompatWindow(void);
  1607.  
  1608.     /*************************************/
  1609.     /*** functions for Canvas Controls ***/
  1610.     /*************************************/
  1611.  
  1612.     /** Drawing functions for use with the canvas control **/
  1613. int     CVIFUNC CanvasStartBatchDraw(int panel, int control);
  1614. int     CVIFUNC CanvasEndBatchDraw(int panel, int control);
  1615.  
  1616. int     CVIFUNC CanvasDrawPoint(int panel, int control, Point p);
  1617. int     CVIFUNC CanvasDrawLine(int panel, int control, Point start, Point end);
  1618. int     CVIFUNC CanvasDrawLineTo(int panel, int control, Point end);
  1619. int     CVIFUNC CanvasDrawRect(int panel, int control, Rect r, int drawMode);
  1620. int     CVIFUNC CanvasDimRect(int panel, int control, Rect r);
  1621. int     CVIFUNC CanvasDrawRoundedRect (int panel, int control, Rect r, int ovalHeight, int ovalWidth, int drawMode);
  1622. int     CVIFUNC CanvasDrawOval(int panel, int control, Rect r, int drawMode);
  1623. int     CVIFUNC CanvasDrawArc(int panel, int control, Rect r, int begAngle, int arcAngle, int drawMode);
  1624. int     CVIFUNC CanvasDrawPoly(int panel, int control, int numPts, const Point points[], int wrap, int drawMode);
  1625. int     CVIFUNC CanvasDrawText(int panel, int control, const char text[], const char metaFont[], Rect bounds, int alignment);
  1626. int     CVIFUNC CanvasDrawTextAtPoint(int panel, int control, const char text[], const char metaFont[], Point anchor, int alignment);
  1627. int     CVIFUNC CanvasDrawBitmap(int panel, int control, int bitmap, Rect source, Rect destination);    
  1628. int     CVIFUNC CanvasScroll(int panel, int control, Rect r, int dx, int dy);
  1629. int     CVIFUNC CanvasInvertRect(int panel, int control, Rect r);
  1630. int     CVIFUNC CanvasClear(int panel, int canvas, Rect r);
  1631.  
  1632.     /** Pen functions for use with the canvas control **/
  1633. int     CVIFUNC CanvasGetPenPosition(int panel, int control, Point *penPosition);
  1634. int     CVIFUNC CanvasSetPenPosition(int panel, int control, Point penPosition);
  1635. int     CVIFUNC CanvasDefaultPen(int panel, int control);
  1636.  
  1637.     /** Update functions for use with the canvas control **/
  1638. int     CVIFUNC CanvasUpdate(int panel, int control, Rect updateArea);
  1639.  
  1640.     /** Clipping functions for use with the canvas control **/
  1641. int     CVIFUNC CanvasSetClipRect(int panel, int control, Rect clipRect);
  1642. int     CVIFUNC CanvasGetClipRect(int panel, int control, Rect *clipRect);
  1643.  
  1644.     /** Bitmap functions **/                                                            
  1645. int     CVIFUNC NewBitmap(int rowBytes, int depth, int width, int height, int colors[],
  1646.                           unsigned char bits[], unsigned char mask[], int *bitmap);
  1647. int     CVIFUNC GetBitmapFromFile(const char fileName[], int *bitmap);
  1648. int     CVIFUNC GetCtrlBitmap(int panel, int control, int imageId, int *bitmap);
  1649. int     CVIFUNC DiscardBitmap(int bitmap);
  1650. int     CVIFUNC GetCtrlDisplayBitmap(int panel, int ctrl, int includeLabel, int *bitmap);
  1651. int     CVIFUNC GetPanelDisplayBitmap(int panel, int scope, Rect area, int *bitmap);
  1652. int     CVIFUNC SetCtrlBitmap(int panel, int control, int imageId, int bitmap);
  1653. int     CVIFUNC GetBitmapData(int bitmap, int *rowBytes, int *depth, int *width,
  1654.                               int *height, int *colors, unsigned char *bits, unsigned char *mask);
  1655. int     CVIFUNC GetBitmapInfo(int bitmap, int *colorSize, int *bitsSize,
  1656.                               int *maskSize);
  1657. int     CVIFUNC AllocBitmapData(int bitmap, int **colors, unsigned char **bits,
  1658.                                 unsigned char **mask);
  1659.  
  1660.     /** Pixel value functions for use with the canvas control ***/  
  1661. int     CVIFUNC CanvasGetPixel(int panel, int control, Point p, int *pixel);
  1662. int     CVIFUNC CanvasGetPixels(int panel, int control, Rect r, int pixels[]);
  1663.     
  1664.     /*** Rectangle and Point functions ***/
  1665.  
  1666.         /*** Creating and modifying Rectangles and Points ***/
  1667. Rect    CVIFUNC MakeRect(int top, int left, int height, int width);
  1668. void    CVIFUNC RectSet(Rect *r, int top, int left, int height, int width);
  1669. void    CVIFUNC RectSetFromPoints(Rect *r, Point p1, Point p2); 
  1670. void    CVIFUNC RectSetBottom(Rect *r, int bottom);
  1671. void    CVIFUNC RectSetRight(Rect *r, int right); 
  1672. void    CVIFUNC RectSetCenter(Rect *r, Point centerPoint);
  1673. void    CVIFUNC RectOffset(Rect *r, int dx, int dy);
  1674. void    CVIFUNC RectMove(Rect *r, Point p);
  1675. void    CVIFUNC RectGrow(Rect *r, int dx, int dy);
  1676. Point   CVIFUNC MakePoint(int x, int y);
  1677. void    CVIFUNC PointSet(Point *p, int x, int y);
  1678.  
  1679.         /*** Retrieving and comparing Rect and Point values ***/
  1680. int     CVIFUNC RectBottom(Rect r);
  1681. int     CVIFUNC RectRight(Rect r);
  1682. void    CVIFUNC RectCenter(Rect r, Point *centerPoint);
  1683. int     CVIFUNC RectEqual(Rect r1, Rect r2);
  1684. int     CVIFUNC RectEmpty(Rect r);
  1685. int     CVIFUNC RectContainsPoint(Rect r, Point p);
  1686. int     CVIFUNC RectContainsRect(Rect container, Rect containee);
  1687. int     CVIFUNC RectSameSize(Rect r1, Rect r2);
  1688. void    CVIFUNC RectUnion(Rect r1, Rect r2, Rect *unionRect);
  1689. int     CVIFUNC RectIntersection(Rect r1, Rect r2, Rect *intersectionRect); 
  1690. int     CVIFUNC PointEqual(Point p1, Point p2);
  1691. void    CVIFUNC PointPinnedToRect(Point p, Rect r, Point *pinnedPoint);
  1692.  
  1693.  
  1694. extern void *__CVIUserHInst;
  1695.  
  1696.  
  1697. #ifdef __cplusplus
  1698.     }
  1699. #endif
  1700.  
  1701. #endif  /* USERINT_HEADER */
  1702.  
  1703. /******************************************************************************/
  1704.