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_display.h"
00037 #include "../../Core/Text/string_types.h"
00038 #include "../../Core/System/sharedptr.h"
00039
00040 class CL_Size;
00041 class CL_Rect;
00042 class CL_DisplayWindow;
00043 class CL_DisplayWindowDescription_Impl;
00044
00049 class CL_API_DISPLAY CL_DisplayWindowDescription
00050 {
00053 public:
00055 CL_DisplayWindowDescription();
00056
00058 CL_DisplayWindowDescription(const CL_String &title);
00059
00061 CL_DisplayWindowDescription(const CL_String &title, const CL_Rect &position, bool client_area);
00062
00064 CL_DisplayWindowDescription(const CL_Rect &position, bool client_area);
00065
00068 CL_DisplayWindowDescription(const CL_DisplayWindowDescription ©);
00069
00070 virtual ~CL_DisplayWindowDescription();
00071
00075 public:
00077 const CL_String &get_title() const;
00078
00080 bool get_decorations() const;
00081
00083 CL_Size get_size() const;
00084
00086 CL_Rect get_position() const;
00087
00089 bool get_position_client_area() const;
00090
00092 bool is_fullscreen() const;
00093
00095 int get_flipping_buffers() const;
00096
00098 bool get_allow_resize() const;
00099
00101 int get_bpp() const;
00102
00104
00106 int get_refresh_rate() const;
00107
00109 bool is_layered() const;
00110
00111 #ifdef WIN32
00112
00113 HWND get_handle() const;
00114 #endif
00115
00117 bool has_caption() const;
00118
00120 bool has_sysmenu() const;
00121
00123 bool has_minimize_button() const;
00124
00126 bool has_maximize_button() const;
00127
00129 bool has_border() const;
00130
00132 bool is_tool_window() const;
00133
00135 bool is_visible() const;
00136
00138 bool is_topmost() const;
00139
00141
00142 bool get_using_gui_window_cache() const;
00143
00145 bool has_drop_shadow() const;
00146
00148 CL_DisplayWindow get_owner() const;
00149
00151 bool get_tablet_context() const;
00152
00154 CL_UnknownSharedPtr get_data(const CL_String &data_name) const;
00155
00157 int get_depth_size() const;
00158
00160 int get_stencil_size() const;
00161
00165 public:
00167 CL_DisplayWindowDescription &operator =(const CL_DisplayWindowDescription ©);
00168
00170 void show_caption(bool value = true);
00171
00173 void show_sysmenu(bool value = true);
00174
00176 void show_minimize_button(bool value = true);
00177
00179 void show_maximize_button(bool value = true);
00180
00182 void show_border(bool value = true);
00183
00185 void set_decorations(bool decorations);
00186
00188 void set_visible(bool value = true);
00189
00191 void set_topmost(bool value = true);
00192
00194 void set_tool_window(bool value = true);
00195
00197 void set_drop_shadow(bool value = true);
00198
00200 void set_owner_window(const CL_DisplayWindow &owner);
00201
00203 void set_title(const CL_String &title);
00204
00208 void set_size(const CL_Size &size, bool client_area);
00209
00216 void set_position(const CL_Rect &position, bool client_area);
00217
00219 void set_fullscreen(bool fullscreen = true);
00220
00222 void set_flipping_buffers(int num_buffers = 2);
00223
00225 void set_allow_resize(bool allow_resize);
00226
00228 void set_bpp(int bpp);
00229
00231
00233 void set_refresh_rate(int refresh_rate);
00234
00236 void set_tablet_context(bool create);
00237
00239
00242 void set_using_gui_window_cache(bool value);
00243
00245 void set_layered(bool layered);
00246
00247 #ifdef WIN32
00248
00249 void set_handle(HWND handle);
00250 #endif
00251
00253 void set_data(const CL_String &data_name, const CL_UnknownSharedPtr &ptr);
00254
00256
00258 void set_depth_size(int value);
00259
00261
00263 void set_stencil_size(int value);
00264
00268 private:
00269 CL_SharedPtr<CL_DisplayWindowDescription_Impl> impl;
00271 };
00272