aboutsummaryrefslogtreecommitdiff
path: root/platform/haiku/os_haiku.cpp
blob: dc3419b09eee701db3e633d1a11963febfea094e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#include "servers/visual/visual_server_raster.h"
#include "servers/visual/visual_server_wrap_mt.h"
#include "drivers/gles2/rasterizer_gles2.h"
#include "os_haiku.h"

OS_Haiku::OS_Haiku() {
	
};

void OS_Haiku::run() {

}

String OS_Haiku::get_name() {
	return "Haiku";
}

int OS_Haiku::get_video_driver_count() const {
	
}

const char* OS_Haiku::get_video_driver_name(int p_driver) const {
	
}

OS::VideoMode OS_Haiku::get_default_video_mode() const {
	
}

void OS_Haiku::initialize(const VideoMode& p_desired, int p_video_driver, int p_audio_driver) {
	main_loop = NULL;

#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));
	}
}

void OS_Haiku::finalize() {
	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) {
	main_loop = p_main_loop;
	
	// TODO: enable
	//input->set_main_loop(p_main_loop);
}

MainLoop* OS_Haiku::get_main_loop() const {
	return main_loop;
}

void OS_Haiku::delete_main_loop() {
	if (main_loop) {
		memdelete(main_loop);
	}

	main_loop = NULL;
}

bool OS_Haiku::can_draw() const {
	
}

Point2 OS_Haiku::get_mouse_pos() const {
	
}

int OS_Haiku::get_mouse_button_state() const {
	
}

void OS_Haiku::set_cursor_shape(CursorShape p_shape) {
	
}

void OS_Haiku::set_window_title(const String& p_title) {
	
}

Size2 OS_Haiku::get_window_size() const {
	
}

void OS_Haiku::set_video_mode(const VideoMode& p_video_mode, int p_screen) {
	
}

OS::VideoMode OS_Haiku::get_video_mode(int p_screen) const {
	
}

void OS_Haiku::get_fullscreen_mode_list(List<VideoMode> *p_list, int p_screen) const {
	
}

String OS_Haiku::get_executable_path() const {
	return OS::get_executable_path();
}