home *** CD-ROM | disk | FTP | other *** search
/ The Best of Mecomp Multimedia 1 / Mecomp-CD.iso / amiga / tools / utillities / vinced / include / prefs.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-05-19  |  11.6 KB  |  352 lines

  1. #ifndef VNC_PREFS_H
  2. #define VNC_PREFS_H
  3. /*********************************************************
  4.  ** ViNCEd                                              **
  5.  ** a DOS - window handler                              **
  6.  **                                                     **
  7.  ** © 1991-97 THOR-Software inc.                        **
  8.  ** Version 3.40                                        **
  9.  **                                                     **
  10.  ** program version 1.23 05/03/91       THOR            **
  11.  ** update  version 1.25 06/19/91       THOR            **
  12.  ** header file 06/19/91                THOR            **
  13.  ** updated to 3.30      03/31/97       THOR            **
  14.  ** updated to 3.40      05/08/97       THOR            **
  15.  ** updated to 3.41     05/19/97    THOR        **
  16.  **                                                     **
  17.  ** ViNCEd Prefs Definitions                            **
  18.  **-----------------------------------------------------**
  19.  **                                                     **
  20.  ** all use at your own risk,etc.,etc.                  **
  21.  **                                                     **
  22.  ** Everything declared as "reserved" or                **
  23.  ** "not used" is NOT free for your use,                **
  24.  ** it will propably used in a later release.           **
  25.  ** All FREE entries are free for public                **
  26.  ** use and are, if not otherwise noticed,              **
  27.  ** initialized as ZERO                                 **
  28.  *********************************************************/
  29.  
  30. #ifndef EXEC_TYPES_H
  31. #include <exec/types.h>
  32. #endif
  33.  
  34. /*************************************************
  35.  ** VNCPrefs                                    **
  36.  ** contains the preferences of                 **
  37.  ** all VNC-windows                             **
  38.  *************************************************/
  39.  
  40. #define VPF_HEADERLONG          0x70004e75      /* moveq #0,d0:rts */
  41. #define VPF_MAGIC1              (('V'<<24L)|('N'<<16L)|('C'<<8L)|('©'))
  42. #define VPF_MAGIC2              (('T'<<24L)|('H'<<16L)|('O'<<8L)|('R'))
  43. #define VPF_PREFVERSION         3
  44. #define VPF_PREFREVISION        2
  45.                 /* current version information */
  46.  
  47. #define VPF_MAXBUTTONS          16
  48.         /* maximal number of buttons here */
  49.  
  50. #define VPF_MACROS              20
  51.         /* current number of macros. DO NOT DEPEND ON THIS NUMBER !*/
  52.  
  53. #define VPF_FUNCLENGTH          58
  54.         /* maximal size of a macro */
  55.  
  56. #define VPF_SHORTLENGTH         16
  57.         /* maximal size of a button title */
  58.  
  59.  
  60. struct ViColorEntry {
  61.         UWORD   vce_Flags;      /* color entry flags, see below */
  62.         UWORD   vce_Red,vce_Green,vce_Blue;        /* 16 bit color */
  63. };
  64.  
  65. #define VCE_SET_BIT     0
  66.         /*set this to allocate the color */
  67. #define VCE_SET_MASK    (1L<<0)
  68.  
  69. #define VCE_ANSI_BIT    1
  70.     /*set if this defines an ANSI pen */
  71. #define VCE_ANSI_MASK    (1L<<1)
  72.  
  73.  
  74.  
  75. struct VNCPrefs {
  76.         ULONG vpf_Header;       /* should contain HEADERLONG */
  77.         ULONG vpf_Magic1;       /* MUST contain MAGIC1 to be legal preferences */
  78.         ULONG vpf_Magic2;       /* MUST contain MAGIC2 */
  79.         UWORD vpf_Version;      /* version and... */
  80.         UWORD vpf_Revision;     /* revision of THIS structure, now 3.2 */
  81.         ULONG vpf_Flags;        /* bit settings, see below for definition */
  82.         ULONG vpf_FMask;        /* valid bits above */
  83.         ULONG vpf_DOSFlags;     /* more bit settings */
  84.         ULONG vpf_DOSFMask;     /* valid bits */
  85.         UWORD vpf_HistorySize;  /* # lines in the history */
  86.         UWORD vpf_Macros;       /* number of macro-strings defined here.
  87.                                    NEED NOT to be VPF_MACROS! */
  88.         RPTR vpf_MacroOffset;   /* offset of the macro-strings to the
  89.                                    start-address of this structure,
  90.                                    the strings are saved as NUL-
  91.                                    terminated strings */
  92.         UWORD vpf_MacroSize;    /* max. length or macros: VPF_FUNCLENGTH */
  93.  
  94.         /* The next ones are new to 2.00 */
  95.  
  96.         UWORD vpf_UpperLines;   /* upper display size */
  97.         UWORD vpf_LowerLines;   /* lower display size */
  98.  
  99.         /* New to 3.00 */
  100.  
  101.         ULONG vpf_DelayMicros;  /* intuition delay micros,
  102.                                    320000 by default */
  103.         ULONG vpf_RebuildMicros;/* rebuild delay     */
  104.         ULONG vpf_SlowMicros;   /* scroll threshold  */
  105.         ULONG vpf_BlinkMicros;  /* blink speed       */
  106.  
  107.  
  108.         RPTR  vpf_ButtonOffset; /* offset to button strings,
  109.                                    NUL terminated strings, name and
  110.                                    title alternating */
  111.         UWORD vpf_Buttons;      /* # of buttons */
  112.         UWORD vpf_ButtonSize;   /* VPF_SHORTLENGTH */
  113.  
  114.         /* New to 3.30 */
  115.  
  116.         ULONG vpf_DefModeID;    /* default mode ID */
  117.         UWORD vpf_PathOnlyQ;    /* path only icon drop modifier */
  118.         UWORD vpf_NameOnlyQ;    /* name only icon drop modifier */
  119.  
  120.         ULONG vpf_MoreFlags;    /* used since 3.40, see below */
  121.         ULONG vpf_MoreFMask;    /* mask for the field above. Now used */
  122.  
  123.         ULONG vpf_Reserved[4];  /* leave blank */
  124.  
  125.         struct ViColorEntry vpf_Colors[16];       /* color definitions */
  126.  
  127. /* More here... DO NOT ALLOCATE YOURSELF, USE THE vnc.library FUNCTIONS
  128.    for handling or extracting the strings */
  129. };
  130.  
  131.  
  132. #define VPF_FIRSTMACRO(prefs) ((char *)(prefs)+(prefs)->vpf_MacroOffset)
  133.                            /* How to get the first macro */
  134.  
  135. #define VPF_FIRSTBUTTON(prefs) ((char *)(prefs)+(prefs)->vpf_ButtonOffset)
  136.                            /* How to get the first button */
  137.  
  138. #define VPF_NEXTSTRING(macro)   ((macro)+strlen(macro))
  139.                            /* How to get the next string if you have one */
  140.  
  141.  
  142. /* flags set in vpf_Flags */
  143.  
  144. /* DOS cursor mode */
  145. #define VPFF_DOSMODE_BIT                0
  146. #define VPFF_DOSMODE_MASK               (1L<<0)
  147.  
  148. /* add close gadget by default */
  149. #define VPFF_NODEFAULTCLOSE_BIT         1
  150. #define VPFF_NODEFAULTCLOSE_MASK        (1L<<1)
  151.  
  152. /* copy automatically ? */
  153. #define VPFF_AUTOCOPY_BIT               2
  154. #define VPFF_AUTOCOPY_MASK              (1L<<2)
  155.  
  156. /* auto close queue ? */
  157. #define VPFF_ALLPENDING_BIT             3
  158. #define VPFF_ALLPENDING_MASK            (1L<<3)
  159.  
  160. /* partial path ?*/
  161. #define VPFF_PARTIALPATH_BIT            6
  162. #define VPFF_PARTIALPATH_MASK           (1L<<6)
  163.  
  164. /* no middle mouse button ?*/
  165. #define VPFF_NOMMB_BIT                  9
  166. #define VPFF_NOMMB_MASK                 (1L<<9)
  167.  
  168. /* editor mode ?*/
  169. #define VPFF_EDITMODE_BIT               10
  170. #define VPFF_EDITMODE_MASK              (1L<<10)
  171.  
  172. /* chunky by default?*/
  173. #define VPFF_CHUNKYPRESET_BIT           11
  174. #define VPFF_CHUNKYPRESET_MASK          (1L<<11)
  175.  
  176. /* shell mode by default ?*/
  177. #define VPFF_SHELLMODE_BIT              12
  178. #define VPFF_SHELLMODE_MASK             (1L<<12)
  179.  
  180. /* CR inserts at line start?*/
  181. #define VPFF_CRMODE_BIT                 13
  182. #define VPFF_CRMODE_MASK                (1L<<13)
  183.  
  184. /* TAB inserts/moves only ?*/
  185. #define VPFF_TABMODE_BIT                14
  186. #define VPFF_TABMODE_MASK               (1L<<14)
  187.  
  188. /* cut inputs only ?*/
  189. #define VPFF_CUTMODE_BIT                15
  190. #define VPFF_CUTMODE_MASK               (1L<<15)
  191.  
  192. /* disable iconify ?*/
  193. #define VPFF_NOICONIC_BIT               17
  194. #define VPFF_NOICONIC_MASK              (1L<<17)
  195.  
  196. /* alternate movement ?*/
  197. #define VPFF_ALTMOVE_BIT                18
  198. #define VPFF_ALTMOVE_MASK               (1L<<18)
  199.  
  200. /* use TAB for expansion ?*/
  201. #define VPFF_ALTTAB_BIT                 19
  202. #define VPFF_ALTTAB_MASK                (1L<<19)
  203.  
  204. /* double TAB requester?*/
  205. #define VPFF_DOUBLETAB_BIT              20
  206. #define VPFF_DOUBLETAB_MASK             (1L<<20)
  207.  
  208. /* keep bottom line adjusted ?*/
  209. #define VPFF_BOTTOMADJUST_BIT        21
  210. #define VPFF_BOTTOMADJUST_MASK        (1L<<21)
  211.  
  212. /* overwrite mode ?*/
  213. #define VPFF_OVERWRITE_BIT              22
  214. #define VPFF_OVERWRITE_MASK             (1L<<22)
  215.  
  216. /* delayed refresh ?*/
  217. #define VPFF_ALLOWDELAY_BIT             23
  218. #define VPFF_ALLOWDELAY_MASK            (1L<<23)
  219.  
  220. /* sort dirs first ?*/
  221. #define VPFF_TABDIRSFIRST_BIT           24
  222. #define VPFF_TABDIRSFIRST_MASK          (1L<<24)
  223.  
  224. /* wrap around buffer?*/
  225. #define VPFF_WRAP_BIT                   25
  226. #define VPFF_WRAP_MASK                  (1L<<25)
  227.  
  228. /* first TAB expands fully?*/
  229. #define VPFF_FULLFIRSTTAB_BIT           26
  230. #define VPFF_FULLFIRSTTAB_MASK          (1L<<26)
  231.  
  232. /* ViNCEd requester ?*/
  233. #define VPFF_VINCREQ_BIT                27
  234. #define VPFF_VINCREQ_MASK               (1L<<27)
  235.  
  236. /* request if not unique ?*/
  237. #define VPFF_AMBIGREQ_BIT               28
  238. #define VPFF_AMBIGREQ_MASK              (1L<<28)
  239.  
  240. /* close requester ?*/
  241. #define VPFF_CLOSEREQ_BIT               29
  242. #define VPFF_CLOSEREQ_MASK              (1L<<29)
  243.  
  244. /* safer close ?*/
  245. #define VPFF_SAFERCLOSE_BIT             30
  246. #define VPFF_SAFERCLOSE_MASK            (1L<<30)
  247.  
  248. /* close with macro ?*/
  249. #define VPFF_CLEVERSHUT_BIT             31
  250. #define VPFF_CLEVERSHUT_MASK            (1L<<31)
  251.  
  252.  
  253. /* flags in vpf_DOSFlags */
  254.  
  255. /* VT-220 compatibility? */
  256. #define VPFD_VT220MODE_BIT              1
  257. #define VPFD_VT220MODE_MASK             (1L<<1)
  258.  
  259. /* disable full screen edit?*/
  260. #define VPFD_ROWLOCKED_BIT              3
  261. #define VPFD_ROWLOCKED_MASK             (1L<<3)
  262.  
  263. /* underscore cursor ?*/
  264. #define VPFD_UNDERSCORE_BIT             4
  265. #define VPFD_UNDERSCORE_MASK            (1L<<4)
  266.  
  267. /* dos inserts */
  268. #define VPFD_DOSINSERT_BIT              5
  269. #define VPFD_DOSINSERT_MASK             (1L<<5)
  270.  
  271. /* blinking cursor */
  272. #define VPFD_BLINKING_BIT               6
  273. #define VPFD_BLINKING_MASK              (1L<<6)
  274.  
  275. /* ANSI reverse coloring */
  276. #define VPFD_ANSIINVERSE_BIT            8
  277. #define VPFD_ANDIINVERSE_MASK           (1L<<8)
  278.  
  279. /* numeric keypad for cursor functions ? */
  280. #define VPFD_NUMPADMODE_BIT             9
  281. #define VPFD_NUMPADMODE_MASK            (1L<<9)
  282.  
  283. /* inhibit scrolling?*/
  284. #define VPFD_NOXSCROLL_BIT              18
  285. #define VPFD_NOXSCROLL_MASK             (1L<<18)
  286.  
  287. /* don't scroll at right border, break line */
  288. #define VPFD_SMALLSCROLL_BIT            19
  289. #define VPFD_SMALLSCROLL_MASK           (1L<<19)
  290.  
  291. /* no backspace at start of line */
  292. #define VPFD_NOLINEBACK_BIT             20
  293. #define VPFD_NOLINEBACK_MASK            (1L<<20)
  294.  
  295. /* disable scroll */
  296. #define VPFD_DISABLESCROLL_BIT          21
  297. #define VPFD_DISABLESCROLL_MASK         (1L<<21)
  298.  
  299. /* disable wrap */
  300. #define VPFD_DISABLEWRAP_BIT            22
  301. #define VPFD_DISABLEWRAP_MASK           (1L<<22)
  302.  
  303. /* erasing backspace */
  304. #define VPFD_ERASEINGBS_BIT             24
  305. #define VPFD_ERASEINGBS_MASK            (1L<<24)
  306.  
  307. /* automatic paste disable */
  308. #define VPFD_AUTOPASTE_BIT              25
  309. #define VPFD_AUTOPASTE_MASK             (1L<<25)
  310.  
  311. /* XTerm mode */
  312. #define VPFD_XTERMMODE_BIT              30
  313. #define VPFD_XTERMMODE_MASK             (1L<<30)
  314.  
  315. /* ANSI mode by default */
  316. #define VPFD_ANSIDEFAULT_BIT            31
  317. #define VPFD_ANSIDEFAULT_MASK           (1L<<31)
  318.  
  319.  
  320. /* flags in vpf_MoreFlags, used since 3.40 */
  321.  
  322. /* hard bounded scroll borders */
  323. #define VPFM_PARTIALSCROLL_BIT          0
  324. #define VPFM_PARTIALSCROLL_MASK         (1L<<0)
  325.  
  326. /* asynchronious type ahead */
  327. #define VPFM_TYPEAHEAD_BIT              1
  328. #define VPFM_TYPEAHEAD_MASK             (1L<<<1)
  329.  
  330. /* don't add devices implicitly for tab expansion */
  331. #define VPFM_NODEVICES_BIT              2
  332. #define VPFM_NODEVICES_MASK             (1L<<2)
  333.  
  334. /* don't add horizontal scroller by default */
  335. #define VPFM_NODEFPROPX_BIT             3
  336. #define VPFM_NODEFPROPX_MASK            (1L<<3)
  337.  
  338. /* don't add vertical scroller by default */
  339. #define VPFM_NODEFPROPY_BIT             4
  340. #define VPFM_NODEFPROPY_MASK            (1L<<4)
  341.  
  342. /* ignore .info files for TAB expansion */
  343. #define VPFM_IGNOREINFO_BIT        8
  344. #define VPFM_IGNOREINFO_MASK        (1L<<8)
  345.  
  346. /* swap Alt+Del/BS with S+Alt+Del/BS */
  347. #define VPFM_ALTDEL_BIT            10
  348. #define VPFM_ALTDEL_MASK        (1L<<10)
  349.  
  350. #endif
  351.  
  352.