home *** CD-ROM | disk | FTP | other *** search
- #ifndef APP_ScreenC_H
- #define APP_ScreenC_H
- /******************************************************************************
- **
- ** C++ Class Library for the Amiga© system software.
- **
- ** Copyright (C) 1994 by Armin Vogt ** EMail: armin@uni-paderborn.de
- ** All Rights Reserved.
- **
- ** $VER: apphome:APlusPlus/intuition/ScreenC.h 1.04 (04.05.94) $
- **
- ******************************************************************************/
-
- extern "C" {
- #include <intuition/screens.h>
- }
- #include <APlusPlus/graphics/GraphicObject.h>
-
-
- /******************************************************************************************
- » ScreenC class «
-
- ******************************************************************************************/
-
- class ScreenC : public GraphicObject
- {
- private:
- struct DrawInfo *drawInfo;
- APTR visualInfo;
- BOOL lockOnPublic; // TRUE if this has locked a public screen.
-
- BOOL fillInfo();
-
- protected:
- struct Screen*& screen() { return (struct Screen*&)IObject(); }
-
- public:
- ScreenC(OWNER,AttrList& attrs);
- ScreenC(OWNER,UBYTE *name);
- ~ScreenC();
-
- struct Screen *screenPtr() { return (Screen*)IObject(); }
-
- ULONG setAttributes(AttrList& attrs);
- ULONG getAttribute(Tag,ULONG&);
-
- struct DrawInfo *getScreenDrawInfo();
- APTR getVisualInfo();
-
- BOOL isPublicScreen() { return lockOnPublic; }
- };
-
- #define SCREENC_NOINFO (IOTYPE_SCREEN+1)
- #define SCREENC_OPENSCREEN_FAILED (IOTYPE_SCREEN+2)
- #define SCREENC_PUBLICSCREEN_NOT_FOUND (IOTYPE_SCREEN+3)
- #endif
-