mirror of
https://github.com/godotengine/godot-platform-haiku.git
synced 2026-01-05 10:10:03 +03:00
Haiku: create a GL context and initialize the audio and physics servers
This commit is contained in:
45
haiku_direct_window.cpp
Normal file
45
haiku_direct_window.cpp
Normal file
@@ -0,0 +1,45 @@
|
||||
#include "haiku_direct_window.h"
|
||||
|
||||
HaikuDirectWindow::HaikuDirectWindow(BRect p_frame)
|
||||
: BDirectWindow(p_frame, "Godot", B_TITLED_WINDOW, 0)
|
||||
{
|
||||
// TODO: formatting
|
||||
float minWidth = 0.0f;
|
||||
float maxWidth = 0.0f;
|
||||
float minHeight = 0.0f;
|
||||
float maxHeight = 0.0f;
|
||||
|
||||
GetSizeLimits(&minWidth, &maxWidth, &minHeight, &maxHeight);
|
||||
SetSizeLimits(50.0f, maxWidth, 50.0f, maxHeight);
|
||||
}
|
||||
|
||||
|
||||
HaikuDirectWindow::~HaikuDirectWindow()
|
||||
{
|
||||
delete update_runner;
|
||||
}
|
||||
|
||||
void HaikuDirectWindow::SetHaikuGLView(HaikuGLView* p_view) {
|
||||
view = p_view;
|
||||
}
|
||||
|
||||
void HaikuDirectWindow::InitMessageRunner() {
|
||||
update_runner = new BMessageRunner(BMessenger(view),
|
||||
new BMessage(REDRAW_MSG), 1000000/60 /* 60 fps */);
|
||||
}
|
||||
|
||||
|
||||
bool HaikuDirectWindow::QuitRequested()
|
||||
{
|
||||
view->EnableDirectMode(false);
|
||||
be_app->PostMessage(B_QUIT_REQUESTED);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void HaikuDirectWindow::DirectConnected(direct_buffer_info *info)
|
||||
{
|
||||
view->DirectConnected(info);
|
||||
view->EnableDirectMode(true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user