--- /dev/null
+/* $Id$
+
+This file is part of libmspgl
+Copyright © 2007 Mikko Rasa, Mikkosoft Productions
+Distributed under the LGPL
+*/
+
+#ifndef MSP_GL_PREDICATE_H_
+#define MSP_GL_PREDICATE_H_
+
+#include <GL/gl.h>
+
+namespace Msp {
+namespace GL {
+
+enum Predicate
+{
+ NEVER = GL_NEVER,
+ ALWAYS = GL_ALWAYS,
+ LESS = GL_LESS,
+ LEQUAL = GL_LEQUAL,
+ EQUAL = GL_EQUAL,
+ GREATER = GL_GREATER,
+ GEQUAL = GL_GEQUAL,
+ NOTEQUAL = GL_NOTEQUAL
+};
+
+} // 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 "stencil.h"
+
+namespace Msp {
+namespace GL {
+
+void stencil_func(Predicate func, int ref, uint mask)
+{
+ glStencilFunc(func, ref, mask);
+}
+
+void stencil_op(StencilOp sfail, StencilOp dfail, StencilOp dpass)
+{
+ glStencilOp(sfail, dfail, dpass);
+}
+
+} // 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_STENCIL_H_
+#define MSP_GL_STENCIL_H_
+
+#include <GL/gl.h>
+#include "predicate.h"
+#include "types.h"
+
+namespace Msp {
+namespace GL {
+
+enum
+{
+ STENCIL_TEST = GL_STENCIL_TEST
+};
+
+enum StencilOp
+{
+ KEEP = GL_KEEP,
+ SET_ZERO = GL_ZERO,
+ REPLACE = GL_REPLACE,
+ INCR = GL_INCR,
+ DECR = GL_DECR,
+ INVERT = GL_INVERT,
+ INCR_WRAP = GL_INCR_WRAP,
+ DECR_WRAP = GL_DECR_WRAP
+};
+
+void stencil_func(Predicate func, int ref, uint mask);
+void stencil_op(StencilOp sfail, StencilOp dfail, StencilOp dpass);
+
+} // 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 "tests.h"
+
+namespace Msp {
+namespace GL {
+
+void scissor(int left, int bottom, sizei width, sizei height)
+{
+ glScissor(left, bottom, width, height);
+}
+
+void alpha_func(Predicate func, float ref)
+{
+ glAlphaFunc(func, ref);
+}
+
+void depth_func(Predicate func)
+{
+ glDepthFunc(func);
+}
+
+} // 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_TESTS_H_
+#define MSP_GL_TESTS_H_
+
+#include <GL/gl.h>
+#include "predicate.h"
+#include "types.h"
+
+namespace Msp {
+namespace GL {
+
+enum
+{
+ SCISSOR_TEST = GL_SCISSOR_TEST,
+ ALPHA_TEST = GL_ALPHA_TEST,
+ DEPTH_TEST = GL_DEPTH_TEST
+};
+
+void scissor(int left, int bottom, sizei width, sizei height);
+
+void alpha_func(Predicate func, float ref);
+
+void depth_func(Predicate func);
+
+} // namespace GL
+} // namespace Msp
+
+#endif