X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fselect.cpp;h=65ce6ce62433174088863b6e1af1e0711342a1be;hb=b617c5d7b5283ad260a77f01e42e6170cabbc03d;hp=67420977323597738ebfac564c8c9514ce637799;hpb=a361efc05fcad11b2918f3cd7abdebe794b131d8;p=libs%2Fgl.git diff --git a/source/select.cpp b/source/select.cpp index 67420977..65ce6ce6 100644 --- a/source/select.cpp +++ b/source/select.cpp @@ -5,18 +5,16 @@ Copyright © 2007 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ -#include #include "except.h" +#include "gl.h" #include "select.h" using namespace std; namespace { -using namespace Msp::GL; - -vector *select_buf=0; -vector select_buf_int; +vector *select_buf = 0; +vector select_buf_int; } @@ -27,19 +25,39 @@ void select_buffer(vector &buf) { select_buf_int.resize(1024); glSelectBuffer(select_buf_int.size(), &select_buf_int[0]); - select_buf=&buf; + select_buf = &buf; +} + +void init_names() +{ + glInitNames(); +} + +void push_name(unsigned n) +{ + glPushName(n); +} + +void pop_name() +{ + glPopName(); +} + +void load_name(unsigned n) +{ + glLoadName(n); } -void parse_select_records(const uint *buf, uint count, vector &tbuf) +void parse_select_records(const unsigned *buf, unsigned count, vector &tbuf) { - uint i=0; + unsigned i = 0; while(count--) { SelectRecord record; - uint n_names=buf[i++]; - record.min_depth=buf[i++]; - record.max_depth=buf[i++]; + unsigned n_names = buf[i++]; + record.min_depth = buf[i++]; + record.max_depth = buf[i++]; record.names.reserve(n_names); while(n_names--) @@ -49,7 +67,7 @@ void parse_select_records(const uint *buf, uint count, vector &tbu } } -void _parse_internal_select_records(uint count) +void _parse_internal_select_records(unsigned count) { if(!select_buf) throw InvalidState("No select buffer specified");