summaryrefslogtreecommitdiff
path: root/platform/haiku/context_gl_haiku.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/haiku/context_gl_haiku.cpp')
-rw-r--r--platform/haiku/context_gl_haiku.cpp27
1 files changed, 9 insertions, 18 deletions
diff --git a/platform/haiku/context_gl_haiku.cpp b/platform/haiku/context_gl_haiku.cpp
index 5c82b187b3..8cb1adc360 100644
--- a/platform/haiku/context_gl_haiku.cpp
+++ b/platform/haiku/context_gl_haiku.cpp
@@ -2,18 +2,11 @@
#if defined(OPENGL_ENABLED) || defined(LEGACYGL_ENABLED)
-ContextGL_Haiku::ContextGL_Haiku(HaikuDirectWindow** p_window, OS::VideoMode& p_default_video_mode) {
- video_mode = p_default_video_mode;
-
- uint32 type = BGL_RGB|BGL_DOUBLE|BGL_DEPTH;
+ContextGL_Haiku::ContextGL_Haiku(HaikuDirectWindow* p_window) {
+ window = p_window;
- BRect windowRect;
- windowRect.Set(50, 50, 800, 600);
-
- window = new HaikuDirectWindow(windowRect);
+ uint32 type = BGL_RGB | BGL_DOUBLE | BGL_DEPTH;
view = new HaikuGLView(window->Bounds(), type);
-
- *p_window = window;
}
ContextGL_Haiku::~ContextGL_Haiku() {
@@ -24,18 +17,18 @@ Error ContextGL_Haiku::initialize() {
window->AddChild(view);
view->LockGL();
window->SetHaikuGLView(view);
- window->InitMessageRunner();
- window->Show();
return OK;
}
void ContextGL_Haiku::release_current() {
- ERR_PRINT("release_current() NOT IMPLEMENTED");
+ //ERR_PRINT("release_current() NOT IMPLEMENTED");
+ view->UnlockGL();
}
void ContextGL_Haiku::make_current() {
- ERR_PRINT("make_current() NOT IMPLEMENTED");
+ view->LockGL();
+ //ERR_PRINT("make_current() NOT IMPLEMENTED");
}
void ContextGL_Haiku::swap_buffers() {
@@ -43,13 +36,11 @@ void ContextGL_Haiku::swap_buffers() {
}
int ContextGL_Haiku::get_window_width() {
- // TODO: implement
- return 800;
+ return window->Bounds().IntegerWidth();
}
int ContextGL_Haiku::get_window_height() {
- // TODO: implement
- return 600;
+ return window->Bounds().IntegerHeight();
}
#endif