Changeset 126 for trunk/src/gui


Ignore:
Timestamp:
06/17/13 22:20:08 (12 years ago)
Author:
epyon
Message:
  • commiting the gui_element/gui_environment and gui_renderer in it's current state
  • the implementation is very WIP though, but too long stayed out of SVN
  • minor fix to c_file_system
Location:
trunk/src/gui
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gui/gui_element.cc

    r120 r126  
    2727                }
    2828        }
    29         //((environment*)m_root)->update( this, elapsed );
     29        ((environment*)m_root)->update( this, elapsed );
    3030}
    3131
  • trunk/src/gui/gui_environment.cc

    r69 r126  
    77#include "nv/gui/gui_environment.hh"
    88
     9#include "nv/gui/gui_renderer.hh"
     10
     11
     12        /*
     13
     14        TODO: parse a lua stylesheet as per Trac wiki
     15
     16        IDEA: Store everything in std::unordered_maps, with lua_value's?
     17
     18        A lua_value is a variant stores strings as const char* that deletes them on destructor?
     19        Question is that there might not be much gained on speed anyway, due to Lua's speed.
     20        Special function field allows delayed per parse execution?
     21
     22        */
     23
     24#include "nv/interface/mesh.hh"
     25#include "nv/gfx/cached_buffer.hh"
     26#include "nv/gfx/texture_atlas.hh"
     27
     28#include <vector>
     29
    930using namespace nv;
    1031using namespace nv::gui;
    1132
     33environment::environment( window* w )
     34        : m_renderer( nullptr ), m_window( w ), m_screen( nullptr )
     35{
     36        m_area.dim( dimension( w->get_width(), w->get_height() ) );
     37        m_screen = new screen( this, m_area );
     38        m_renderer = new renderer( w );
     39        root::add_child( m_screen );
     40}
     41
     42void nv::gui::environment::load_style( const std::string& filename )
     43{
     44        m_renderer->load_style( filename );
     45}
     46
     47void environment::update( element* e, uint32 elapsed )
     48{
     49        if ( e->is_dirty() || e->m_render_data == nullptr )
     50        {
     51                m_renderer->redraw( e, elapsed );
     52                e->set_dirty( false );
     53        }
     54}
     55
    1256void environment::draw( element* e )
    1357{
    14        
     58        m_renderer->draw( e );
    1559}
     60
     61void environment::update()
     62{
     63        m_screen->on_update( 0 );
     64}
     65
     66void environment::draw()
     67{
     68        m_screen->on_draw();
     69        m_renderer->draw();
     70}
     71
     72void environment::add_child( object* child )
     73{
     74        // TODO: check if element
     75        m_screen->add_child( child );
     76}
     77
     78environment::~environment()
     79{
     80        destroy_children();
     81        delete m_renderer;
     82}
     83
Note: See TracChangeset for help on using the changeset viewer.