X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fselect.cpp;h=65ce6ce62433174088863b6e1af1e0711342a1be;hb=b617c5d7b5283ad260a77f01e42e6170cabbc03d;hp=e7037cbfb6e59137c36418da552106acbce7f496;hpb=a4ec5410595ddf37bfbc0e85ad87d31a9cbf94f1;p=libs%2Fgl.git diff --git a/source/select.cpp b/source/select.cpp index e7037cbf..65ce6ce6 100644 --- a/source/select.cpp +++ b/source/select.cpp @@ -13,8 +13,8 @@ using namespace std; namespace { -vector *select_buf=0; -vector select_buf_int; +vector *select_buf = 0; +vector select_buf_int; } @@ -25,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 parse_select_records(const uint *buf, uint count, vector &tbuf) +void init_names() { - uint i=0; + glInitNames(); +} + +void push_name(unsigned n) +{ + glPushName(n); +} + +void pop_name() +{ + glPopName(); +} + +void load_name(unsigned n) +{ + glLoadName(n); +} + +void parse_select_records(const unsigned *buf, unsigned count, vector &tbuf) +{ + 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--) @@ -47,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");