diff options
Diffstat (limited to 'libraries/irrlicht-1.8.1/source/Irrlicht/CGUIWindow.h')
-rw-r--r-- | libraries/irrlicht-1.8.1/source/Irrlicht/CGUIWindow.h | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/libraries/irrlicht-1.8.1/source/Irrlicht/CGUIWindow.h b/libraries/irrlicht-1.8.1/source/Irrlicht/CGUIWindow.h new file mode 100644 index 0000000..980da59 --- /dev/null +++ b/libraries/irrlicht-1.8.1/source/Irrlicht/CGUIWindow.h | |||
@@ -0,0 +1,99 @@ | |||
1 | // Copyright (C) 2002-2012 Nikolaus Gebhardt | ||
2 | // This file is part of the "Irrlicht Engine". | ||
3 | // For conditions of distribution and use, see copyright notice in irrlicht.h | ||
4 | |||
5 | #ifndef __C_GUI_WINDOW_H_INCLUDED__ | ||
6 | #define __C_GUI_WINDOW_H_INCLUDED__ | ||
7 | |||
8 | #include "IrrCompileConfig.h" | ||
9 | #ifdef _IRR_COMPILE_WITH_GUI_ | ||
10 | |||
11 | #include "IGUIWindow.h" | ||
12 | |||
13 | namespace irr | ||
14 | { | ||
15 | namespace gui | ||
16 | { | ||
17 | class IGUIButton; | ||
18 | |||
19 | class CGUIWindow : public IGUIWindow | ||
20 | { | ||
21 | public: | ||
22 | |||
23 | //! constructor | ||
24 | CGUIWindow(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect<s32> rectangle); | ||
25 | |||
26 | //! destructor | ||
27 | virtual ~CGUIWindow(); | ||
28 | |||
29 | //! called if an event happened. | ||
30 | virtual bool OnEvent(const SEvent& event); | ||
31 | |||
32 | //! update absolute position | ||
33 | virtual void updateAbsolutePosition(); | ||
34 | |||
35 | //! draws the element and its children | ||
36 | virtual void draw(); | ||
37 | |||
38 | //! Returns pointer to the close button | ||
39 | virtual IGUIButton* getCloseButton() const; | ||
40 | |||
41 | //! Returns pointer to the minimize button | ||
42 | virtual IGUIButton* getMinimizeButton() const; | ||
43 | |||
44 | //! Returns pointer to the maximize button | ||
45 | virtual IGUIButton* getMaximizeButton() const; | ||
46 | |||
47 | //! Returns true if the window is draggable, false if not | ||
48 | virtual bool isDraggable() const; | ||
49 | |||
50 | //! Sets whether the window is draggable | ||
51 | virtual void setDraggable(bool draggable); | ||
52 | |||
53 | //! Set if the window background will be drawn | ||
54 | virtual void setDrawBackground(bool draw); | ||
55 | |||
56 | //! Get if the window background will be drawn | ||
57 | virtual bool getDrawBackground() const; | ||
58 | |||
59 | //! Set if the window titlebar will be drawn | ||
60 | //! Note: If the background is not drawn, then the titlebar is automatically also not drawn | ||
61 | virtual void setDrawTitlebar(bool draw); | ||
62 | |||
63 | //! Get if the window titlebar will be drawn | ||
64 | virtual bool getDrawTitlebar() const; | ||
65 | |||
66 | //! Returns the rectangle of the drawable area (without border and without titlebar) | ||
67 | virtual core::rect<s32> getClientRect() const; | ||
68 | |||
69 | //! Writes attributes of the element. | ||
70 | virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options) const; | ||
71 | |||
72 | //! Reads attributes of the element | ||
73 | virtual void deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options); | ||
74 | |||
75 | protected: | ||
76 | |||
77 | void updateClientRect(); | ||
78 | void refreshSprites(); | ||
79 | |||
80 | IGUIButton* CloseButton; | ||
81 | IGUIButton* MinButton; | ||
82 | IGUIButton* RestoreButton; | ||
83 | core::rect<s32> ClientRect; | ||
84 | video::SColor CurrentIconColor; | ||
85 | |||
86 | core::position2d<s32> DragStart; | ||
87 | bool Dragging, IsDraggable; | ||
88 | bool DrawBackground; | ||
89 | bool DrawTitlebar; | ||
90 | bool IsActive; | ||
91 | }; | ||
92 | |||
93 | } // end namespace gui | ||
94 | } // end namespace irr | ||
95 | |||
96 | #endif // _IRR_COMPILE_WITH_GUI_ | ||
97 | |||
98 | #endif | ||
99 | |||