Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00033
00034 #pragma once
00035
00036 #include "../api_gui.h"
00037 #include "../gui_component.h"
00038 #include "../../Core/Signals/callback_v0.h"
00039 #include "../../Display/Render/graphic_context.h"
00040 #include "../../CSSLayout/css_layout.h"
00041
00042 class CL_Window_Impl;
00043
00047 class CL_API_GUI CL_Window : public CL_GUIComponent
00048 {
00051 public:
00056 CL_Window(CL_GUIComponent *owner, const CL_GUITopLevelDescription &description);
00057
00062 CL_Window(CL_GUIManager *manager, const CL_GUITopLevelDescription &description);
00063
00064 virtual ~CL_Window();
00065
00069 public:
00071 CL_StringRef get_title() const;
00072
00074 bool is_minimized() const;
00075
00077 bool is_maximized() const;
00078
00080 CL_Size get_preferred_size() const;
00081
00083 CL_Rect get_client_area() const;
00084
00088 bool get_draggable() const;
00089
00093 public:
00095 void set_title(const CL_StringRef &str);
00096
00098 void bring_to_front();
00099
00103 void set_draggable(bool enable = true);
00104
00108 private:
00109 CL_SharedPtr<CL_Window_Impl> impl;
00110
00112 };