home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / OTL-MC7.DMS / in.adf / classes.lha / Classes / Libraries / asl.h next >
Encoding:
C/C++ Source or Header  |  1995-01-31  |  2.3 KB  |  79 lines

  1. #ifndef CPP_LIBRARIES_ASL_H
  2. #define CPP_LIBRARIES_ASL_H
  3.  
  4. // Asl Requester Klassen
  5. //
  6. // Autor: Jochen Becher
  7. //
  8. // Historie:
  9. // Version 1.0 am 4. März 94
  10.  
  11. #ifndef LIBRARIES_ASL_H
  12. #include <libraries/asl.h>
  13. #endif
  14.  
  15. #ifndef CPP_UTILITY_TAGITEM_H
  16. #include <classes/utility/tagitem.h>
  17. #endif
  18.  
  19. #ifndef CPP_GRAPHICS_TEXT_H
  20. #include <classes/graphics/text.h>
  21. #endif
  22.  
  23. #ifndef CPP_EXCEPTIONS_EXCEPTIONS_H
  24. #include <classes/exceptions/exceptions.h>
  25. #endif
  26.  
  27. class AslRequestC : protected ShareC {
  28. public:
  29.     AslRequestC(ULONG type, struct TagItem *taglist = NULL) throw (AslRequestX,MemoryX);
  30.     AslRequestC(ULONG type,Tag tag1type, ...) throw (AslRequestX,MemoryX);
  31.     AslRequestC(const AslRequestC &);
  32.     ~AslRequestC();
  33.     AslRequestC &operator= (const AslRequestC &);
  34.     APTR requester() const { return aslRequester; };
  35.     BOOL request(struct TagItem *taglist = NULL);
  36.     BOOL request(Tag tag1type, ...);
  37. private:
  38.     APTR aslRequester;
  39. };
  40.  
  41. class AslFileRequestC : public AslRequestC {
  42. public:
  43.     AslFileRequestC(struct TagItem *taglist = NULL) throw (AslRequestX,MemoryX)
  44.         : AslRequestC(ASL_FileRequest,taglist) { };
  45.     AslFileRequestC(Tag tag1type, ...) throw (AslRequestX,MemoryX)
  46.         : AslRequestC(ASL_FileRequest,(struct TagItem *) &tag1type) { };
  47.     struct FileRequester *requester() const
  48.         { return (struct FileRequester *) AslRequestC::requester(); };
  49.     STRPTR file() const;
  50.     STRPTR drawer() const;
  51. };
  52.  
  53. class AslFontRequestC : public AslRequestC {
  54. public:
  55.     AslFontRequestC(struct TagItem *taglist = NULL) throw (AslRequestX,MemoryX)
  56.         : AslRequestC(ASL_FontRequest,taglist) { };
  57.     AslFontRequestC(Tag tag1type, ...) throw (AslRequestX,MemoryX)
  58.         : AslRequestC(ASL_FontRequest,(struct TagItem *) &tag1type) { };
  59.     struct FontRequester *requester() const
  60.         { return (struct FontRequester *) AslRequestC::requester(); };
  61.     TextAttrC *attr() const;
  62.     UBYTE frontpen() const;
  63.     UBYTE backpen() const;
  64.     UBYTE drawmode() const;
  65. };
  66.  
  67. // Achtung: Erst ab Version 38 verfügbar
  68. class AslScreenModeRequestC : public AslRequestC {
  69. public:
  70.     AslScreenModeRequestC(struct TagItem *taglist = NULL) throw (AslRequestX,MemoryX)
  71.         : AslRequestC(ASL_ScreenModeRequest,taglist) { };
  72.     AslScreenModeRequestC(Tag tag1type, ...) throw (AslRequestX,MemoryX)
  73.         : AslRequestC(ASL_ScreenModeRequest,(struct TagItem *) &tag1type) { };
  74.     struct ScreenModeRequester *requester() const
  75.         { return (struct ScreenModeRequester *) AslRequestC::requester(); };
  76. };
  77.  
  78. #endif
  79.