00001 #ifndef __IWindowChangeListener__
00002 #define __IWindowChangeListener__
00003
00004 #include <MathTools/CPoint.hpp>
00005 #include <MathTools/CDimension.hpp>
00006
00007
00008
00009 using Exponent::MathTools::CPoint;
00010 using Exponent::MathTools::CDimension;
00011
00015 #ifndef __IWINDOW_GUARD__
00016 #define __IWINDOW_GUARD__
00017 namespace Exponent { namespace GUI { namespace Windowing { interface IWindow; } } }
00018 using Exponent::GUI::Windowing::IWindow;
00019 #endif
00020
00024
00025
00026 namespace Exponent
00027 {
00028 namespace GUI
00029 {
00030 namespace Listeners
00031 {
00049 interface IWindowChangeListener
00050 {
00051
00052
00053
00054 public:
00055
00056
00057
00061 IWindowChangeListener() { }
00062
00066 virtual ~IWindowChangeListener() { }
00067
00068
00069
00075 virtual void windowSized(IWindow *window, const CDimension &newDimension) = 0;
00076
00082 virtual void windowMoved(IWindow *window, const CPoint &newTopLeft) = 0;
00083
00089 virtual bool windowClosed(IWindow *window) = 0;
00090
00095 virtual void windowOpened(IWindow *window) = 0;
00096
00101 virtual void windowMinimised(IWindow *window) = 0;
00102
00107 virtual void windowMaximised(IWindow *window) = 0;
00108
00109
00110 };
00111 }
00112 }
00113 }
00114 #endif // End of IWindowChangeListener.hpp