home *** CD-ROM | disk | FTP | other *** search
- //////////////////////////////////////////////////////////////////////////////
- // window.hpp
- //
- // Jeffry A Worth
- // November 10, 1995
- //////////////////////////////////////////////////////////////////////////////
-
- #ifndef __WINDOW_HPP__
- #define __WINDOW_HPP__
-
- //////////////////////////////////////////////////////////////////////////////
- // Includes
- #include "aframe:include/aframe.hpp"
- #include "aframe:include/amigaapp.hpp"
- #include "aframe:include/rect.hpp"
- #include "aframe:include/screen.hpp"
-
- //////////////////////////////////////////////////////////////////////////////
- // Structures
-
- struct WindowRange {
- ULONG minWidth;
- ULONG minHeight;
- ULONG maxWidth;
- ULONG maxHeight;
- };
- typedef struct WindowRange * LPWindowRange;
-
- //////////////////////////////////////////////////////////////////////////////
- // Window Class
-
- class AFWindow
- {
- public:
- AFWindow();
- ~AFWindow();
-
- // Methods
- virtual BOOL Create(AFAmigaApp* app, AFRect* rect);
- virtual BOOL Create(AFAmigaApp* app, AFRect* rect, char* szTitle);
- virtual BOOL Create(AFScreen* screen, AFRect* rect);
- virtual BOOL Create(AFScreen* screen, AFRect* rect, char* szTitle);
- virtual BOOL Create(AFWindow* window, AFRect* rect);
- virtual BOOL Create(AFWindow* window, AFRect* rect, char* szTitle);
- virtual void DestroyWindow();
- virtual void PostNCDestroy() { return; };
- virtual void SetWindowRange(LPWindowRange wrange);
- virtual BOOL ValidPoint(AFPoint* point);
- virtual void AdjustPoint(AFPoint* point);
- virtual ULONG WindowIDCMP() { return STD_WINDOW_IDCMP; };
- virtual ULONG WindowFlags() { return STD_WINDOW_FLAGS; };
- virtual void GetDisplayRect(AFRect* rect);
-
- virtual void OnCreate() { return; };
-
- // --- IDCMP Classes
- virtual void OnSizeVerify(LPIntuiMessage imess) { return; };
- virtual void OnNewSize(LPIntuiMessage imess);
- virtual void OnRefreshWindow(LPIntuiMessage imess) { return; };
- virtual void OnMouseButtons(LPIntuiMessage imess) { return; };
- virtual void OnMouseMove(LPIntuiMessage imess) { return; };
- virtual void OnGadgetDown(LPIntuiMessage imess);
- virtual void OnGadgetUp(LPIntuiMessage imess);
- virtual void OnReqSet(LPIntuiMessage imess) { return; };
- virtual void OnMenuPick(LPIntuiMessage imess) { return; };
- virtual void OnCloseWindow(LPIntuiMessage imess);
- virtual void OnRawKey(LPIntuiMessage imess) { return; };
- virtual void OnReqVerify(LPIntuiMessage imess) { return; };
- virtual void OnReqClear(LPIntuiMessage imess) { return; };
- virtual void OnMenuVerify(LPIntuiMessage imess) { return; };
- virtual void OnNewPrefs(LPIntuiMessage imess) { return; };
- virtual void OnDiskInserted(LPIntuiMessage imess) { return; };
- virtual void OnDiskRemoved(LPIntuiMessage imess) { return; };
- virtual void OnWBenchMessage(LPIntuiMessage imess) { return; };
- virtual void OnActiveWindow(LPIntuiMessage imess) { return; };
- virtual void OnInActiveWindow(LPIntuiMessage imess) { return; };
- virtual void OnDeltaMove(LPIntuiMessage imess) { return; };
- virtual void OnVanillaKey(LPIntuiMessage imess) { return; };
- virtual void OnIntuiTicks(LPIntuiMessage imess) { return; };
- virtual void OnIDCMPUpdate(LPIntuiMessage imess) { return; };
- virtual void OnMenuHelp(LPIntuiMessage imess) { return; };
- virtual void OnChangeWindow(LPIntuiMessage imess) { return; };
- virtual void OnGadgetHelp(LPIntuiMessage imess) { return; };
- virtual void OnFutureIDCMP(LPIntuiMessage imess) { return; };
-
- // Intuition functions
- virtual void SetWindowTitles(UBYTE* lpszWindowTitle, UBYTE* lpszScreenTitle);
- virtual void SizeWindow(WORD deltax, WORD deltay);
- virtual void WindowToBack();
- virtual void WindowToFront();
- virtual void ZipWindow();
- virtual void RefreshGadgets();
- virtual void Clear(UBYTE pen);
-
- // Properties
- AFAmigaApp *m_papp;
- AFScreen *m_pscreen;
- struct Window * m_pWindow;
- AFNode *m_pgadgets;
- char *m_sztitle;
- TEXTATTR m_textattr;
- };
-
- //////////////////////////////////////////////////////////////////////////////
- #endif //__WINDOW_HPP__
-