home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 511.lha / kd_freq.library_v3.00 / Programming / kdbase.h < prev    next >
C/C++ Source or Header  |  1991-06-07  |  5KB  |  128 lines

  1. /*
  2.  
  3. Filename: kdbase.i
  4. Release : 3.00
  5.  
  6. (C) 1990 Khalid Aldoseri
  7.  
  8. */
  9.  
  10.  
  11. #define KLIBNAME        "kd_freq.library"
  12. #define    KLIBVERSION        3L
  13.  
  14. #define    FRB_PRIVATE        0L    /* Private flag - do not use */
  15. #define    FRB_DUALWILD        1L    /* Dual wildcard facility */
  16. #define FRB_NOINFO        2L    /* Don't show .info files */
  17. #define    FRB_NOTITLEBAR        3L    /* No titlebar/dragbar/front/back/close gads */
  18. #define FRB_AUTOPOSITION    4L    /* Use autopositioning */
  19. #define FRB_AUTOSIZE        5L    /* Use autosizing */
  20. #define FRB_NORESIZE        6L    /* Forbid resizing */
  21. #define FRB_OKTEXT        7L    /* New OK text defined */
  22. #define FRB_FRONTSCREEN        8L    /* Show up on front screen */
  23. #define FRB_NOTEXTSHADOW    9L    /* Do not use text shadows */
  24. #define FRB_REPLACEIMAGES    10L    /* Give user program images to FR */
  25. #define FRB_CANCELTEXT        11L    /* New Cancel text defined */
  26. #define FRB_NEWFONT        12L    /* Use a special font */
  27. #define FRB_SCREENFONT        13L    /* Use the screen's font */
  28. #define FRB_EXTENDEDSELECT    14L    /* -- old flag -- use SELECTLIST instead -- */
  29. #define FRB_INVERTLOOK        15L    /* Gives an inverted look.. use for Save */
  30. #define FRB_HIDEWILD        16L    /* Hide Wildcard to be defined in extras->Hide */
  31. #define FRB_NEWLOOK        17L    /* Make FR use that WB 2.0 look */
  32. #define FRB_NONEWLOOK        18L    /* Disable auto-enable of FR_NEWLOOK */
  33. #define FRB_SELECTLIST        19L    /* Allow user to select multiple files */
  34. #define    FRB_SLSHOWNAMES        20L    /* Show filenames only in Select List */
  35. #define    FRB_KEEPBUFFERS        21L    /* Don't flush buffers at exit. i.e. next
  36.                        call of NewFReq() will not re-read the
  37.                        directories. */
  38.  
  39. #define    FRB_INUSE        31L    /* Private flag - do not use */
  40.  
  41. #define    FR_PRIVATE        1L << FRB_PRIVATE        /* !! */
  42. #define    FR_DUALWILD        1L << FRB_DUALWILD
  43. #define FR_NOINFO        1L << FRB_NOINFO        /* !! */
  44. #define    FR_NOTITLEBAR        1L << FRB_NOTITLEBAR
  45. #define FR_AUTOPOSITION        1L << FRB_AUTOPOSITION
  46. #define FR_AUTOSIZE        1L << FRB_AUTOSIZE
  47. #define FR_NORESIZE        1L << FRB_NORESIZE
  48. #define FR_OKTEXT        1L << FRB_OKTEXT
  49. #define FR_FRONTSCREEN        1L << FRB_FRONTSCREEN
  50. #define FR_NOTEXTSHADOW        1L << FRB_NOTEXTSHADOW
  51. #define FR_REPLACEIMAGES    1L << FRB_REPLACEIMAGES
  52. #define FR_CANCELTEXT        1L << FRB_CANCELTEXT
  53. #define FR_NEWFONT        1L << FRB_NEWFONT
  54. #define FR_SCREENFONT        1L << FRB_SCREENFONT
  55. #define FR_EXTENDEDSELECT    1L << FRB_EXTENDEDSELECT
  56. #define FR_INVERTLOOK        1L << FRB_INVERTLOOK
  57. #define FR_HIDEWILD        1L << FRB_HIDEWILD
  58. #define FR_NEWLOOK        1L << FRB_NEWLOOK        /* !! */
  59. #define FR_NONEWLOOK        1L << FRB_NONEWLOOK
  60. #define FR_SELECTLIST        1L << FRB_SELECTLIST
  61. #define    FR_SLSHOWNAMES        1L << FRB_SLSHOWNAMES        /* !! */
  62. #define FR_KEEPBUFFERS        1L << FRB_KEEPBUFFERS
  63.  
  64. #define    FR_INUSE        1L << FRB_INUSE
  65.  
  66. /*  Flags marked with !! above can be changed by the FR */
  67.  
  68. #define FR_STDFLAGS (FR_AUTOPOSITION|FR_AUTOSIZE|FR_NOINFO|FR_SCREENFONT|FR_HIDEWILD)
  69.  
  70. struct FileList {    /* Structure for returned multiple select */
  71.  struct FileList *next;    /* Pointer to next FileList structure */ 
  72.  LONG   private;    /* private -- do not use */
  73.  LONG   FileSize;    /* File size  */
  74.  LONG   FileDate;    /* Date stamp (in days since 1978) */
  75.  USHORT FileTime;    /* Time stamp (in minutes since midnight) */
  76.  UBYTE  FileProtection;    /* Protection flags */
  77.  UBYTE  FileFlags;    /* Special file flags */
  78.  UBYTE  FileName[32];    /* The file name itself */
  79.  };
  80.  
  81. struct ExtraData {
  82.  struct Image *UpArrow;        /* replacement image for Up Arrow */
  83.  struct Image *DnArrow;        /* replacement image for Down Arrow */
  84.  struct Image *DiskNormal;    /* replacement image for Disks */
  85.  struct Image *DiskSelected;    /* replacement select image for Disks */
  86.  
  87.                 /* NO LONGER VALID... DO NOT USE */
  88.  struct Image *SizeStrip;    /* replacement image for Size gadgets */
  89.  
  90.  UBYTE    *oktext;        /* text to be used as OK text */
  91.  UBYTE    *canceltext;        /* text to be used as CANCEL text */
  92.  USHORT    LeftEdge,TopEdge,Width,Height;
  93.  
  94.  struct    TextFont *NewFont;    /* New font to use instead of Topaz 8 */    
  95.  
  96.                 /* THIS IS NOW REDUDANT.. USE NextSelect() */
  97.  struct    FileList *ExtendedList;    /* Always set to NULL at first call.  */
  98.                 /* If FR_EXTENDEDSELECT is set, this will */
  99.                 /* return a linked list of FileList structs. */
  100.                 /* WARNING!  DO NOT USE THIS ANYMORE... */
  101.                 /* I MIGHT REMOVE IT FOR RELEASE 4. */
  102.  
  103.  UBYTE    *Hide;            /* Hide wildcard pattern */
  104.  
  105.  UBYTE    *SelectList;        /* Pointer to the internal Select List */
  106.  UBYTE    *NextEntry;        /* Pointer to next entry, used by NextSelectEntry() */
  107.  ULONG  SelectListSize;        /* Size of SelectList.. in bytes */
  108.  
  109.  UBYTE    *buffer;        /* private storage for temp stuff */
  110.  ULONG    unused[4];        /* for future expansion.  Always set to NULL */
  111.  };
  112.  
  113.                 /* Use this structure for the NewFReq() call */
  114.                 /* This allows you to call the FR with just */
  115. struct FRequest {        /* one argument, a struct FRequest */
  116.  struct Screen *screen;        /* Pointer to a screen structure */
  117.  UBYTE *reqtitle;        /* Pointer to title text */
  118.  UBYTE *filename;        /* Pointer to the filename buffer */
  119.  UBYTE *directory;        /* Pointer to the directory buffer */
  120.  UBYTE *fullname;        /* Pointer to the full path to the file */
  121.  UBYTE *pattern;        /* Pointer to the pattern buffer */
  122.  ULONG flags;            /* FR flags */
  123.  struct ExtraData *extras;    /* pointer to an ExtraData struct */
  124.  };
  125.  
  126.  
  127. /*                   Copyright 1990,1991  Khalid Aldoseri.                   */
  128.