]> git.tdb.fi Git - libs/gl.git/blobdiff - source/select.cpp
Add blending and clipping support
[libs/gl.git] / source / select.cpp
index f19dd3ef62819c4f32d5356b7c838a3294e3e5a3..51fe0b60525c3ec829bb09136ae0a12d1da27da8 100644 (file)
@@ -5,18 +5,16 @@ Copyright © 2007  Mikko Rasa, Mikkosoft Productions
 Distributed under the LGPL
 */
 
-#include <GL/gl.h>
-#include "error.h"
+#include "except.h"
+#include "gl.h"
 #include "select.h"
 
 using namespace std;
 
 namespace {
 
-using namespace Msp::GL;
-
-vector<SelectRecord> *select_buf=0;
-vector<uint> select_buf_int;
+vector<Msp::GL::SelectRecord> *select_buf=0;
+vector<Msp::GL::uint> select_buf_int;
 
 }
 
@@ -30,6 +28,26 @@ void select_buffer(vector<SelectRecord> &buf)
        select_buf=&buf;
 }
 
+void init_names()
+{
+       glInitNames();
+}
+
+void push_name(uint n)
+{
+       glPushName(n);
+}
+
+void pop_name()
+{
+       glPopName();
+}
+
+void load_name(uint n)
+{
+       glLoadName(n);
+}
+
 void parse_select_records(const uint *buf, uint count, vector<SelectRecord> &tbuf)
 {
        uint i=0;
@@ -52,7 +70,7 @@ void parse_select_records(const uint *buf, uint count, vector<SelectRecord> &tbu
 void _parse_internal_select_records(uint count)
 {
        if(!select_buf)
-               throw InvalidOperation("No select buffer specified");
+               throw InvalidState("No select buffer specified");
        parse_select_records(&select_buf_int[0], count, *select_buf);
 }