]> git.tdb.fi Git - libs/gl.git/blobdiff - source/program.cpp
Get rid of the typedefs for fundamental types
[libs/gl.git] / source / program.cpp
index 1b8ffe4dfe3b4fff4e20be818014fb91d083f6c4..b3773a6359a8d576cea5664814c48e685dc6608d 100644 (file)
@@ -76,7 +76,7 @@ void Program::set_del_shaders(bool ds)
        del_shaders=ds;
 }
 
-void Program::bind_attribute(uint index, const string &name)
+void Program::bind_attribute(unsigned index, const string &name)
 {
        static RequireExtension _ext("GL_ARB_vertex_shader");
        glBindAttribLocationARB(id, index, name.c_str());
@@ -102,13 +102,13 @@ int Program::get_param(GLenum param) const
 
 string Program::get_info_log() const
 {
-       sizei len=get_param(GL_INFO_LOG_LENGTH);
+       GLsizei len=get_param(GL_INFO_LOG_LENGTH);
        char log[len+1];
-       glGetInfoLogARB(id, len+1, reinterpret_cast<GLsizei *>(&len), log);
+       glGetInfoLogARB(id, len+1, &len, log);
        return string(log, len);
 }
 
-void Program::bind()
+void Program::bind() const
 {
        if(!linked)
                throw InvalidState("Program is not linked");
@@ -137,13 +137,13 @@ void Program::maybe_bind()
                bind();
 }
 
-Program *Program::cur_prog=0;
+const Program *Program::cur_prog=0;
 
 
 Program::Loader::Loader(Program &p):
-       prog(p)
+       DataFile::ObjectLoader<Program>(p)
 {
-       prog.set_del_shaders(true);
+       obj.set_del_shaders(true);
 
        add("vertex_shader",   &Loader::vertex_shader);
        add("fragment_shader", &Loader::fragment_shader);
@@ -152,22 +152,22 @@ Program::Loader::Loader(Program &p):
 
 void Program::Loader::vertex_shader(const string &src)
 {
-       prog.attach_shader(*new Shader(VERTEX_SHADER, src));
+       obj.attach_shader(*new Shader(VERTEX_SHADER, src));
 }
 
 void Program::Loader::fragment_shader(const string &src)
 {
-       prog.attach_shader(*new Shader(FRAGMENT_SHADER, src));
+       obj.attach_shader(*new Shader(FRAGMENT_SHADER, src));
 }
 
-void Program::Loader::attribute(uint i, const string &n)
+void Program::Loader::attribute(unsigned i, const string &n)
 {
-       prog.bind_attribute(i, n);
+       obj.bind_attribute(i, n);
 }
 
 void Program::Loader::finish()
 {
-       prog.link();
+       obj.link();
 }
 
 } // namespace GL