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