Changeset 257 for trunk/src/gui
- Timestamp:
- 06/14/14 22:40:25 (11 years ago)
- Location:
- trunk/src/gui
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gui/gui_element.cc
r126 r257 7 7 #include "nv/gui/gui_element.hh" 8 8 9 #include "nv/gui/gui_environment.hh"10 11 9 using namespace nv; 12 10 using namespace nv::gui; 13 11 14 element::element( root* aroot,const rectangle& r )15 : object( aroot,"" ), m_class(""), m_relative( r ), m_absolute( r ), m_enabled( true ), m_visible( true ), m_dirty( true ), m_render_data( nullptr )12 element::element( const rectangle& r ) 13 : object( "" ), m_class(""), m_relative( r ), m_absolute( r ), m_enabled( true ), m_visible( true ), m_dirty( true ), m_render_data( nullptr ) 16 14 { 17 15 18 }19 20 void element::on_update( uint32 elapsed )21 {22 if ( is_visible() )23 {24 for ( object* i : *this )25 {26 ((element*)i)->on_update( elapsed );27 }28 }29 ((environment*)m_root)->update( this, elapsed );30 }31 32 void element::on_draw()33 {34 if ( is_visible() )35 {36 ((environment*)m_root)->draw( this );37 for ( object* i : *this )38 {39 ((element*)i)->on_draw();40 }41 }42 16 } 43 17 -
trunk/src/gui/gui_environment.cc
r239 r257 34 34 { 35 35 m_area.dim( dimension( w->get_width(), w->get_height() ) ); 36 m_screen = new screen( this,m_area );36 m_screen = new screen( m_area ); 37 37 m_renderer = new renderer( w, shader_path ); 38 38 root::add_child( m_screen ); … … 44 44 } 45 45 46 element* nv::gui::environment::create_element( element* parent, const rectangle& r ) 47 { 48 element* result = new element( r ); 49 object_created( result ); 50 if ( parent == nullptr ) parent = m_screen; 51 parent->add_child( result ); 52 return result; 53 } 54 46 55 void environment::update( element* e, uint32 elapsed ) 47 56 { 57 e->on_update( elapsed ); 58 if ( e->is_visible() ) 59 { 60 for ( object* i : *e ) 61 { 62 update( ((element*)i), elapsed ); 63 } 64 } 48 65 if ( e->is_dirty() || e->m_render_data == nullptr ) 49 66 { … … 55 72 void environment::draw( element* e ) 56 73 { 57 m_renderer->draw( e ); 74 if ( e->is_visible() ) 75 { 76 e->on_draw(); 77 m_renderer->draw( e ); 78 for ( object* i : *e ) 79 { 80 draw((element*)i); 81 } 82 } 58 83 } 59 84 60 85 void environment::update() 61 86 { 62 m_screen->on_update(0 );87 update( m_screen, 0 ); 63 88 } 64 89 65 90 void environment::draw() 66 91 { 67 m_screen->on_draw();92 draw( m_screen ); 68 93 m_renderer->draw(); 69 94 } … … 77 102 environment::~environment() 78 103 { 79 destroy_children( );104 destroy_children( this ); 80 105 delete m_renderer; 81 106 }
Note: See TracChangeset
for help on using the changeset viewer.