home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 19 / CD_ASCQ_19_010295.iso / dos / prg / c / cwl30 / tc3lib / cwlglob.h next >
Text File  |  1994-09-18  |  16KB  |  378 lines

  1. /*********************************************************************
  2.  * Global variables used in all libraries.  Please check here if you *
  3.  * want to make sure that you are not inadvertantly using a library  *
  4.  * variable.                                                         *
  5.  *********************************************************************/
  6.  
  7. #define NUMALPHA         60
  8. #define NUMCOLORSCHEME   10
  9.  
  10. #if defined (POWERC) || (MSC)
  11. #define DEFDS near  /* make sure all variables are defined in the default
  12.                        data segment */
  13. #else
  14. #define DEFDS
  15. #endif
  16.  
  17. typedef WBUFFERTYPE SCREENIMAGE;
  18.  
  19. #define NUMCACHE   5
  20.  
  21. CWL_EXTERN int            CWLsys_initial;
  22. CWL_EXTERN WPOINTER  *    CWLwindow_trans; /* array of transparent windows */
  23. CWL_EXTERN int            CWLoverride_seethru;  /* Overrides seethru window in
  24.                                                   *  screen_image */
  25. CWL_EXTERN int            CWLmax_window_rank;    /* maximum rank number */
  26. CWL_EXTERN int            CWLmin_window_rank;       /* lowest rank number */
  27. CWL_EXTERN int            CWLnum_tshadows[MAXPAGES]; /* Number of shadows */
  28. CWL_EXTERN int            CWLtotal_tshadows;          /* Number of transparent
  29.                                                                    shadows */
  30. CWL_EXTERN unsigned int   CWLDefaultPanKeys[NUMVPANKEYS];
  31. CWL_EXTERN unsigned       CWLstack_size;
  32. CWL_EXTERN int            CWLdoing_move;
  33. CWL_EXTERN int            CWLdoing_resize;
  34. CWL_EXTERN int            CWLdoing_scroll;
  35. CWL_EXTERN int            CWLdoing_minmax;
  36. CWL_EXTERN unsigned char  CWLalpha[NUMALPHA];
  37.  
  38. CWL_EXTERN SCREENIMAGE    *CWLscreen_image[MAXPAGES];
  39.  
  40. CWL_EXTERN WPOINTER       CWLcapture_window;
  41. CWL_EXTERN int    DEFDS   CWLevents_on;
  42. CWL_EXTERN char       *   CWLmouse_buffer;
  43. CWL_EXTERN char           CWLmouse_effect;
  44.  
  45. CWL_EXTERN char           CWLmouse_seethru_on;
  46. CWL_EXTERN char           CWLmouse_saved;
  47.  
  48. CWL_EXTERN WPOINTER       CWLmouse_wseethru;
  49. CWL_EXTERN unsigned char  CWLmouse_char[MAXSCROLLSTRING];
  50.  
  51. CWL_EXTERN unsigned char  CWLscroll_up_char;
  52. CWL_EXTERN unsigned char  CWLscroll_down_char;
  53. CWL_EXTERN unsigned char  CWLscroll_region_char;
  54.  
  55. CWL_EXTERN int            CWLscroll_speed;
  56. CWL_EXTERN int            CWLslide_row;
  57. CWL_EXTERN int            CWLslide_col;
  58. CWL_EXTERN int            CWLleft_button;
  59. CWL_EXTERN int            CWLright_button;
  60. CWL_EXTERN int            CWLcolor_nofocus;
  61. CWL_EXTERN int            CWLcolor_focus;
  62. CWL_EXTERN int            CWLqueue_on;
  63. CWL_EXTERN int            CWLinbios;
  64.  
  65. CWL_EXTERN unsigned char   CWLasciicode[256];
  66. CWL_EXTERN unsigned char   CWLvirtual_key[256];
  67. CWL_EXTERN BITSTRING       CWLsync_key_state;
  68. CWL_EXTERN BITSTRING       CWLasync_key_state;
  69. CWL_EXTERN unsigned char   CWLtogglekey_state[NUMTOGGLEKEYS];
  70. CWL_EXTERN BITSTRING       CWLasync_last_state;
  71. CWL_EXTERN unsigned char   CWLnumpad_conv[10];
  72. CWL_EXTERN unsigned char   CWLkeyshift_code[256];
  73. CWL_EXTERN QUEUE    DEFDS  CWLevent_queue;
  74.  
  75. CWL_EXTERN CMLTIMER       CWLtimer_struct[NUMTIMERS];
  76. CWL_EXTERN int            CWLnum_timers;
  77. CWL_EXTERN CWL_VOID _FAR_ *CWLindos_ptr;
  78. CWL_EXTERN int DEFDS      CWLindos_seg;
  79. CWL_EXTERN int DEFDS      CWLindos_off;
  80.  
  81. CWL_EXTERN VIDEO_CONFIG   CWLinit_video;
  82. CWL_EXTERN int            CWLdef_attr;   /* default screen attribute */
  83. CWL_EXTERN unsigned       CWLscrnseg;
  84. CWL_EXTERN unsigned char  CWLchksnow;
  85. CWL_EXTERN SYS_FLAGS      CWLvideo_flags;
  86. CWL_EXTERN unsigned       CWLcrt_port;
  87. CWL_EXTERN int     DEFDS  CWLscreen_rows;     /* current # of rows displayed */
  88. CWL_EXTERN int     DEFDS  CWLscreen_cols;     /* current # of columns displayed */
  89. CWL_EXTERN int            CWLmax_pages;
  90. CWL_EXTERN int     DEFDS  CWLactive_page;   /* current active display page */
  91. CWL_EXTERN int            CWLvisible_page;  /* current visible display page */
  92. CWL_EXTERN unsigned int   CWLpagesize;      /* size of video page in bytes */
  93. CWL_EXTERN int            CWLvideo_mode;   /* current video mode */
  94. CWL_EXTERN unsigned char  CWLwindow_buffer[MAXBUFSIZE]; /* global write buffer */
  95. CWL_EXTERN unsigned char  CWLvirtual_buffer[MAXBUFSIZE];
  96. CWL_EXTERN unsigned char  CWLscroll_buffer[MAXSCROLLWIDTH];
  97. CWL_EXTERN unsigned int   CWLcaldelay;
  98. CWL_EXTERN int            CWLtab_length;
  99. CWL_EXTERN unsigned char  CWLcheck_char;
  100. CWL_EXTERN int            CWLstart_bar_col;
  101. CWL_EXTERN int            CWLbar_menu_spaces;
  102.  
  103. CWL_EXTERN int            CWLcursor_type[2];
  104. CWL_EXTERN int            CWLcursor_mode;
  105. CWL_EXTERN int            CWLfield_cursor_type[2];
  106. CWL_EXTERN int            CWLfield_cursor_mode;
  107. CWL_EXTERN int            CWLenhanced_keyboard;
  108. CWL_EXTERN unsigned int   CWLlast_key;
  109.  
  110. CWL_EXTERN int            CWLfield_press;
  111. CWL_EXTERN int            CWLform_action_key;
  112. CWL_EXTERN int            CWLflush_kbd;
  113. CWL_EXTERN int            CWLmouse_handler_on;
  114.  
  115. /*** Colors  ***/
  116.  
  117. CWL_EXTERN int            CWLblack;
  118. CWL_EXTERN int            CWLblue;
  119. CWL_EXTERN int            CWLgreen;
  120. CWL_EXTERN int            CWLcyan;
  121. CWL_EXTERN int            CWLred;
  122. CWL_EXTERN int            CWLmagenta;
  123. CWL_EXTERN int            CWLbrown;
  124. CWL_EXTERN int            CWLwhite;
  125. CWL_EXTERN int            CWLgray;
  126. CWL_EXTERN int            CWLlightblue;
  127. CWL_EXTERN int            CWLlightgreen;
  128. CWL_EXTERN int            CWLlightcyan;
  129. CWL_EXTERN int            CWLlightred;
  130. CWL_EXTERN int            CWLlightmagenta;
  131. CWL_EXTERN int            CWLyellow;
  132. CWL_EXTERN int            CWLlightwhite;
  133. CWL_EXTERN int            CWLuline;
  134. CWL_EXTERN int            CWLbright;
  135. CWL_EXTERN int            CWLblink;
  136.  
  137. CWL_EXTERN unsigned int   CWLedit_key[NUMEDITKEYS];
  138. CWL_EXTERN int            CWLerror_code;
  139. CWL_EXTERN int            CWLcheck_exist;
  140. CWL_EXTERN char           CWLmask_char;
  141. CWL_EXTERN unsigned       CWLeffect_speed[MAX_SPECIAL_EFFECT+1];
  142. CWL_EXTERN int            CWLpassword_char;
  143.  
  144. /* define object pointers */
  145. CWL_EXTERN CWLOBJECTPTR   CWLtrans_object;
  146. CWL_EXTERN CWLOBJECTPTR   CWLwindow_object;
  147. CWL_EXTERN CWLOBJECTPTR   CWLvwindow_object;
  148. CWL_EXTERN CWLOBJECTPTR   CWLformptr_object;
  149. CWL_EXTERN CWLOBJECTPTR   CWLpopup_object;
  150. CWL_EXTERN CWLOBJECTPTR   CWLbar_object;
  151. CWL_EXTERN CWLOBJECTPTR   CWLvideo_object;
  152. CWL_EXTERN CWLOBJECTPTR   CWLbase_window;
  153. CWL_EXTERN CWLOBJECTPTR   CWLpulldown_object;
  154. CWL_EXTERN CWLOBJECTPTR   CWLaccelerator_object;
  155. CWL_EXTERN CWLOBJECTPTR   CWLobjectclass_container;
  156.  
  157.  
  158. CWL_EXTERN WPOINTER        CWLwindow_cache[NUMCACHE];
  159. CWL_EXTERN WPOINTER        CWLorig_screen[MAXPAGES];
  160. CWL_EXTERN char    _FAR_ * CWLpage_offset[MAXPAGES];
  161. CWL_EXTERN int             CWLmouselib_exist;
  162. CWL_EXTERN int             CWLmouselib2_exist;
  163. CWL_EXTERN int             CWLformlib_exist;
  164. CWL_EXTERN int             CWLmouse_installed;
  165. CWL_EXTERN int             CWLmouse_active;
  166. CWL_EXTERN int             CWLmouse_hidden;
  167. CWL_EXTERN int             CWLnum_windows_init;
  168.  
  169. CWL_EXTERN int      DEFDS  CWLmouse_used;
  170. CWL_EXTERN int             CWLmouse_last_press;
  171. CWL_EXTERN int             CWLmouse_vert_pos;
  172. CWL_EXTERN int             CWLmouse_horiz_pos;
  173.  
  174. CWL_EXTERN unsigned int    CWLpopup_press;
  175. CWL_EXTERN unsigned int    CWLbar_press;
  176. CWL_EXTERN unsigned char   CWLpopup_space;
  177. CWL_EXTERN unsigned char   CWLpopup_char;
  178.  
  179.  
  180. CWL_EXTERN FORMPTR         CWLcurrent_form;
  181. CWL_EXTERN unsigned        CWLcurrent_field;
  182. CWL_EXTERN char            CWLform_buffer[MAXFIELDSIZE];
  183. CWL_EXTERN int             CWLfield_bad;
  184. CWL_EXTERN unsigned        CWLform_help_key[NUMHELPKEYS];
  185. CWL_EXTERN unsigned        CWLform_edit_key[NUMFORMKEYS];
  186. CWL_EXTERN MINVALUES       CWLmouse_val;
  187.  
  188. CWL_EXTERN unsigned        CWLpopup_key_def[NUMPOPUPKEYS];
  189. CWL_EXTERN unsigned        CWLbar_key_def[NUMBARKEYS];
  190. CWL_EXTERN unsigned        CWLpopup_height;
  191. CWL_EXTERN unsigned        CWLpopup_width;
  192. CWL_EXTERN unsigned        CWLbar_width;
  193. CWL_EXTERN unsigned        CWLbar_height;
  194. CWL_EXTERN unsigned        CWLpopup_delay;
  195.  
  196. /* The following variables must be in the DGROUP segment
  197.    The mouse library will not work if these variables are not
  198.    in the DGROUP segment */
  199. CWL_EXTERN  unsigned       * CWLstack;
  200. CWL_EXTERN  unsigned        CWLstack_on;
  201. CWL_EXTERN  unsigned DEFDS  CWLstack_seg;
  202. CWL_EXTERN  unsigned DEFDS  CWLstack_bot;
  203. CWL_EXTERN  unsigned DEFDS  CWLoldseg;
  204. CWL_EXTERN  unsigned DEFDS  CWLoldtop;
  205. CWL_EXTERN  unsigned        CWL13seg;
  206. CWL_EXTERN  unsigned        CWL13ofs;
  207. CWL_EXTERN  unsigned        CWLorig13seg;
  208. CWL_EXTERN  unsigned        CWLorig13off;
  209.  
  210.  
  211.  
  212. /* Callback function pointers.  Safe to be modified. */
  213.  
  214. CWL_EXTERN POPUPUNDEFKEYPROC CWLpopup_undef_key_func;
  215. CWL_EXTERN BARUNDEFKEYPROC   CWLbar_undef_key_func;
  216. CWL_EXTERN CWLERRORPROC      CWLerror_func;
  217. CWL_EXTERN UNDEFKEYPROC      CWLundef_fkey_func;
  218. CWL_EXTERN UNDEFKEYPROC      CWLundef_akey_func;
  219.  
  220. CWL_EXTERN CHARSENTEREDPROC  CWLchars_entered_func;
  221. CWL_EXTERN REGEXPERRORPROC   CWLreg_exp_error_func;
  222. CWL_EXTERN FIELDERRORPROC    CWLfield_error_func;
  223. CWL_EXTERN FORMUNDEFPROC     CWLundef_form_func;
  224. CWL_EXTERN KEYIDLEPROC       CWLkey_idle_func;
  225. CWL_EXTERN KEYINTERCEPTPROC  CWLkey_intercept_func;
  226.  
  227. CWL_EXTERN BARPREPROC        CWLglobal_bar_prefunc;
  228. CWL_EXTERN POPUPPREPROC      CWLglobal_popup_prefunc;
  229.  
  230. CWL_EXTERN POPUPMOUSEPROC    CWLpopup_mouse_func;
  231. CWL_EXTERN FORMLISTPROC      CWLform_picklist_func;
  232. CWL_EXTERN EDITERRORPROC     CWLedit_error_func;
  233.  
  234. CWL_EXTERN FIELDPREPROC      CWLfield_prefunc;
  235. CWL_EXTERN FIELDPOSTPROC     CWLfield_postfunc;
  236. CWL_EXTERN FORMUNDEFKEYPROC  CWLform_undef_fkey_func;
  237. CWL_EXTERN FORMUNDEFKEYPROC  CWLform_undef_akey_func;
  238.  
  239. CWL_EXTERN FIELDUNDEFKEYPROC CWLundef_toggle_func;
  240. CWL_EXTERN FIELDUNDEFKEYPROC CWLundef_button_func;
  241. CWL_EXTERN FIELDUNDEFKEYPROC CWLundef_radio_func;
  242. CWL_EXTERN FIELDUNDEFKEYPROC CWLundef_checkbox_func;
  243. CWL_EXTERN FIELDUNDEFKEYPROC CWLundef_list_func;
  244.  
  245. CWL_EXTERN HELPUNDEFKEYPROC  CWLundef_helpkey_func;
  246. CWL_EXTERN HELPPREPROC       CWLform_help_prefunc;
  247.  
  248. CWL_EXTERN SPECFIELDPREPROC  CWLradio_field_prefunc;
  249. CWL_EXTERN SPECFIELDPREPROC  CWLcheckbox_field_prefunc;
  250. CWL_EXTERN SPECFIELDPREPROC  CWLtoggle_field_prefunc;
  251.  
  252.  
  253. /* The following functions are pointing to 0000:0000 if there is no mouse
  254.  * installed, or the mouse library is not included.  These functions are
  255.    intended for internal use only. */
  256.  
  257. CWL_EXTERN CWL_VOID     (*CWLmouse_stat_pos_func) _PROTO_((UNKNOWNARGS));
  258. CWL_EXTERN unsigned     (*CWLgetmousekey_func) _PROTO_((int, int *, int *, int *));
  259. CWL_EXTERN int          (*CWLmouse_press_func) _PROTO_((int));
  260. CWL_EXTERN CWL_VOID     (*CWLmouse_screen_func) _PROTO_((int,int,int *, int *));
  261. CWL_EXTERN int          (*CWLcap_win_func) _PROTO_((WPOINTER,int,int,int *,int *));
  262. CWL_EXTERN CWL_VOID     (*CWLmouse_hide_func) _PROTO_((UNKNOWNARGS));
  263. CWL_EXTERN CWL_VOID     (*CWLmouse_show_func) _PROTO_((UNKNOWNARGS));
  264. CWL_EXTERN CWL_VOID     (*CWLmouse_hmin_max_func) _PROTO_((UNKNOWNARGS));
  265. CWL_EXTERN CWL_VOID     (*CWLmouse_vmin_max_func) _PROTO_((UNKNOWNARGS));
  266. CWL_EXTERN CWL_VOID     (*CWLmouse_set_page_func) _PROTO_((UNKNOWNARGS));
  267. CWL_EXTERN CWL_VOID     (*CWLdraw_hotspots_func)  _PROTO_((WPOINTER,int));
  268. CWL_EXTERN CWL_VOID     (*CWLdraw_sb_func)       _PROTO_((WPOINTER,int));
  269. CWL_EXTERN CWL_VOID     (*CWLfree_hotspots_func) _PROTO_((WPOINTER));
  270. CWL_EXTERN unsigned     (*CWLsearch_form_func) _PROTO_((int,int));
  271. CWL_EXTERN int          (*CWLform_help_func) _PROTO_((unsigned));
  272. CWL_EXTERN CWL_VOID     (*CWLmouse_release_func) _PROTO_((CWL_VOID));
  273. CWL_EXTERN CWL_VOID     (*CWLpending_off_func) _PROTO_((int));
  274. CWL_EXTERN int          (*CWLfree_event_func) _PROTO_((WPOINTER));
  275. CWL_EXTERN int          (*CWLform_free_func) _PROTO_((FORMPTR));
  276. CWL_EXTERN int          (*CWLapprox_delay_func) _PROTO_((int,int));
  277. CWL_EXTERN int          (*CWLmouse_restore_func) _PROTO_((int));
  278. CWL_EXTERN CWL_VOID     (*CWLdraw_caption_func) _PROTO_((WPOINTER));
  279. CWL_EXTERN CWL_VOID     (*CWLstring_double_func) _PROTO_((char *, VOIDPTR ,
  280.                                                            int));
  281. CWL_EXTERN CWL_VOID     (*CWLdouble_string_func) _PROTO_((FORMPTR, int,
  282.                                                            char *, VOIDPTR ));
  283. CWL_EXTERN int          (*CWLdouble_comp_func) _PROTO_((double, double,
  284.                                                          double, int));
  285. CWL_EXTERN int          (*CWLfloat_comp_func) _PROTO_((float, float, float,
  286.                                                         int));
  287. CWL_EXTERN int          (*CWLsearch_radio_func) _PROTO_((FORMPTR,int,int,
  288.                                                           int,int,int));
  289. CWL_EXTERN int          (*CWLnormal_field_func) _PROTO_((WPOINTER, int, int,
  290.                                                           char *, char *,
  291.                                                           int, int, int, int,
  292.                                                           char *, int,
  293.                                                           int, int, long,
  294.                                                           char, int,
  295.                                                           unsigned *, int *));
  296. CWL_EXTERN int          (*CWLtoggle_field_func) _PROTO_((FORMPTR, int,
  297.                                                           unsigned, unsigned,
  298.                                                           int *));
  299. CWL_EXTERN int          (*CWLsubform_func) _PROTO_((FORMPTR , int));
  300. CWL_EXTERN int          (*CWLpicklist_func) _PROTO_((FORMPTR , int, int *));
  301. CWL_EXTERN int          (*CWLbutton_field_func) _PROTO_((FORMPTR , int,
  302.                                                           int *));
  303. CWL_EXTERN int          (*CWLradio_field_func) _PROTO_((FORMPTR , int, int *));
  304. CWL_EXTERN CWL_VOID     (*CWLradio_setup_func) _PROTO_((FORMPTR , int, int));
  305. CWL_EXTERN CWL_VOID     (*CWLcheckbox_setup_func) _PROTO_((FORMPTR , int,
  306.                                                             int));
  307. CWL_EXTERN int          (*CWLcheckbox_func) _PROTO_((FORMPTR , int ,int *));
  308. CWL_EXTERN int          (*CWLsearch_checkbox_func) _PROTO_((FORMPTR ,int,int,
  309.                                                              int,int,int));
  310. CWL_EXTERN int          (*CWLsearch_list_func) _PROTO_((FORMPTR ,int,int,int));
  311. CWL_EXTERN CWL_VOID     (*CWLdisplay_list_func) _PROTO_((FORMPTR, int));
  312. CWL_EXTERN int          (*CWLform_display_func) _PROTO_((FORMPTR, int, int));
  313.  
  314. CWL_EXTERN VOIDFARPROC CWLInt13;
  315.  
  316. #ifdef MSDOS
  317.  
  318. /* Interrupt functions */
  319. #ifdef MSC
  320. #define GETVECTFUNC   _dos_getvect
  321. #define SETVECTFUNC   _dos_setvect
  322. typedef void (interrupt far *INTERRUPTPROC) _PROTO_((UNKNOWNARGS));
  323. #define INTFUNCDEF     void interrupt far
  324. #endif
  325.  
  326. #ifdef __TURBOC__
  327. #define GETVECTFUNC   getvect
  328. #define SETVECTFUNC   setvect
  329. typedef void interrupt (far *INTERRUPTPROC) _PROTO_((UNKNOWNARGS));
  330.  
  331. #define INTFUNCDEF     void interrupt far
  332. #endif
  333.  
  334. #ifdef POWERC
  335. #define GETVECTFUNC   getvect
  336. #define SETVECTFUNC   setvect
  337. typedef void interrupt far (*INTERRUPTPROC) _PROTO_((UNKNOWNARGS));
  338.  
  339. #define INTFUNCDEF     void interrupt far
  340. #endif
  341.  
  342. #ifdef __ZTC__
  343. #include <int.h>
  344. #define GETVECTFUNC   _dos_getvect
  345. #define SETVECTFUNC   _dos_setvect
  346. #define INTFUNCDEF     int
  347. typedef CWL_VOID (*INTERRUPTPROC) _PROTO_((UNKNOWNARGS));
  348. #endif
  349.  
  350.  
  351. #else
  352. typedef CWL_VOID (*INTERRUPTPROC) _PROTO_((UNKNOWNARGS));
  353. #endif
  354.  
  355. CWL_EXTERN INTERRUPTPROC CWLoldint9;
  356. CWL_EXTERN INTERRUPTPROC CWLoldint1C;
  357. CWL_EXTERN INTERRUPTPROC CWLoldint13;
  358.  
  359. #ifdef __cplusplus
  360. extern "C" {
  361. #endif
  362. #ifdef MSDOS
  363. /* The int 1C functions */
  364.  
  365. #ifndef __ZTC__
  366. INTFUNCDEF TimerHandler _PROTO_((UNKNOWNARGS));
  367. INTFUNCDEF KbdHandler   _PROTO_((UNKNOWNARGS));
  368. #else
  369. INTFUNCDEF TimerHandler _PROTO_((struct INT_DATA *pd));
  370. INTFUNCDEF KbdHandler   _PROTO_((struct INT_DATA *pd));
  371. #endif /* Zortech/Symantec C++ */
  372.  
  373. #endif /* MSDOS */
  374. #ifdef __cplusplus
  375. }
  376. #endif
  377.  
  378.