Changeset 99 for trunk


Ignore:
Timestamp:
06/03/13 18:17:48 (12 years ago)
Author:
epyon
Message:
  • vertex_buffer - added assign by range (will change with the next commit)
  • gl_vertex_buffer - implementation of the above
  • gui element - recalculate_absolute_children() added, destructor and fix
  • object - get_id added
  • lualib_test - cleanups
Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/nv/gl/gl_vertex_buffer.hh

    r44 r99  
    2424                gl_vertex_buffer( buffer_hint hint, int size, void* data = nullptr );
    2525                virtual void assign( void* data );
     26                virtual void assign( void* data, int offset, int size );
    2627                virtual void bind();
    2728                virtual void unbind();
     
    3637                gl_index_buffer( buffer_hint hint, int size, void* data = nullptr );
    3738                virtual void assign( void* data );
     39                virtual void assign( void* data, int offset, int size );
    3840                virtual void bind();
    3941                virtual void unbind();
  • trunk/nv/gui/gui_element.hh

    r69 r99  
    2727                public:
    2828                        element() : object() {}
    29                         element( root* aroot, const rectangle r );
     29                        element( root* aroot, const rectangle& r );
    3030                        element* get_element( const position& p );
    3131                        virtual void on_update( uint32 elapsed );
     
    4949                        virtual void set_class( const string& class_ ) { m_class = class_; m_dirty = true; }
    5050                        virtual void recalculate_absolute();
     51                        virtual void recalculate_absolute_children();
     52                        virtual ~element();
    5153                protected:
     54                        friend class environment;
     55
    5256                        string    m_class;
    5357                        string    m_text;
  • trunk/nv/interface/vertex_buffer.hh

    r70 r99  
    3333                buffer( buffer_hint hint, int size ) { m_size = size; m_hint = hint; }
    3434                virtual void assign( void* data ) = 0;
     35                virtual void assign( void* data, int offset, int size ) = 0;
    3536                virtual void bind() = 0;
    3637                virtual void unbind() = 0;
  • trunk/nv/object.hh

    r77 r99  
    144144
    145145                /**
     146                 * Returns object ID
     147                 */
     148                const std::string& get_id() const { return m_id; }
     149
     150                /**
    146151                 * Returns object UID
    147152                 */
  • trunk/src/gl/gl_vertex_buffer.cc

    r70 r99  
    2525        glBindBuffer( GL_ARRAY_BUFFER, 0);
    2626}
     27
     28void gl_vertex_buffer::assign( void* data, int offset, int size )
     29{
     30        glBindBuffer( GL_ARRAY_BUFFER, m_name.get_value() );
     31        glBufferSubData( GL_ARRAY_BUFFER, offset, size, data );
     32        glBindBuffer( GL_ARRAY_BUFFER, 0);
     33}
     34
    2735
    2836void gl_vertex_buffer::bind()
     
    5462        glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, m_name.get_value() );
    5563        glBufferData( GL_ELEMENT_ARRAY_BUFFER, m_size, data, buffer_hint_to_enum( m_hint ) );
     64        glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, 0);
     65}
     66
     67void gl_index_buffer::assign( void* data, int offset, int size )
     68{
     69        glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, m_name.get_value() );
     70        glBufferSubData( GL_ELEMENT_ARRAY_BUFFER, offset, size, data );
    5671        glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, 0);
    5772}
  • trunk/src/gui/gui_element.cc

    r77 r99  
    1212using namespace nv::gui;
    1313
    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 )
     14element::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 )
    1616{
    1717
     
    9797        }
    9898}
     99
     100void element::recalculate_absolute_children()
     101{
     102        for ( object* o : *this )
     103        {
     104                ((element*)o)->recalculate_absolute();
     105        }
     106}
     107
     108element::~element()
     109{
     110        delete m_render_data;
     111}
  • trunk/tests/lualib_test/lualib_test.cc

    r86 r99  
    1010#include <functional>
    1111#include <nv/gui/gui_element.hh>
    12 
    13 struct test_struct
    14 {
    15         std::string f;
    16         int i;
    17 };
    1812
    1913int main(int, char* [])
     
    3226                state.do_file( "init.lua" );
    3327
     28                log.set_level( nv::LOG_INFO );
    3429                for (;;)
    3530                {
     
    5651                        if ( !result )
    5752                        {
    58                                 std::string error = lua_tostring( state, -1 );
    59                                 std::cout << "ERROR : " << error << std::endl;
    6053                                continue;
    6154                        }
Note: See TracChangeset for help on using the changeset viewer.