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