+++ /dev/null
-/* $Id$
-
-This file is part of libmspgl
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
-#include "rendermode.h"
-#include "select.h"
-
-namespace Msp {
-namespace GL {
-
-int render_mode(RenderMode rm)
-{
- int old_rm;
- glGetIntegerv(GL_RENDER_MODE, &old_rm);
-
- int result = glRenderMode(rm);
-
- if(old_rm==SELECT)
- _parse_internal_select_records(result);
-
- return result;
-}
-
-} // namespace GL
-} // namespace Msp
+++ /dev/null
-/* $Id$
-
-This file is part of libmspgl
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
-#ifndef MSP_GL_RENDERMODE_H_
-#define MSP_GL_RENDERMODE_H_
-
-#include "gl.h"
-
-namespace Msp {
-namespace GL {
-
-enum RenderMode
-{
- RENDER = GL_RENDER,
- SELECT = GL_SELECT,
- FEEDBACK = GL_FEEDBACK
-};
-
-int render_mode(RenderMode);
-
-} // namespace GL
-} // namespace Msp
-
-#endif
+++ /dev/null
-/* $Id$
-
-This file is part of libmspgl
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
-#include "except.h"
-#include "gl.h"
-#include "select.h"
-
-using namespace std;
-
-namespace {
-
-vector<Msp::GL::SelectRecord> *select_buf = 0;
-vector<unsigned> select_buf_int;
-
-}
-
-namespace Msp {
-namespace GL {
-
-void select_buffer(vector<SelectRecord> &buf)
-{
- select_buf_int.resize(1024);
- glSelectBuffer(select_buf_int.size(), &select_buf_int[0]);
- 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 unsigned *buf, unsigned count, vector<SelectRecord> &tbuf)
-{
- unsigned i = 0;
- while(count--)
- {
- SelectRecord record;
-
- unsigned n_names = buf[i++];
- record.min_depth = buf[i++];
- record.max_depth = buf[i++];
-
- record.names.reserve(n_names);
- while(n_names--)
- record.names.push_back(buf[i++]);
-
- tbuf.push_back(record);
- }
-}
-
-void _parse_internal_select_records(unsigned count)
-{
- if(!select_buf)
- throw InvalidState("No select buffer specified");
- parse_select_records(&select_buf_int[0], count, *select_buf);
-}
-
-} // namespace GL
-} // namespace Msp
+++ /dev/null
-/* $Id$
-
-This file is part of libmspgl
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
-#ifndef MSP_GL_SELECT_H_
-#define MSP_GL_SELECT_H_
-
-#include <vector>
-
-namespace Msp {
-namespace GL {
-
-struct SelectRecord
-{
- unsigned min_depth;
- unsigned max_depth;
- std::vector<unsigned> names;
-};
-
-void select_buffer(std::vector<SelectRecord> &);
-void init_names();
-void push_name(unsigned);
-void pop_name();
-void load_name(unsigned);
-
-void parse_select_records(const unsigned *buf, unsigned, std::vector<SelectRecord> &);
-
-void _parse_internal_select_records(unsigned);
-
-} // namespace GL
-} // namespace Msp
-
-#endif