home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 1 / FFMCD01.bin / bbs / libdisks / d700t799 / disk794.lha / ReqTools / include / libraries / reqtools.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-01-10  |  19.3 KB  |  617 lines

  1. #ifndef LIBRARIES_REQTOOLS_H
  2. #define LIBRARIES_REQTOOLS_H
  3. /*
  4. **    $Filename: libraries/reqtools.h $
  5. **    $Release: 2.1 $
  6. **    $Revision: 38.8 $
  7. **
  8. **    reqtools.library definitions
  9. **
  10. **    (C) Copyright 1991/1992 Nico François
  11. **    All Rights Reserved
  12. */
  13.  
  14. #ifndef    EXEC_TYPES_H
  15. #include <exec/types.h>
  16. #endif    /* EXEC_TYPES_H */
  17.  
  18. #ifndef    EXEC_LISTS_H
  19. #include <exec/lists.h>
  20. #endif    /* EXEC_LISTS_H */
  21.  
  22. #ifndef    EXEC_LIBRARIES_H
  23. #include <exec/libraries.h>
  24. #endif    /* EXEC_LIBRARIES_H */
  25.  
  26. #ifndef LIBRARIES_DOS_H
  27. #include <libraries/dos.h>
  28. #endif  /* LIBRARIES_DOS_H */
  29.  
  30. #ifndef    GRAPHICS_TEXT_H
  31. #include <graphics/text.h>
  32. #endif    /* GRAPHICS_TEXT_H */
  33.  
  34. #ifndef UTILITY_TAGITEM_H
  35. #include <utility/tagitem.h>
  36. #endif    /* UTILITY_TAGITEM_H */
  37.  
  38. #define    REQTOOLSNAME         "reqtools.library"
  39. #define    REQTOOLSVERSION         38L
  40.  
  41. /***********************
  42. *                      *
  43. *     Preferences      *
  44. *                      *
  45. ***********************/
  46.  
  47. #define RTPREF_FILEREQ         0L
  48. #define RTPREF_FONTREQ         1L
  49. #define RTPREF_PALETTEREQ     2L
  50. #define RTPREF_SCREENMODEREQ     3L
  51. #define RTPREF_VOLUMEREQ     4L
  52. #define RTPREF_OTHERREQ         5L
  53. #define RTPREF_NR_OF_REQ     6L
  54.  
  55. struct ReqDefaults {
  56.    ULONG Size;
  57.    ULONG ReqPos;
  58.    UWORD LeftOffset;
  59.    UWORD TopOffset;
  60.     UWORD MinEntries;
  61.     UWORD MaxEntries;
  62.    };
  63.  
  64. struct ReqToolsPrefs {
  65.    /* Size of preferences (_without_ this field and the semaphore) */
  66.    ULONG PrefsSize;
  67.    struct SignalSemaphore PrefsSemaphore;
  68.    /* Start of real preferences */
  69.    ULONG Flags;
  70.    struct ReqDefaults ReqDefaults[RTPREF_NR_OF_REQ];
  71.    };
  72.  
  73. #define RTPREFS_SIZE \
  74.    (sizeof (struct ReqToolsPrefs) - sizeof (struct SignalSemaphore) - 4)
  75.  
  76. /* Flags */
  77.  
  78. #define RTPRB_DIRSFIRST         0L
  79. #define RTPRF_DIRSFIRST         (1L<<RTPRB_DIRSFIRST)
  80. #define RTPRB_DIRSMIXED         1L
  81. #define RTPRF_DIRSMIXED         (1L<<RTPRB_DIRSMIXED)
  82. #define RTPRB_IMMSORT         2L
  83. #define RTPRF_IMMSORT         (1L<<RTPRB_IMMSORT)
  84. #define RTPRB_NOSCRTOFRONT     3L
  85. #define RTPRF_NOSCRTOFRONT     (1L<<RTPRB_NOSCRTOFRONT)
  86.  
  87. /***********************
  88. *                      *
  89. *     Library Base     *
  90. *                      *
  91. ***********************/
  92.  
  93. struct ReqToolsBase {
  94.    struct Library LibNode;
  95.    UBYTE RTFlags;
  96.    UBYTE pad[3];
  97.    BPTR SegList;
  98.  
  99.    /* PUBLIC FIELDS */
  100.  
  101.    /* The following library bases may be read and used by your program */
  102.    struct IntuitionBase *IntuitionBase;
  103.    struct GfxBase *GfxBase;
  104.    struct DosLibrary *DOSBase;
  105.    /* Next two library bases are only (and always) valid on Kickstart 2.0!
  106.       (1.3 version of reqtools also initializes these when run on 2.0) */
  107.    struct Library *GadToolsBase;
  108.    struct Library *UtilityBase;
  109.  
  110.    /* PRIVATE FIELDS, THESE WILL CHANGE FROM RELEASE TO RELEASE! */
  111.  
  112.    /* The RealOpenCnt is for the buffered AvailFonts feature.  Since
  113.       Kickstart 3.0 offers low memory handlers a release of ReqTools for 3.0
  114.       will not use this field and start using the normal OpenCnt again. */
  115.    UWORD RealOpenCnt;
  116.    UWORD AvailFontsLock;
  117.    struct AvailFontsHeader *AvailFontsHeader;
  118.    ULONG FontsAssignType;
  119.    BPTR FontsAssignLock;
  120.    struct AssignList *FontsAssignList;
  121.    struct ReqToolsPrefs ReqToolsPrefs;
  122.    UWORD prefspad;
  123.    };
  124.  
  125. /* types of requesters, for rtAllocRequestA() */
  126. #define RT_FILEREQ         0L
  127. #define RT_REQINFO         1L
  128. #define RT_FONTREQ         2L
  129. /* (V38) */
  130. #define RT_SCREENMODEREQ     3L
  131.  
  132. /***********************
  133. *                      *
  134. *    File requester    *
  135. *                      *
  136. ***********************/
  137.  
  138. /* structure _MUST_ be allocated with rtAllocRequest() */
  139.  
  140. struct rtFileRequester {
  141.    ULONG ReqPos;
  142.    UWORD LeftOffset;
  143.    UWORD TopOffset;
  144.    ULONG Flags;
  145.    /* OBSOLETE IN V38! DON'T USE! */ struct Hook *Hook;
  146.    /* */
  147.    char  *Dir;             /* READ ONLY! Change with rtChangeReqAttrA()! */
  148.    char  *MatchPat;         /* READ ONLY! Change with rtChangeReqAttrA()! */
  149.    /* */
  150.    struct TextFont *DefaultFont;
  151.    ULONG WaitPointer;
  152.    /* (V38) */
  153.    ULONG LockWindow;
  154.    ULONG ShareIDCMP;
  155.    struct Hook *IntuiMsgFunc;
  156.    UWORD reserved1;
  157.    UWORD reserved2;
  158.    UWORD reserved3;
  159.    UWORD ReqHeight;         /* READ ONLY!  Use RTFI_Height tag! */
  160.    /* Private data follows! HANDS OFF :-) */
  161.    };
  162.  
  163. /* returned by rtFileRequestA() if multiselect is enabled,
  164.    free list with rtFreeFileList() */
  165.  
  166. struct rtFileList {
  167.    struct rtFileList *Next;
  168.    ULONG StrLen;         /* -1 for directories */
  169.    char *Name;
  170.    };
  171.  
  172. /* structure passed to RTFI_FilterFunc callback hook by
  173.    volume requester (see RTFI_VolumeRequest tag) */
  174.  
  175. struct rtVolumeEntry {
  176.    ULONG Type;             /* DLT_DEVICE or DLT_DIRECTORY */
  177.    char *Name;
  178.    };
  179.  
  180. /***********************
  181. *                      *
  182. *    Font requester    *
  183. *                      *
  184. ***********************/
  185.  
  186. /* structure _MUST_ be allocated with rtAllocRequest() */
  187.  
  188. struct rtFontRequester {
  189.    ULONG ReqPos;
  190.    UWORD LeftOffset;
  191.    UWORD TopOffset;
  192.    ULONG Flags;
  193.    /* OBSOLETE IN V38! DON'T USE! */ struct Hook *Hook;
  194.    /* */
  195.    struct TextAttr Attr;     /* READ ONLY! */
  196.    /* */
  197.    struct TextFont *DefaultFont;
  198.    ULONG WaitPointer;
  199.    /* (V38) */
  200.    ULONG LockWindow;
  201.    ULONG ShareIDCMP;
  202.    struct Hook *IntuiMsgFunc;
  203.    UWORD reserved1;
  204.    UWORD reserved2;
  205.    UWORD reserved3;
  206.    UWORD ReqHeight;         /* READ ONLY!  Use RTFO_Height tag! */
  207.    /* Private data follows! HANDS OFF :-) */
  208.    };
  209.  
  210. /*************************
  211. *                        *
  212. *  ScreenMode requester  *
  213. *                        *
  214. *************************/
  215.  
  216. /* structure _MUST_ be allocated with rtAllocRequest() */
  217.  
  218. struct rtScreenModeRequester {
  219.    ULONG ReqPos;
  220.    UWORD LeftOffset;
  221.    UWORD TopOffset;
  222.    ULONG Flags;
  223.    ULONG private1;
  224.    /* */
  225.    ULONG DisplayID;         /* READ ONLY! */
  226.    UWORD DisplayWidth;         /* READ ONLY! */
  227.    UWORD DisplayHeight;         /* READ ONLY! */
  228.    /* */
  229.    struct TextFont *DefaultFont;
  230.    ULONG WaitPointer;
  231.    ULONG LockWindow;
  232.    ULONG ShareIDCMP;
  233.    struct Hook *IntuiMsgFunc;
  234.    UWORD reserved1;
  235.    UWORD reserved2;
  236.    UWORD reserved3;
  237.    UWORD ReqHeight;         /* READ ONLY!  Use RTSC_Height tag! */
  238.    /* */
  239.    UWORD DisplayDepth;         /* READ ONLY! */
  240.    UWORD OverscanType;         /* READ ONLY! */
  241.    ULONG AutoScroll;         /* READ ONLY! */
  242.    /* Private data follows! HANDS OFF :-) */
  243.    };
  244.  
  245. /***********************
  246. *                      *
  247. *    Requester Info    *
  248. *                      *
  249. ***********************/
  250.  
  251. /* for rtEZRequestA(), rtGetLongA(), rtGetStringA() and rtPaletteRequestA(),
  252.    _MUST_ be allocated with rtAllocRequest() */
  253.  
  254. struct rtReqInfo {
  255.    ULONG ReqPos;
  256.    UWORD LeftOffset;
  257.    UWORD TopOffset;
  258.    ULONG Width;             /* not for rtEZRequestA() */
  259.    char *ReqTitle;         /* currently only for rtEZRequestA() */
  260.    ULONG Flags;
  261.    struct TextFont *DefaultFont; /* currently only for rtPaletteRequestA() */
  262.    ULONG WaitPointer;
  263.    /* (V38) */
  264.    ULONG LockWindow;
  265.    ULONG ShareIDCMP;
  266.    struct Hook *IntuiMsgFunc;
  267.    /* structure may be extended in future */
  268.    };
  269.  
  270. /***********************
  271. *                      *
  272. *     Handler Info     *
  273. *                      *
  274. ***********************/
  275.  
  276. /* for rtReqHandlerA(), will be allocated for you when you use
  277.    the RT_ReqHandler tag, never try to allocate this yourself! */
  278.  
  279. struct rtHandlerInfo {
  280.    ULONG private1;
  281.    ULONG WaitMask;
  282.    ULONG DoNotWait;
  283.    /* Private data follows, HANDS OFF :-) */
  284.    };
  285.  
  286. /* possible return codes from rtReqHandlerA() */
  287.  
  288. #define CALL_HANDLER         (ULONG)0x80000000
  289.  
  290.  
  291. /*************************************
  292. *                                    *
  293. *                TAGS                *
  294. *                                    *
  295. *************************************/
  296.  
  297. #define RT_TagBase         TAG_USER
  298.  
  299. /*** tags understood by most requester functions ***
  300. */
  301. /* optional pointer to window */
  302. #define RT_Window         (RT_TagBase+1)
  303. /* idcmp flags requester should abort on (useful for IDCMP_DISKINSERTED) */
  304. #define RT_IDCMPFlags         (RT_TagBase+2)
  305. /* position of requester window (see below) - default REQPOS_POINTER */
  306. #define RT_ReqPos         (RT_TagBase+3)
  307. /* signal mask to wait for abort signal */
  308. #define RT_LeftOffset         (RT_TagBase+4)
  309. /* topedge offset of requester relative to position specified by RT_ReqPos */
  310. #define RT_TopOffset         (RT_TagBase+5)
  311. /* name of public screen to put requester on (Kickstart 2.0 only!) */
  312. #define RT_PubScrName         (RT_TagBase+6)
  313. /* address of screen to put requester on */
  314. #define RT_Screen         (RT_TagBase+7)
  315. /* tagdata must hold the address of (!) an APTR variable */
  316. #define RT_ReqHandler         (RT_TagBase+8)
  317. /* font to use when screen font is rejected, _MUST_ be fixed-width font!
  318.    (struct TextFont *, not struct TextAttr *!)
  319.    - default GfxBase->DefaultFont */
  320. #define RT_DefaultFont         (RT_TagBase+9)
  321. /* boolean to set the standard wait pointer in window - default FALSE */
  322. #define RT_WaitPointer         (RT_TagBase+10)
  323. /* (V38) char preceding keyboard shortcut characters (will be underlined) */
  324. #define RT_Underscore         (RT_TagBase+11)
  325. /* (V38) share IDCMP port with window - default FALSE */
  326. #define RT_ShareIDCMP         (RT_TagBase+12)
  327. /* (V38) lock window and set standard wait pointer - default FALSE */
  328. #define RT_LockWindow         (RT_TagBase+13)
  329. /* (V38) boolean to make requester's screen pop to front - default TRUE */
  330. #define RT_ScreenToFront     (RT_TagBase+14)
  331. /* (V38) Requester should use this font - default: screen font */
  332. #define RT_TextAttr         (RT_TagBase+15)
  333. /* (V38) call this hook for every IDCMP message not for requester */
  334. #define RT_IntuiMsgFunc         (RT_TagBase+16)
  335. /* (V38) Locale ReqTools should use for text */
  336. #define RT_Locale         (RT_TagBase+17)
  337.  
  338. /*** tags specific to rtEZRequestA ***
  339. */
  340. /* title of requester window - english default "Request" or "Information" */
  341. #define RTEZ_ReqTitle         (RT_TagBase+20)
  342. /* (RT_TagBase+21) reserved
  343. /* various flags (see below) */
  344. #define RTEZ_Flags         (RT_TagBase+22)
  345. /* default response (activated by pressing RETURN) - default TRUE */
  346. #define RTEZ_DefaultResponse     (RT_TagBase+23)
  347.  
  348. /*** tags specific to rtGetLongA ***
  349. */
  350. /* minimum allowed value - default MININT */
  351. #define RTGL_Min         (RT_TagBase+30)
  352. /* maximum allowed value - default MAXINT */
  353. #define RTGL_Max         (RT_TagBase+31)
  354. /* suggested width of requester window (in pixels) */
  355. #define RTGL_Width         (RT_TagBase+32)
  356. /* boolean to show the default value - default TRUE */
  357. #define RTGL_ShowDefault     (RT_TagBase+33)
  358. /* (V38) string with possible responses - english default " _Ok |_Cancel" */
  359. #define RTGL_GadFmt          (RT_TagBase+34)
  360. /* (V38) optional arguments for RTGL_GadFmt */
  361. #define RTGL_GadFmtArgs         (RT_TagBase+35)
  362. /* (V38) invisible typing - default FALSE */
  363. #define RTGL_Invisible         (RT_TagBase+36)
  364. /* (V38) window backfill - default TRUE */
  365. #define RTGL_BackFill         (RT_TagBase+37)
  366. /* (V38) optional text above gadget */
  367. #define RTGL_TextFmt         (RT_TagBase+38)
  368. /* (V38) optional arguments for RTGS_TextFmt */
  369. #define RTGL_TextFmtArgs     (RT_TagBase+39)
  370. /* (V38) various flags (see below) */
  371. #define RTGL_Flags         RTEZ_Flags
  372.  
  373. /*** tags specific to rtGetStringA ***
  374. */
  375. /* suggested width of requester window (in pixels) */
  376. #define RTGS_Width         RTGL_Width
  377. /* allow empty string to be accepted - default FALSE */
  378. #define RTGS_AllowEmpty         (RT_TagBase+80)
  379. /* (V38) string with possible responses - english default " _Ok |_Cancel" */
  380. #define RTGS_GadFmt          RTGL_GadFmt
  381. /* (V38) optional arguments for RTGS_GadFmt */
  382. #define RTGS_GadFmtArgs         RTGL_GadFmtArgs
  383. /* (V38) invisible typing - default FALSE */
  384. #define RTGS_Invisible         RTGL_Invisible
  385. /* (V38) window backfill - default TRUE */
  386. #define RTGS_BackFill         RTGL_BackFill
  387. /* (V38) optional text above gadget */
  388. #define RTGS_TextFmt         RTGL_TextFmt
  389. /* (V38) optional arguments for RTGS_TextFmt */
  390. #define RTGS_TextFmtArgs     RTGL_TextFmtArgs
  391. /* (V38) various flags (see below) */
  392. #define RTGS_Flags         RTEZ_Flags
  393.  
  394. /*** tags specific to rtFileRequestA ***
  395. */
  396. /* various flags (see below) */
  397. #define RTFI_Flags         (RT_TagBase+40)
  398. /* suggested height of file requester */
  399. #define RTFI_Height         (RT_TagBase+41)
  400. /* replacement text for 'Ok' gadget (max 6 chars) */
  401. #define RTFI_OkText         (RT_TagBase+42)
  402. /* (V38) bring up volume requester, tag data holds flags (see below) */
  403. #define RTFI_VolumeRequest     (RT_TagBase+43)
  404. /* (V38) call this hook for every file in the directory */
  405. #define RTFI_FilterFunc         (RT_TagBase+44)
  406. /* (V38) allow empty file to be accepted - default FALSE */
  407. #define RTFI_AllowEmpty         (RT_TagBase+45)
  408.  
  409. /*** tags specific to rtFontRequestA ***
  410. */
  411. /* various flags (see below) */
  412. #define RTFO_Flags         RTFI_Flags
  413. /* suggested height of font requester */
  414. #define RTFO_Height         RTFI_Height
  415. /* replacement text for 'Ok' gadget (max 6 chars) */
  416. #define RTFO_OkText         RTFI_OkText
  417. /* suggested height of font sample display - default 24 */
  418. #define RTFO_SampleHeight     (RT_TagBase+60)
  419. /* minimum height of font displayed */
  420. #define RTFO_MinHeight         (RT_TagBase+61)
  421. /* maximum height of font displayed */
  422. #define RTFO_MaxHeight         (RT_TagBase+62)
  423. /* [(RT_TagBase+63) to (RT_TagBase+66) used below] */
  424. /* (V38) call this hook for every font */
  425. #define RTFO_FilterFunc         RTFI_FilterFunc
  426.  
  427. /*** (V38) tags for rtScreenModeRequestA ***
  428. /* various flags (see below) */
  429. #define RTSC_Flags         RTFI_Flags
  430. /* suggested height of screenmode requester */
  431. #define RTSC_Height         RTFI_Height
  432. /* replacement text for 'Ok' gadget (max 6 chars) */
  433. #define RTSC_OkText         RTFI_OkText
  434. /* property flags (see also RTSC_PropertyMask) */
  435. #define RTSC_PropertyFlags     (RT_TagBase+90)
  436. /* property mask - default all bits in RTSC_PropertyFlags considered */
  437. #define RTSC_PropertyMask     (RT_TagBase+91)
  438. /* minimum display width allowed */
  439. #define RTSC_MinWidth         (RT_TagBase+92)
  440. /* maximum display width allowed */
  441. #define RTSC_MaxWidth         (RT_TagBase+93)
  442. /* minimum display height allowed */
  443. #define RTSC_MinHeight         (RT_TagBase+94)
  444. /* maximum display height allowed */
  445. #define RTSC_MaxHeight         (RT_TagBase+95)
  446. /* minimum display depth allowed */
  447. #define RTSC_MinDepth         (RT_TagBase+96)
  448. /* maximum display depth allowed */
  449. #define RTSC_MaxDepth         (RT_TagBase+97)
  450. /* call this hook for every display mode id */
  451. #define RTSC_FilterFunc         RTFI_FilterFunc
  452.  
  453. /*** tags for rtChangeReqAttrA ***
  454. */
  455. /* file requester - set directory */
  456. #define RTFI_Dir         (RT_TagBase+50)
  457. /* file requester - set wildcard pattern */
  458. #define RTFI_MatchPat         (RT_TagBase+51)
  459. /* file requester - add a file or directory to the buffer */
  460. #define RTFI_AddEntry         (RT_TagBase+52)
  461. /* file requester - remove a file or directory from the buffer */
  462. #define RTFI_RemoveEntry     (RT_TagBase+53)
  463. /* font requester - set font name of selected font */
  464. #define RTFO_FontName         (RT_TagBase+63)
  465. /* font requester - set font size */
  466. #define RTFO_FontHeight         (RT_TagBase+64)
  467. /* font requester - set font style */
  468. #define RTFO_FontStyle         (RT_TagBase+65)
  469. /* font requester - set font flags */
  470. #define RTFO_FontFlags         (RT_TagBase+66)
  471. /* (V38) screenmode requester - get display attributes from screen */
  472. #define RTSC_ModeFromScreen     (RT_TagBase+80)
  473. /* (V38) screenmode requester - set display mode id (32-bit extended) */
  474. #define RTSC_DisplayID         (RT_TagBase+81)
  475. /* (V38) screenmode requester - set display width */
  476. #define RTSC_DisplayWidth     (RT_TagBase+82)
  477. /* (V38) screenmode requester - set display height */
  478. #define RTSC_DisplayHeight     (RT_TagBase+83)
  479. /* (V38) screenmode requester - set display depth */
  480. #define RTSC_DisplayDepth     (RT_TagBase+84)
  481. /* (V38) screenmode requester - set overscan type, 0 for regular size */
  482. #define RTSC_OverscanType     (RT_TagBase+85)
  483. /* (V38) screenmode requester - set autoscroll */
  484. #define RTSC_AutoScroll         (RT_TagBase+86)
  485.  
  486. /*** tags for rtPaletteRequestA ***
  487. */
  488. /* initially selected color - default 1 */
  489. #define RTPA_Color         (RT_TagBase+70)
  490.  
  491. /*** tags for rtReqHandlerA ***
  492. */
  493. /* end requester by software control, set tagdata to REQ_CANCEL, REQ_OK or
  494.    in case of rtEZRequest to the return value */
  495. #define RTRH_EndRequest         (RT_TagBase+60)
  496.  
  497. /*** tags for rtAllocRequestA ***/
  498. /* no tags defined yet */
  499.  
  500.  
  501. /************
  502. * RT_ReqPos *
  503. ************/
  504. #define REQPOS_POINTER         0L
  505. #define REQPOS_CENTERWIN     1L
  506. #define REQPOS_CENTERSCR     2L
  507. #define REQPOS_TOPLEFTWIN     3L
  508. #define REQPOS_TOPLEFTSCR     4L
  509.  
  510. /******************
  511. * RTRH_EndRequest *
  512. ******************/
  513. #define REQ_CANCEL         0L
  514. #define REQ_OK             1L
  515.  
  516. /***************************************
  517. * flags for RTFI_Flags and RTFO_Flags  *
  518. * or filereq->Flags and fontreq->Flags *
  519. ***************************************/
  520. #define FREQB_NOBUFFER         2L
  521. #define FREQF_NOBUFFER         (1L<<FREQB_NOBUFFER)
  522.  
  523. /*****************************************
  524. * flags for RTFI_Flags or filereq->Flags *
  525. *****************************************/
  526. #define FREQB_MULTISELECT     0L
  527. #define FREQF_MULTISELECT     (1L<<FREQB_MULTISELECT)
  528. #define FREQB_SAVE         1L
  529. #define FREQF_SAVE         (1L<<FREQB_SAVE)
  530. #define FREQB_NOFILES         3L
  531. #define FREQF_NOFILES         (1L<<FREQB_NOFILES)
  532. #define FREQB_PATGAD         4L
  533. #define FREQF_PATGAD         (1L<<FREQB_PATGAD)
  534. #define FREQB_SELECTDIRS     12L
  535. #define FREQF_SELECTDIRS     (1L<<FREQB_SELECTDIRS)
  536.  
  537. /*****************************************
  538. * flags for RTFO_Flags or fontreq->Flags *
  539. *****************************************/
  540. #define FREQB_FIXEDWIDTH     5L
  541. #define FREQF_FIXEDWIDTH     (1L<<FREQB_FIXEDWIDTH)
  542. #define FREQB_COLORFONTS     6L
  543. #define FREQF_COLORFONTS     (1L<<FREQB_COLORFONTS)
  544. #define FREQB_CHANGEPALETTE     7L
  545. #define FREQF_CHANGEPALETTE     (1L<<FREQB_CHANGEPALETTE)
  546. #define FREQB_LEAVEPALETTE     8L
  547. #define FREQF_LEAVEPALETTE     (1L<<FREQB_LEAVEPALETTE)
  548. #define FREQB_SCALE         9L
  549. #define FREQF_SCALE         (1L<<FREQB_SCALE)
  550. #define FREQB_STYLE         10L
  551. #define FREQF_STYLE         (1L<<FREQB_STYLE)
  552.  
  553. /*****************************************************
  554. * (V38) flags for RTSC_Flags or screenmodereq->Flags *
  555. *****************************************************/
  556. #define SCREQB_SIZEGADS         13L
  557. #define SCREQF_SIZEGADS         (1L<<SCREQB_SIZEGADS)
  558. #define SCREQB_DEPTHGAD         14L
  559. #define SCREQF_DEPTHGAD         (1L<<SCREQB_DEPTHGAD)
  560. #define SCREQB_NONSTDMODES     15L
  561. #define SCREQF_NONSTDMODES     (1L<<SCREQB_NONSTDMODES)
  562. #define SCREQB_GUIMODES         16L
  563. #define SCREQF_GUIMODES         (1L<<SCREQB_GUIMODES)
  564. #define SCREQB_AUTOSCROLLGAD     18L
  565. #define SCREQF_AUTOSCROLLGAD     (1L<<SCREQB_AUTOSCROLLGAD)
  566. #define SCREQB_OVERSCANGAD     19L
  567. #define SCREQF_OVERSCANGAD     (1L<<SCREQB_OVERSCANGAD)
  568.  
  569. /*****************************************
  570. * flags for RTEZ_Flags or reqinfo->Flags *
  571. *****************************************/
  572. #define EZREQB_NORETURNKEY     0L
  573. #define EZREQF_NORETURNKEY     (1L<<EZREQB_NORETURNKEY)
  574. #define EZREQB_LAMIGAQUAL     1L
  575. #define EZREQF_LAMIGAQUAL     (1L<<EZREQB_LAMIGAQUAL)
  576. #define EZREQB_CENTERTEXT     2L
  577. #define EZREQF_CENTERTEXT     (1L<<EZREQB_CENTERTEXT)
  578.  
  579. /***********************************************
  580. * (V38) flags for RTGL_Flags or reqinfo->Flags *
  581. ***********************************************/
  582. #define GLREQB_CENTERTEXT     EZREQB_CENTERTEXT
  583. #define GLREQF_CENTERTEXT     EZREQF_CENTERTEXT
  584. #define GLREQB_HIGHLIGHTTEXT     3L
  585. #define GLREQF_HIGHLIGHTTEXT     (1L<<GLREQB_HIGHLIGHTTEXT)
  586.  
  587. /***********************************************
  588. * (V38) flags for RTGS_Flags or reqinfo->Flags *
  589. ***********************************************/
  590. #define GSREQB_CENTERTEXT     EZREQB_CENTERTEXT
  591. #define GSREQF_CENTERTEXT     EZREQF_CENTERTEXT
  592. #define GSREQB_HIGHLIGHTTEXT     GLREQB_HIGHLIGHTTEXT
  593. #define GSREQF_HIGHLIGHTTEXT     GLREQF_HIGHLIGHTTEXT
  594.  
  595. /*****************************************
  596. * (V38) flags for RTFI_VolumeRequest tag *
  597. *****************************************/
  598. #define VREQB_NOASSIGNS         0L
  599. #define VREQF_NOASSIGNS         (1L<<VREQB_NOASSIGNS)
  600. #define VREQB_NODISKS         1L
  601. #define VREQF_NODISKS         (1L<<VREQB_NODISKS)
  602. #define VREQB_ALLDISKS         2L
  603. #define VREQF_ALLDISKS         (1L<<VREQB_ALLDISKS)
  604.  
  605. /*
  606.    Following things are obsolete in ReqTools V38.
  607.    DON'T USE THESE IN NEW CODE!
  608. */
  609. #ifndef NO_REQTOOLS_OBSOLETE
  610. #define REQHOOK_WILDFILE 0L
  611. #define REQHOOK_WILDFONT 1L
  612. #define FREQB_DOWILDFUNC 11L                   
  613. #define FREQF_DOWILDFUNC (1L<<FREQB_DOWILDFUNC)
  614. #endif
  615.  
  616. #endif /* LIBRARIES_REQTOOLS_H */
  617.