lxgui
gui_virtual_registry.hpp
1 #ifndef LXGUI_GUI_VIRTUAL_REGISTRY_HPP
2 #define LXGUI_GUI_VIRTUAL_REGISTRY_HPP
3 
4 #include "lxgui/gui_registry.hpp"
5 #include "lxgui/lxgui.hpp"
6 #include "lxgui/utils_observer.hpp"
7 
8 #include <string_view>
9 #include <vector>
10 
11 namespace lxgui::gui {
12 
13 class region;
14 
16 class virtual_registry : public registry {
17 public:
18  explicit virtual_registry(const registry& object_registry);
19 
20  virtual_registry(const virtual_registry& mgr) = default;
24 
30  std::vector<utils::observer_ptr<const region>>
31  get_virtual_region_list(std::string_view names) const;
32 
33 private:
34  const registry* object_registry_ = nullptr;
35 };
36 
37 } // namespace lxgui::gui
38 
39 #endif
Keeps track of created UI objects and records their names for lookup.
Keeps track of virtual UI objects and records their names for lookup.
virtual_registry(virtual_registry &&mgr)=default
virtual_registry(const registry &object_registry)
virtual_registry & operator=(const virtual_registry &mgr)=default
std::vector< utils::observer_ptr< const region > > get_virtual_region_list(std::string_view names) const
Return a list of virtual regions matching the provided comma-separated list.
virtual_registry(const virtual_registry &mgr)=default
virtual_registry & operator=(virtual_registry &&mgr)=default