godot/platform/haiku/os_haiku.cpp

120 lines
2.7 KiB
C++
Raw Normal View History

2015-05-28 02:42:40 +02:00
#include "servers/visual/visual_server_raster.h"
#include "servers/visual/visual_server_wrap_mt.h"
2015-05-28 02:42:40 +02:00
#include "drivers/gles2/rasterizer_gles2.h"
2015-05-25 02:49:24 +02:00
#include "os_haiku.h"
OS_Haiku::OS_Haiku() {
};
void OS_Haiku::run() {
ERR_PRINT("run() NOT IMPLEMENTED");
}
2015-05-25 02:49:24 +02:00
String OS_Haiku::get_name() {
return "Haiku";
}
int OS_Haiku::get_video_driver_count() const {
return 1;
}
const char* OS_Haiku::get_video_driver_name(int p_driver) const {
return "GLES2";
}
OS::VideoMode OS_Haiku::get_default_video_mode() const {
return OS::VideoMode(800, 600, false);
}
void OS_Haiku::initialize(const VideoMode& p_desired, int p_video_driver, int p_audio_driver) {
2015-05-28 02:42:40 +02:00
main_loop = NULL;
current_video_mode = p_desired;
2015-05-28 02:42:40 +02:00
#if defined(OPENGL_ENABLED) || defined(LEGACYGL_ENABLED)
//context_gl = memnew( ContextGL_X11( x11_display, x11_window,current_videomode, false ) );
//context_gl->initialize();
rasterizer = memnew(RasterizerGLES2);
#endif
visual_server = memnew(VisualServerRaster(rasterizer));
if (get_render_thread_mode() != RENDER_THREAD_UNSAFE) {
visual_server = memnew(VisualServerWrapMT(visual_server, get_render_thread_mode() == RENDER_SEPARATE_THREAD));
}
visual_server->init();
}
void OS_Haiku::finalize() {
2015-05-28 02:42:40 +02:00
if (main_loop) {
memdelete(main_loop);
}
main_loop = NULL;
visual_server->finish();
memdelete(visual_server);
memdelete(rasterizer);
}
void OS_Haiku::set_main_loop(MainLoop* p_main_loop) {
2015-05-28 02:42:40 +02:00
main_loop = p_main_loop;
2015-05-28 02:42:40 +02:00
// TODO: enable
//input->set_main_loop(p_main_loop);
}
MainLoop* OS_Haiku::get_main_loop() const {
2015-05-28 02:42:40 +02:00
return main_loop;
}
void OS_Haiku::delete_main_loop() {
if (main_loop) {
memdelete(main_loop);
}
main_loop = NULL;
}
bool OS_Haiku::can_draw() const {
ERR_PRINT("can_draw() NOT IMPLEMENTED");
}
Point2 OS_Haiku::get_mouse_pos() const {
ERR_PRINT("get_mouse_pos() NOT IMPLEMENTED");
}
int OS_Haiku::get_mouse_button_state() const {
ERR_PRINT("get_mouse_button_state() NOT IMPLEMENTED");
}
void OS_Haiku::set_cursor_shape(CursorShape p_shape) {
ERR_PRINT("set_cursor_shape() NOT IMPLEMENTED");
}
void OS_Haiku::set_window_title(const String& p_title) {
ERR_PRINT("set_window_title() NOT IMPLEMENTED");
}
Size2 OS_Haiku::get_window_size() const {
ERR_PRINT("get_window_size() NOT IMPLEMENTED");
}
void OS_Haiku::set_video_mode(const VideoMode& p_video_mode, int p_screen) {
ERR_PRINT("set_video_mode() NOT IMPLEMENTED");
}
OS::VideoMode OS_Haiku::get_video_mode(int p_screen) const {
return current_video_mode;
}
void OS_Haiku::get_fullscreen_mode_list(List<VideoMode> *p_list, int p_screen) const {
ERR_PRINT("get_fullscreen_mode_list() NOT IMPLEMENTED");
}
2015-05-25 05:34:16 +02:00
String OS_Haiku::get_executable_path() const {
return OS::get_executable_path();
}