Irrlicht 3D Engine
IGUIWindow.h
Go to the documentation of this file.
00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt
00002 // This file is part of the "Irrlicht Engine".
00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
00004 
00005 #ifndef __I_GUI_WINDOW_H_INCLUDED__
00006 #define __I_GUI_WINDOW_H_INCLUDED__
00007 
00008 #include "IGUIElement.h"
00009 #include "EMessageBoxFlags.h"
00010 
00011 namespace irr
00012 {
00013 namespace gui
00014 {
00015     class IGUIButton;
00016 
00018 
00021     class IGUIWindow : public IGUIElement
00022     {
00023     public:
00024 
00026         IGUIWindow(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect<s32> rectangle)
00027             : IGUIElement(EGUIET_WINDOW, environment, parent, id, rectangle) {}
00028 
00030 
00031         virtual IGUIButton* getCloseButton() const = 0;
00032 
00034 
00035         virtual IGUIButton* getMinimizeButton() const = 0;
00036 
00038 
00039         virtual IGUIButton* getMaximizeButton() const = 0;
00040 
00042         virtual bool isDraggable() const = 0;
00043 
00045         virtual void setDraggable(bool draggable) = 0;
00046 
00048         virtual void setDrawBackground(bool draw) = 0;
00049 
00051         virtual bool getDrawBackground() const = 0;
00052 
00055         virtual void setDrawTitlebar(bool draw) = 0;
00056 
00058         virtual bool getDrawTitlebar() const = 0;
00059 
00061 
00066         virtual core::rect<s32> getClientRect() const = 0;
00067     };
00068 
00069 
00070 } // end namespace gui
00071 } // end namespace irr
00072 
00073 #endif
00074