Base class for managing a tree of views. More...
#include <view_tree.h>
 Inheritance diagram for clan::ViewTree:
 Inheritance diagram for clan::ViewTree:| Public Member Functions | |
| ViewTree () | |
| virtual | ~ViewTree () | 
| std::shared_ptr< View > | add_child () | 
| void | add_child (const std::shared_ptr< View > &view) | 
| Add a child view. | |
| template<typename T , typename... Types> | |
| std::shared_ptr< T > | add_child (Types &&... args) | 
| virtual Canvas | canvas () const =0 | 
| Gets the current canvas used to render. | |
| virtual DisplayWindow | display_window ()=0 | 
| View * | focus_view () const | 
| The view receiving keyboard events or nullptr if no view has the focus. | |
| const std::shared_ptr< View > & | root_view () const | 
| Retrieves the root of the view tree. | |
| void | set_root_view (std::shared_ptr< View > root_view) | 
| Sets a new root view controller for the view tree. | |
| Protected Member Functions | |
| virtual Pointf | client_to_screen_pos (const Pointf &pos)=0 | 
| Map from client to screen coordinates. | |
| void | dispatch_activation_change (ActivationChangeType type) | 
| Dispatch activation change event to all views. | |
| void | render (Canvas &canvas, const Rectf &margin_box) | 
| Renders view into the specified canvas. | |
| virtual Pointf | screen_to_client_pos (const Pointf &pos)=0 | 
| Map from screen to client coordinates. | |
| void | set_focus_view (View *view) | 
| Set or clears the focus. | |
| virtual void | set_needs_render ()=0 | 
| Signals that the root view needs to be rendered again. | |
| Friends | |
| class | PositionedLayout | 
| class | View | 
| class | ViewController | 
| class | ViewImpl | 
Base class for managing a tree of views.
| clan::ViewTree::ViewTree | ( | ) | 
| 
 | virtual | 
| 
 | inline | 
References add_child().
Referenced by add_child(), and add_child().
| 
 | inline | 
Add a child view.
References root_view().
| 
 | inline | 
References add_child().
| 
 | pure virtual | 
Gets the current canvas used to render.
Implemented in clan::TextureWindow, and clan::TopLevelWindow.
Map from client to screen coordinates.
Implemented in clan::TextureWindow, and clan::TopLevelWindow.
| 
 | protected | 
Dispatch activation change event to all views.
| 
 | pure virtual | 
Gets the display window used
This may return a null DisplayWindow
Implemented in clan::TextureWindow, and clan::TopLevelWindow.
| View * clan::ViewTree::focus_view | ( | ) | const | 
The view receiving keyboard events or nullptr if no view has the focus.
Renders view into the specified canvas.
| const std::shared_ptr< View > & clan::ViewTree::root_view | ( | ) | const | 
Retrieves the root of the view tree.
Referenced by add_child().
Map from screen to client coordinates.
Implemented in clan::TextureWindow, and clan::TopLevelWindow.
| 
 | protected | 
Set or clears the focus.
| 
 | protectedpure virtual | 
Signals that the root view needs to be rendered again.
Implemented in clan::TextureWindow, and clan::TopLevelWindow.
| void clan::ViewTree::set_root_view | ( | std::shared_ptr< View > | root_view | ) | 
Sets a new root view controller for the view tree.
| 
 | friend | 
| 
 | friend | 
| 
 | friend | 
| 
 | friend |