home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / psion / opp16f_zip / INCLUDE / SDK / WLIB.OPH < prev    next >
Encoding:
Text File  |  1995-12-21  |  14.5 KB  |  603 lines

  1. #define WLIB_OPH
  2.  
  3. #ifndef P_GRAF_OPH
  4. #include <p\graf>
  5. #endif
  6.  
  7. #ifndef WSKEYS_OPH
  8. #include <sdk\wskeys>
  9. #endif
  10.  
  11. #ifndef P_OBJECT_OPH
  12. #include <p\object>
  13. #endif
  14.  
  15. #ifndef P_FILE_OPH
  16. #include <p\file>
  17. #endif
  18.  
  19. #define G_GC_MASK_GMODE         0x2
  20. #define G_GC_MASK_TEXTMODE      0x4
  21. #define G_GC_MASK_STYLE         0x8
  22. #define G_GC_MASK_FONT          0x10
  23. #define G_GC_MASK_GREY          0x20
  24. #define G_GC_MASK_DOUBLE        0x40
  25.  
  26. #define G_GC_FLAG_GREY_PLANE    0x1
  27. #define G_GC_FLAG_BOTH_PLANES   0x2
  28. #define G_GC_FLAG_DOUBLE        0x4
  29.  
  30. #define G_TEXT_ALIGN_RIGHT 1
  31. #define G_TEXT_ALIGN_LEFT 2 
  32. #define G_TEXT_ALIGN_CENTRE 4
  33. #define G_FONT_FLAG_ASCII 0x01
  34. #define G_FONT_FLAG_CP850 0x02
  35. #define G_FONT_FLAG_BOLD 0x04
  36. #define G_FONT_FLAG_ITALIC 0x08
  37. #define G_FONT_FLAG_SERIF 0x10
  38. #define G_FONT_FLAG_MONO 0x20
  39. #define G_FONT_FLAG_HANG 0x40    /* Has over/under hang table */
  40. #define G_FONT_SPECIAL_1 0x8000 /* Font is stored in Special format 1 */ 
  41. #define G_TRMODE_SET 0
  42. #define G_TRMODE_CLR 1 
  43. #define G_TRMODE_INV 2
  44. #define MAX_GMODE 2 /* max trmode allowed in the gmode of a gc */ 
  45. #define G_TRMODE_REPL 4
  46. #define MAX_BLITMODE 5 /* .. .. in a blit-type command */ 
  47. #define MAX_TEXTMODE 5 /* .. .. in the textmode of a gc */ 
  48. #define G_STY_NORMAL 0
  49. #define G_STY_BOLD 0x01
  50. #define G_STY_UNDERLINE 0x02
  51. #define G_STY_INVERSE 0x04
  52. #define G_STY_DOUBLE 0x08
  53. #define G_STY_MONO 0x10
  54. #define G_STY_ITALIC 0x20
  55. #define G_STY_SUBSCRIPT2 0x40
  56. #define G_STY_SUPERSCRIPT2 0x80
  57. #define G_STY_SUBSCRIPT 0x100
  58. #define G_STY_SUPERSCRIPT 0x200
  59. #define G_XP_INV_BLOCK 0x01
  60. #define G_XP_INV_OBLOID 0x02
  61. #define G_XP_UND_BLOCK 0x04
  62. #define G_XP_REDUCED 0x08
  63. #define W_BORD_CORNER_2 0x00
  64. #define W_BORD_CUSHION 0x01
  65. #define W_BORD_CORNER_4 0x02
  66. #define W_BORD_SHADOW_S 0x04
  67. #define W_BORD_SHADOW_D 0x08
  68. #define W_BORD_SHADOW_ON 0x10
  69. #define W_BORD_OPEN 0x20
  70. #define W_BORD_CORNER_1 0x40
  71. #define W_BORD_TOP_OFF 0x80
  72. #define W_BORD_BOT_OFF 0x100
  73. #define W_BORD_TOP_ON 0x200
  74. #define W_BORD_BOT_ON 0x400
  75. #define X_BORD_SHADOW_BOX 0x8000
  76. #define W_BORDER_TYPE_0 0
  77. #define W_BORDER_TYPE_1 1
  78. #define X_BORDER_TYPE_MAX 1
  79. #define G_DRAW_OBJECT_TYPE_0 0
  80. #define X_DRAW_OBJECT_TYPE_MAX 0
  81. #define G_APPEND 0x01
  82. #define G_DISPLAY 0x02
  83. #define W_CTBY_S3   0x0001
  84. #define W_SUPPORT_GREY      0x01
  85. #define W_SUPPORT_CTBY_S3   0x02
  86.  
  87. STRUCT W_SUPPORT_INFO
  88.     flags%
  89.     fillers%(15)
  90. ENDS
  91.  
  92. #define WS_MAX_CLIENTS 21 /* Includes rubber band client */ 
  93. #define FONT_NAME_LEN 16
  94. #define FONT_MAX_HEADER_LEN 128
  95.  
  96. STRUCT G_FONT_INFO
  97.     low_ch%
  98.     high_ch%
  99.     height%
  100.     descent%
  101.     ascent%
  102.     numeric_width%
  103.     max_width%
  104.     flags%
  105.     name#(FONT_NAME_LEN)
  106. ENDS
  107.  
  108. #define WS_FONT_SYSTEM 0x4099
  109. #define WS_DEFAULT_ICON (WS_BITMAP_BASE+8)
  110.  
  111. STRUCT WMSG_KEY
  112.     keycode%
  113.     modifiers#
  114.     count#
  115. ENDS
  116.  
  117. STRUCT WMSG_CAPS
  118.     unused%
  119.     modifiers#
  120.     filler#
  121. ENDS
  122.  
  123. STRUCT WMSG_MOUSE
  124.     event#
  125.     state#
  126.     pos#(SIZEOF(P_POINT))
  127. ENDS
  128.  
  129. STRUCT WMSG_RUBBER
  130.     state%
  131.     extent#(SIZEOF(P_EXTENT))
  132. ENDS
  133.  
  134. STRUCT WS_EVENT_UNION
  135.     dummy#(OPPEVAL(max(    SIZEOF(P_RECT),\
  136.                 SIZEOF(WMSG_KEY),\
  137.                 SIZEOF(WMSG_MOUSE),\
  138.                 SIZEOF(WMSG_RUBBER),\
  139.                 SIZEOF(WMSG_CAPS))))
  140. ENDS
  141.  
  142. STRUCT WS_EVENT_X
  143.     handle%
  144.     time%
  145.     u#(SIZEOF(WS_EVENT_UNION))
  146. ENDS
  147.  
  148. STRUCT WS_EVENT
  149.     type%
  150.     x#(SIZEOF(WS_EVENT_X))
  151. ENDS
  152.  
  153. STRUCT WS_EV
  154. /* but is in a simplified form without the WS_EVENT_X */
  155. /* sub structure */
  156.     type%
  157.     handle%
  158.     time%
  159.     p#(SIZEOF(WS_EVENT_UNION))
  160. ENDS
  161.  
  162. #define MAX_CLIENT_TO_WSERV_BUFFER 300
  163. #define MAX_WSERV_TO_CLIENT_BUFFER 300
  164. #define W_INFO_MSG_MAX_LEN 64
  165. #define W_BUSY_MSG_MAX_LEN 20
  166. #define W_DRAW_BUTTON_MAX_LEN 64
  167. #define W_ALERT_TEXT_MAX_LEN 80
  168. #define W_PASSWORD_ALERT_TEXT_MAX_LEN 128
  169. #define W_BUTTON_TYPE_1 0
  170. #define W_BUTTON_TYPE_2 1
  171.  
  172. STRUCT G_GC
  173.     gmode#
  174.     textmode#
  175.     style#
  176.     flags#
  177.     font%
  178. ENDS
  179.  
  180. STRUCT W_RUBBER_BAND
  181.     start#(SIZEOF(P_EXTENT))
  182.     outer#(SIZEOF(P_EXTENT))
  183.     inner#(SIZEOF(P_EXTENT))
  184.     flags%
  185.     minx%
  186.     miny%
  187.     maxx%
  188.     maxy%
  189.     grid_snap#(SIZEOF(P_POINT))
  190. ENDS
  191.  
  192. STRUCT W_WINDATA
  193.     flags%
  194.     extent#(SIZEOF(P_EXTENT))
  195.     mouse_icon%
  196.     background#
  197.     filler#
  198. ENDS
  199.  
  200. STRUCT W_CURSOR
  201.     pos#(SIZEOF(P_POINT))
  202.     height#
  203.     ascent#
  204.     width#
  205.     flags#
  206. ENDS
  207.  
  208. #define W_CURSOR_OBLOID 0x01
  209. #define W_CURSOR_NO_FLASH 0x02
  210. #define W_CURSOR_GREY 0x04
  211.  
  212. STRUCT WS_WIN_BITMAP
  213.     bitmap%
  214.     pos#(SIZEOF(P_POINT))
  215.     rect#(SIZEOF(P_RECT))
  216.     mode%
  217.     time&
  218. ENDS
  219.  
  220. #define WS_WIN_BITMAP_GREY 0x8000
  221.  
  222. STRUCT W_SPRITE
  223.     bit_set%
  224.     bit_clr%
  225.     bit_inv%
  226.     bit_gr_set%
  227.     bit_gr_clr%
  228.     bit_gr_inv%
  229.     offset#(SIZEOF(P_POINT))
  230.     time%
  231. ENDS
  232.  
  233. #define MAX_SET_SPRITE 13
  234. #define W_SPRITE_CLIP_CHILDREN 0x0001
  235.  
  236. STRUCT WS_CREATE_CLOCK
  237.     id%
  238.     type%
  239.     pos#(SIZEOF(P_POINT))
  240.     offset%
  241.     flags%
  242.     font%
  243.     style%
  244. ENDS
  245.  
  246. STRUCT G_FONT_CONFIG
  247.     FontId%
  248.     Styles#
  249.     FontStyles#
  250.     BaseOffset%
  251. ENDS
  252.  
  253. STRUCT G_SHADOW
  254.     BodyColour#
  255.     ShadowColour#
  256.     LightColour#
  257.     filler#
  258.     Flags%
  259.     ShadowSizeX%
  260.     ShadowSizeY%
  261.     LightSizeX%
  262.     LightSizeY%
  263.     Spacing%
  264. ENDS
  265.  
  266. #define G_COLOUR_BLACK 0
  267. #define G_COLOUR_WHITE 1
  268. #define G_COLOUR_GREY  2
  269. #define G_COLOUR_NONE  3
  270. #define G_COLOUR_DARK_GREY 4
  271. #define G_COLOUR_LIGHT_GREY 5
  272. #define G_COLOUR_MAX   5
  273. #define G_SHADOW_SOLID      0x01
  274. #define G_SHADOW_CORNER_1   W_BORD_CORNER_1
  275. #define G_SHADOW_CORNER_4   W_BORD_CORNER_4
  276. #define WE_KEY     0x0001
  277. #define WE_REDRAW  0x0002
  278. #define WE_STATUS  0x0004
  279. #define WE_MOUSE   0x0008
  280. #define WE_OTHERS  0x0010
  281. #define WE_ESC     0x8000
  282. #define WE_NORMAL  0x0FFF
  283. #define WSIPC_LINK_PASTE 0x0004
  284. #define WSIPC_LINK_SERVER 0x0003
  285. #define WSIPC_CLIENT_TO_SERVER 0x0100
  286. #define WSIPC_OS_CLIENT_DIED 0x0200
  287. #define WSIPC_NOTIFY 0x0300
  288. #define WSIPC_ALERT 0x0400
  289. #define WSIPC_WATCHALL 0x0500
  290. #define IPC_HEAD_FLAG_REPORT_ERRORS 0x0100
  291. #define IPC_HEAD_FLAG_READ_FLAGS 0x0200
  292.  
  293. STRUCT IPC_HEAD
  294.     data%
  295.     word_len#
  296.     flags#
  297.     read%
  298.     r#(2)
  299. ENDS
  300.  
  301. STRUCT W_SERVER_INFO
  302.     pixels#(SIZEOF(P_POINT))
  303.     width_1000_pixels_mm%
  304.     height_1000_pixels_mm%
  305.     set_is_dark#
  306.     version_id#
  307.     system_font_handle%
  308.     flags%
  309.     dummy%
  310. ENDS
  311.  
  312. #define W_SERVER_INFO_FLAG_GREY1    0x0001
  313.  
  314. STRUCT CONNECT_INFO
  315.     client_handle%
  316.     info#(SIZEOF(W_SERVER_INFO))
  317. ENDS
  318.  
  319. STRUCT CLINK_REDIRECTOR
  320.     write%
  321.     close%
  322.     init_transmit%
  323.     panic%
  324. ENDS
  325.  
  326. STRUCT WSERV_CLIENT_DATA
  327. /* The following symbols are only used in debug mode but have been left
  328.    in as they be useful for future expansion */
  329.     log%
  330.     par_file%
  331.     cpanic_handler%
  332. /* */
  333.     usage_count%
  334.     p_commands%
  335.     p_end%
  336.     msg#(MAX_CLIENT_TO_WSERV_BUFFER)
  337. ENDS
  338.  
  339. /* AC:WSERV_SPEC union should be here */
  340.  
  341. STRUCT W_OPEN_BIT_SEG
  342.     size#(SIZEOF(P_POINT))
  343.     seg_name#(14)
  344. ENDS
  345.  
  346. STRUCT WS_PIC_HEADER
  347.     checksum%
  348.     size#(SIZEOF(P_POINT))
  349.     byte_size%
  350.     offset&
  351. ENDS
  352.  
  353. STRUCT PIC_HEAD
  354.     sig#(SIZEOF(P_FSIG))
  355.     count%
  356.     wspic#(SIZEOF(WS_PIC_HEADER))
  357. ENDS
  358.  
  359. /* Flags used in field set and the flag field in the window structure */
  360.  
  361. #define W_WIN_INPUT_ONLY 0x01
  362. #define W_WIN_RUBBER_BAND_CAPTURE 0x02
  363. #define W_WIN_INACTIVE 0x04
  364. #define W_WIN_MOUSE_MOVE 0x08
  365. #define W_WIN_MOUSE_DRAG 0x10
  366. #define W_WIN_MOUSE_GRAB 0x20
  367. #define W_WIN_DOUBLE_PIXEL 0x40
  368. #define W_WIN_FOREGROUND_ONLY 0x80
  369. #define W_WIN_PRIORITY 0x100
  370. #define W_WIN_NO_REDRAW 0x200
  371. #define W_WIN_NO_MOUSE 0x400
  372. #define W_WIN_RUBBER_BAND_COMPLETE_ON_RELEASE 0x800
  373. #define W_WIN_ALL_FLAGS 0xfff
  374.  
  375. /* Flags used in field set only */
  376.  
  377. #define W_WIN_EXTENT 0x1000
  378. #define W_WIN_MOUSE_ICON 0x2000
  379. #define W_WIN_BACKGROUND 0x4000
  380. #define W_STATUS_HIDDEN 0x8000 /* Used internally to mark window as hidden */ 
  381.  
  382. /* Status flags */
  383.  
  384. #define W_UNINITIALISED 0x80
  385. #define W_REDRAW 0x40
  386. #define W_BACKGROUND 0x20 /* Window is invisible because it is background */ 
  387. #define W_SET_INVISIBLE 0x10 /* Window is set to invisible by client */ 
  388. #define W_XXXXXXX 0x08
  389. #define W_INVALID 0x04 /* The whole window contents is invalid */ 
  390.  
  391. #define X_WIN_BACK_NO_REDRAW        0x08    /* Private */
  392. #define X_WIN_BACK_GREY_REDRAW      0x80    /* Private */
  393. #define W_WIN_BACK_NONE             0x00
  394. #define W_WIN_BACK_CLR              0x01
  395. #define W_WIN_BACK_SET              0x02
  396. #define W_WIN_BACK_BITMAP           0x03
  397. #define W_WIN_BACK_NONE_NO_REDRAW   (00+X_WIN_BACK_NO_REDRAW)
  398. #define W_WIN_BACK_CLR_NO_REDRAW    (01+X_WIN_BACK_NO_REDRAW)
  399. #define W_WIN_BACK_SET_NO_REDRAW    (02+X_WIN_BACK_NO_REDRAW)
  400. #define W_WIN_BACK_GREY_CLR         (00+X_WIN_BACK_GREY_REDRAW)
  401. #define W_WIN_BACK_GREY_NONE        (16+X_WIN_BACK_GREY_REDRAW)
  402. #define W_WIN_BACK_GREY_SET         (32+X_WIN_BACK_GREY_REDRAW)
  403. #define W_WIN_BACK_GREY_BITMAP      (48+X_WIN_BACK_GREY_REDRAW)
  404. #define W_WIN_BACK_GREY_CLR_NO_REDRAW   0x00
  405. #define W_WIN_BACK_GREY_NONE_NO_REDRAW  0x10
  406. #define W_WIN_BACK_GREY_SET_NO_REDRAW   0x20
  407. #define W_VER_DOUBLE_BITS   0x0001
  408. #define X_CORNER_BOTTOM 0x40
  409. #define X_CORNER_RIGHT 0x80
  410. #define W_CORNER_TOP_LEFT 0x00
  411. #define W_CORNER_TOP_RIGHT X_CORNER_RIGHT
  412. #define W_CORNER_BOTTOM_LEFT X_CORNER_BOTTOM
  413. #define W_CORNER_BOTTOM_RIGHT (X_CORNER_RIGHT+X_CORNER_BOTTOM)
  414. #define WSERV_FLAG_NO_SHELL_REBOOT 0x0001
  415. #define WSERV_FLAG_NO_NOTIFIER_REBOOT 0x0002
  416. #define WSERV_FLAG_NO_PANIC_NOTIFYS 0x0004
  417. #define WSERV_FLAG_HOOK_NOTIFIER 0x0008
  418. #define WSERV_FLAG_UPDATE_MSGS 0x0010
  419. #define WSERV_FLAG_LOW_BATTERY_WARNINGS 0x0020
  420. #define WSERV_FLAG_HUNG_UP_SW 0x0040
  421. #define WSERV_FLAG_SW_NO_LOW_BATTERY  0x0080
  422. #define WSERV_FLAG_SW_NO_PACKS        0x0100
  423. #define WSERV_FLAG_SW_NO_LINK         0x0200
  424. #define WSERV_FLAG_SW_NO_CAPS         0x0400
  425. #define WSERV_FLAG_TOP_BIT 0x8000 /* Can not be set */ 
  426. #define W_CONNECT_AT_BACK 0x01
  427. #define W_CONNECT_CONNECTED 0x01 /* Only used in replys to wClientInfo() */ 
  428. #define W_CONNECT_USER_FLAG 0x02
  429. #define W_CONNECT_SYSTEM_MODAL 0x04
  430. #define W_CONNECT_PRIORITY 0x40
  431. #define W_CONNECT_DISABLE_LEAVES 0x80
  432. #define WS_TEMPORARY_GC 1
  433. #define WS_BIT_WRITE 0x01
  434. #define WS_BIT_SEG 0x02
  435. #define WS_BIT_SEG_NAME 0x04
  436. #define WS_BIT_SEG_ACCESS (WS_BIT_SEG|WS_BIT_SEG_NAME)
  437. #define WS_BIT_SEG_ZERO_SIZE 0x08
  438. #define WS_BIT_MASK (WS_BIT_WRITE+WS_BIT_SEG+WS_BIT_SEG_NAME+WS_BIT_SEG_ZERO_SIZE)
  439. #define WS_BIT_ROM 0x80
  440. #define WS_BIT_FILE 0x100
  441. #define WX_BIT_GREY 0x8000  /* secret do not use */
  442. #define WS_CLOCK_SMALL_DIGITAL 0x00
  443. #define WS_CLOCK_MEDIUM 0x01
  444. #define WS_CLOCK_LARGE_ANALOG 0x02
  445. #define WS_CLOCK_MEDIUM2 0x03
  446. #define WS_CLOCK_XL_ANALOG 0x04
  447. #define WS_CLOCK_FORMATTED 0x05
  448. #define WS_CLOCK_MAX 0x06
  449. #define CLOCK_FLAG_COLON_OFFSET 0x04
  450. #define CLOCK_FLAG_DIGITAL 0x08
  451. #define CLOCK_FLAG_WSRV 0x04
  452. #define CLOCK_FLAG_XXXX 0x08
  453. #define WS_CLOCK_WITH_DATE 0x10
  454. #define WS_CLOCK_WITH_SECONDS 0x20
  455. #define WS_CLOCK_FORCE_ANALOG 0x40
  456. #define WS_CLOCK_FORCE_DIGITAL 0x80
  457. #define WS_CLOCK_AM_PM 0x100
  458. #define WS_CLOCK_AM_PM_BUT_NOT_IN_MEDIUM_ANALOG 0x400
  459. #define WS_CLOCK_CENTRED 0x200
  460. #define WS_CLOCK_WITH_DATE_EXTRA 0x400
  461. #define WS_CLOCK_GREY 0x800
  462. #define WS_CLOCK_DBL_PLANE 0x1000
  463. #define WS_CLOCK_RIGHT_ALIGN 0x2000
  464. #define WS_CLOCK_SUMMER_TIME 0x4000
  465. #define WS_CLOCK_BOX 0x8000
  466. #define OLD_CLOCK_FLAGS 0xFFF0
  467. #define WS_BITMAP_CLOCK_SIZE_X 36
  468. #define WS_BITMAP_CLOCK_SIZE_Y 32
  469. #define WS_BITMAP_LARGE_CLOCK_SIZE_X 66
  470. #define WS_BITMAP_LARGE_CLOCK_SIZE_Y 60
  471. #define WS_BITMAP_XL_CLOCK_SIZE_X 99
  472. #define WS_BITMAP_XL_CLOCK_SIZE_Y 99
  473. #define WS_BITMAP_MEDIUM2_CLOCK_SIZE_X 58
  474. #define WS_BITMAP_MEDIUM2_CLOCK_SIZE_Y 51
  475. #define WS_LEFT_POS_CONS 189
  476. #define WS_LEFT_POS_CORP 109
  477. #define WS_TOP_POS 0
  478. #define WS_WIDTH 51
  479. #define WS_HEIGHT 80
  480. #define WS_WIDTH_V4 64
  481. #define WS_WIDTH_SMALL_V4 32
  482.  
  483. /* Basic WSERV-to-client message types */
  484.  
  485. #define WM_KEY 1
  486. #define WM_MOUSE 2
  487. #define WM_REDRAW 3
  488. #define WM_BACKGROUND 5
  489. #define WM_FOREGROUND 6
  490. #define WM_RUBBER 7
  491. #define WM_USER_MSG 8
  492. #define WM_ACTIVE 9
  493. #define WM_CANCELLED 11
  494. #define WM_KEYBOARD_STATE_CHANGE 12
  495. #define WM_RUBBER_BAND_INIT 13
  496. #define WM_DEICONISE 14
  497. #define WM_ATTACHED 15
  498. #define WM_DETACHED 16
  499. #define WM_COMMAND 17
  500. #define WM_TASK_KEY 18
  501. #define WM_TASK_UPDATE 19
  502. #define WM_ON 20
  503. #define WM_ESCAPE 21
  504. #define WM_DATE_CHANGED 22
  505. #define WM_MAX_WSERV 23
  506. #define WM_NULL_EVENT 24
  507. #define WS_BITMAP_GREY 0x4000
  508. #define WS_BITMAP_GREY_SIZE_X 192
  509. #define WS_BITMAP_GREY_SIZE_Y 16
  510. #define WS_BITMAP_BASE 0x4001
  511. #define WS_FONT_BASE 0x4000
  512. #define WS_FONT_BASE2 0x6000
  513. #define WS_MI_BASE 0x4002
  514. #define WS_LAST_CLIENT_POSITION 100
  515.  
  516. /* system mouse icon handles */
  517.  
  518. #define W_WIN_MI_STANDARD 0x4000 /* index 0 + Base 0x4000 */ 
  519. #define W_WIN_MI_NULL 0x4001 /* index 1 + Base 0x4000 */ 
  520. #define WM_MOUSE_RELEASE 1
  521. #define WM_MOUSE_PRESS 2
  522. #define WM_MOUSE_MOVE 3
  523. #define P_MAX_COORD 0x7fff
  524. #define WS_MAX_PRINT_TEXT_LEN 246
  525. #define WS_MAX_PRINT_CLIP_TEXT_LEN 244
  526. #define WS_MAX_PRINT_BOX_TEXT_LEN 236
  527. #define WS_MAX_XPRINT_TEXT_LEN 244
  528. #define WS_MAX_SHADOW_TEXT_LEN 234
  529. #define WS_MAX_FORMATTED_CLOCK 238
  530. #define W_MAX_FONT_CONFIG 24
  531. #define WM_BAND_NOMOVE 0
  532. #define WM_BAND_MOVE 1
  533. #define WM_BAND_RESIZE 2
  534. #define WM_BAND_CANCEL 3
  535. #define WM_BAND_ERROR 4
  536. #define W_BAND_RESIZE 0x01
  537. #define W_BAND_INNER 0x02
  538. #define W_BAND_OUTER 0x04
  539. #define W_BAND_START 0x08
  540. #define W_BAND_COMPLETE_ON_UP 0x10
  541. #define W_BAND_KILL_CAPTURE 0x20
  542. #define W_BAND_GRID_SNAP_SIZE 0x40
  543. #define W_XXXX_GRID_SNAP_POS 0x80 /* Secret internal #define */ 
  544. #define W_BAND_GRID_SNAP (W_XXXX_GRID_SNAP_POS|W_BAND_GRID_SNAP_SIZE)
  545. #define WS_TYPE_MASK 0xF0
  546. #define WS_VERSION_MASK 0x0F
  547. #define WS_TYPE_MC 0x00
  548. #define WS_TYPE_S3 0x10
  549. #define WS_TYPE_HC 0x20
  550. #define WS_TYPE_MCA 0x30
  551. #define WS_TYPE_S3A 0x40
  552. #define WS_TYPE_HCA 0x50
  553. #define WS_TYPE_S3C 0x60
  554. #define WS_VERSION_2 0x00
  555. #define WS_VERSION_3 0x01
  556. #define WS_VERSION_3_5 0x02
  557. #define WS_VERSION_4 0x02
  558.  
  559. /* The alert type is made of a base value one of ...*/
  560.  
  561. #define WS_ALERT_CLIENT 0x00
  562. #define WS_ALERT_TIMED 0x01
  563. #define WS_ALERT_CANCEL 0x08
  564.  
  565. /* ...with one or none of the following flags or'ed in */
  566.  
  567. #define WS_ALERT_PERMANENT 0x02
  568. #define WS_ALERT_UPDATE 0x04 /* Wserv internal use only */ 
  569. #define WS_ALERT_B 0x10
  570. #define WS_UPDATE_NAME 0x01
  571. #define WS_UPDATE_CLOCK 0x02
  572. #define WSERV_PANIC_FIRST 81
  573. #define WSERV_PANIC_LAST 116
  574. #define W_STATUS_WINDOW_OFF 0
  575. #define W_STATUS_WINDOW_SMALL 1
  576. #define W_STATUS_WINDOW_BIG 2
  577. #define W_STATUS_WINDOW_CTBY 3
  578. #define W_STATUS_WINDOW_MAX W_STATUS_WINDOW_CTBY
  579. #define W_STATUS_WIN_NO_DIAMOND -1
  580. #define W_STATUS_WINDOW_ICON -1
  581.  
  582. STRUCT DESC
  583.     hposition#
  584.     length#
  585.     offset%
  586. ENDS
  587.  
  588. STRUCT WS_ALERT_DESC
  589.     zero#
  590.     filler#
  591.     desc#(OPPEVAL(SIZEOF(DESC)*3))
  592. ENDS
  593.  
  594. #define G_OPEN_MODE_NORMAL 0
  595. #define G_OPEN_MODE_OFFSET 1
  596. #define G_OPEN_MODE_LONG_PTR_OFFSET 2
  597. #define G_OPEN_MODE_WORD_PTR_OFFSET 3
  598. #define MAX_G_OPEN_MODE 3
  599. #define W_SYSTEM_FONT_S3B 0
  600. #define W_SYSTEM_FONT_S3 1
  601. #define W_SYSTEM_FONT_INTERNAL_S3B 2
  602. #define W_SYSTEM_FONT_INTERNAL_S3 3
  603.