summaryrefslogtreecommitdiff
path: root/platform/haiku/context_gl_haiku.cpp
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2015-10-17 12:48:47 -0300
committerJuan Linietsky <reduzio@gmail.com>2015-10-17 12:48:47 -0300
commit6f9631fc5151b3267c6fcea5f70249fc36814db8 (patch)
tree2aa06230d95846602aa731967264c1619baa2a39 /platform/haiku/context_gl_haiku.cpp
parent63033aa646f7a49fbcecbc8cc30077cf268be10c (diff)
parentbe0f7563fbff581ca072504978bedc6a55e180f1 (diff)
Merge branch 'master' of https://github.com/okamstudio/godot
Diffstat (limited to 'platform/haiku/context_gl_haiku.cpp')
-rw-r--r--platform/haiku/context_gl_haiku.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/platform/haiku/context_gl_haiku.cpp b/platform/haiku/context_gl_haiku.cpp
new file mode 100644
index 0000000000..21107a52a4
--- /dev/null
+++ b/platform/haiku/context_gl_haiku.cpp
@@ -0,0 +1,43 @@
+#include "context_gl_haiku.h"
+
+#if defined(OPENGL_ENABLED) || defined(LEGACYGL_ENABLED)
+
+ContextGL_Haiku::ContextGL_Haiku(HaikuDirectWindow* p_window) {
+ window = p_window;
+
+ uint32 type = BGL_RGB | BGL_DOUBLE | BGL_DEPTH;
+ view = new HaikuGLView(window->Bounds(), type);
+}
+
+ContextGL_Haiku::~ContextGL_Haiku() {
+ delete view;
+}
+
+Error ContextGL_Haiku::initialize() {
+ window->AddChild(view);
+ window->SetHaikuGLView(view);
+
+ return OK;
+}
+
+void ContextGL_Haiku::release_current() {
+ view->UnlockGL();
+}
+
+void ContextGL_Haiku::make_current() {
+ view->LockGL();
+}
+
+void ContextGL_Haiku::swap_buffers() {
+ view->SwapBuffers();
+}
+
+int ContextGL_Haiku::get_window_width() {
+ return window->Bounds().IntegerWidth();
+}
+
+int ContextGL_Haiku::get_window_height() {
+ return window->Bounds().IntegerHeight();
+}
+
+#endif