home *** CD-ROM | disk | FTP | other *** search
- #ifndef CPP_LIBRARIES_ASL_H
- #define CPP_LIBRARIES_ASL_H
-
- // Asl Requester Klassen
- //
- // Autor: Jochen Becher
- //
- // Historie:
- // Version 1.0 am 4. März 94
-
- #ifndef LIBRARIES_ASL_H
- #include <libraries/asl.h>
- #endif
-
- #ifndef CPP_UTILITY_TAGITEM_H
- #include <classes/utility/tagitem.h>
- #endif
-
- #ifndef CPP_GRAPHICS_TEXT_H
- #include <classes/graphics/text.h>
- #endif
-
- #ifndef CPP_EXCEPTIONS_EXCEPTIONS_H
- #include <classes/exceptions/exceptions.h>
- #endif
-
- class AslRequestC : protected ShareC {
- public:
- AslRequestC(ULONG type, struct TagItem *taglist = NULL) throw (AslRequestX,MemoryX);
- AslRequestC(ULONG type,Tag tag1type, ...) throw (AslRequestX,MemoryX);
- AslRequestC(const AslRequestC &);
- ~AslRequestC();
- AslRequestC &operator= (const AslRequestC &);
- APTR requester() const { return aslRequester; };
- BOOL request(struct TagItem *taglist = NULL);
- BOOL request(Tag tag1type, ...);
- private:
- APTR aslRequester;
- };
-
- class AslFileRequestC : public AslRequestC {
- public:
- AslFileRequestC(struct TagItem *taglist = NULL) throw (AslRequestX,MemoryX)
- : AslRequestC(ASL_FileRequest,taglist) { };
- AslFileRequestC(Tag tag1type, ...) throw (AslRequestX,MemoryX)
- : AslRequestC(ASL_FileRequest,(struct TagItem *) &tag1type) { };
- struct FileRequester *requester() const
- { return (struct FileRequester *) AslRequestC::requester(); };
- STRPTR file() const;
- STRPTR drawer() const;
- };
-
- class AslFontRequestC : public AslRequestC {
- public:
- AslFontRequestC(struct TagItem *taglist = NULL) throw (AslRequestX,MemoryX)
- : AslRequestC(ASL_FontRequest,taglist) { };
- AslFontRequestC(Tag tag1type, ...) throw (AslRequestX,MemoryX)
- : AslRequestC(ASL_FontRequest,(struct TagItem *) &tag1type) { };
- struct FontRequester *requester() const
- { return (struct FontRequester *) AslRequestC::requester(); };
- TextAttrC *attr() const;
- UBYTE frontpen() const;
- UBYTE backpen() const;
- UBYTE drawmode() const;
- };
-
- // Achtung: Erst ab Version 38 verfügbar
- class AslScreenModeRequestC : public AslRequestC {
- public:
- AslScreenModeRequestC(struct TagItem *taglist = NULL) throw (AslRequestX,MemoryX)
- : AslRequestC(ASL_ScreenModeRequest,taglist) { };
- AslScreenModeRequestC(Tag tag1type, ...) throw (AslRequestX,MemoryX)
- : AslRequestC(ASL_ScreenModeRequest,(struct TagItem *) &tag1type) { };
- struct ScreenModeRequester *requester() const
- { return (struct ScreenModeRequester *) AslRequestC::requester(); };
- };
-
- #endif
-