clan::ViewTree Class Referenceabstract

Base class for managing a tree of views. More...

#include <view_tree.h>

+ Inheritance diagram for clan::ViewTree:

Public Member Functions

 ViewTree ()
 
virtual ~ViewTree ()
 
void add_child (const std::shared_ptr< View > &view)
 Add a child view. More...
 
template<typename T , typename... Types>
std::shared_ptr< T > add_child (Types &&...args)
 
std::shared_ptr< Viewadd_child ()
 
virtual Canvas canvas () const =0
 Gets the current canvas used to render. More...
 
virtual DisplayWindow display_window ()=0
 
Viewfocus_view () const
 The view receiving keyboard events or nullptr if no view has the focus. More...
 
const std::shared_ptr< View > & root_view () const
 Retrieves the root of the view tree. More...
 
void set_root_view (std::shared_ptr< View > root_view)
 Sets a new root view controller for the view tree. More...
 

Protected Member Functions

virtual Pointf client_to_screen_pos (const Pointf &pos)=0
 Map from client to screen coordinates. More...
 
void dispatch_activation_change (ActivationChangeType type)
 Dispatch activation change event to all views. More...
 
void render (Canvas &canvas, const Rectf &margin_box)
 Renders view into the specified canvas. More...
 
virtual Pointf screen_to_client_pos (const Pointf &pos)=0
 Map from screen to client coordinates. More...
 
void set_focus_view (View *view)
 Set or clears the focus. More...
 
virtual void set_needs_render ()=0
 Signals that the root view needs to be rendered again. More...
 

Friends

class PositionedLayout
 
class View
 
class ViewController
 
class ViewImpl
 

Detailed Description

Base class for managing a tree of views.

Constructor & Destructor Documentation

clan::ViewTree::ViewTree ( )
virtual clan::ViewTree::~ViewTree ( )
virtual

Member Function Documentation

void clan::ViewTree::add_child ( const std::shared_ptr< View > &  view)
inline

Add a child view.

References root_view().

template<typename T , typename... Types>
std::shared_ptr<T> clan::ViewTree::add_child ( Types &&...  args)
inline

References add_child().

std::shared_ptr<View> clan::ViewTree::add_child ( )
inline

Referenced by add_child().

virtual Canvas clan::ViewTree::canvas ( ) const
pure virtual

Gets the current canvas used to render.

Implemented in clan::TextureWindow, and clan::TopLevelWindow.

virtual Pointf clan::ViewTree::client_to_screen_pos ( const Pointf pos)
protectedpure virtual

Map from client to screen coordinates.

Implemented in clan::TextureWindow, and clan::TopLevelWindow.

void clan::ViewTree::dispatch_activation_change ( ActivationChangeType  type)
protected

Dispatch activation change event to all views.

virtual DisplayWindow clan::ViewTree::display_window ( )
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.

void clan::ViewTree::render ( Canvas canvas,
const Rectf margin_box 
)
protected

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().

virtual Pointf clan::ViewTree::screen_to_client_pos ( const Pointf pos)
protectedpure virtual

Map from screen to client coordinates.

Implemented in clan::TextureWindow, and clan::TopLevelWindow.

void clan::ViewTree::set_focus_view ( View view)
protected

Set or clears the focus.

virtual void clan::ViewTree::set_needs_render ( )
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.

Friends And Related Function Documentation

friend class PositionedLayout
friend
friend class View
friend
friend class ViewController
friend
friend class ViewImpl
friend

The documentation for this class was generated from the following file: