00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef GUI_LAYEREDREGION_HPP
00010 #define GUI_LAYEREDREGION_HPP
00011
00012 #include <utils.hpp>
00013 #include "gui_region.hpp"
00014
00015 namespace gui
00016 {
00018
00021 class layered_region : public region
00022 {
00023 public :
00024
00026 explicit layered_region(manager* pManager);
00027
00029 virtual ~layered_region();
00030
00032
00035 virtual std::string serialize(const std::string& sTab) const;
00036
00038 virtual void create_glue();
00039
00041
00044 virtual void set_parent(uiobject* pParent);
00045
00047
00050 virtual void show();
00051
00053
00056 virtual void hide();
00057
00059
00061 virtual bool is_visible() const;
00062
00064
00066 layer_type get_draw_layer();
00067
00069
00071 virtual void set_draw_layer(layer_type mLayer);
00072
00074
00076 virtual void set_draw_layer(const std::string& sLayer);
00077
00079
00081 virtual void notify_renderer_need_redraw() const;
00082
00084
00086 virtual void parse_block(xml::block* pBlock);
00087
00088 protected :
00089
00090 virtual void parse_attributes_(xml::block* pBlock);
00091
00092 layer_type mLayer_;
00093 frame* pFrameParent_;
00094 };
00095
00099 class lua_layered_region : public lua_uiobject
00100 {
00101 public :
00102
00103 explicit lua_layered_region(lua_State* pLua);
00104
00105 int _get_draw_layer(lua_State*);
00106 int _set_draw_layer(lua_State*);
00107
00108 static const char className[];
00109 static const char* classList[];
00110 static Lunar<lua_layered_region>::RegType methods[];
00111
00112 protected :
00113
00114 layered_region* pLayeredRegionParent_;
00115 };
00116
00119 }
00120
00121 #endif