summaryrefslogtreecommitdiff
path: root/platform/haiku/os_haiku.h
diff options
context:
space:
mode:
Diffstat (limited to 'platform/haiku/os_haiku.h')
-rw-r--r--platform/haiku/os_haiku.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/platform/haiku/os_haiku.h b/platform/haiku/os_haiku.h
index dfe559c969..938983347c 100644
--- a/platform/haiku/os_haiku.h
+++ b/platform/haiku/os_haiku.h
@@ -4,13 +4,39 @@
#include "drivers/unix/os_unix.h"
#include "servers/visual_server.h"
#include "servers/visual/rasterizer.h"
+#include "servers/physics_server.h"
+#include "servers/physics_2d/physics_2d_server_sw.h"
+#include "servers/audio/audio_server_sw.h"
+#include "servers/audio/sample_manager_sw.h"
+#include "servers/spatial_sound/spatial_sound_server_sw.h"
+#include "servers/spatial_sound_2d/spatial_sound_2d_server_sw.h"
+#include "servers/audio/audio_driver_dummy.h"
+
+#include "context_gl_haiku.h"
+#include "haiku_application.h"
+#include "haiku_direct_window.h"
+
class OS_Haiku : public OS_Unix {
private:
+ HaikuApplication* app;
+ HaikuDirectWindow* window;
MainLoop* main_loop;
Rasterizer* rasterizer;
VisualServer* visual_server;
VideoMode current_video_mode;
+ PhysicsServer* physics_server;
+ Physics2DServer* physics_2d_server;
+ AudioServerSW* audio_server;
+ SampleManagerMallocSW* sample_manager;
+ SpatialSoundServerSW* spatial_sound_server;
+ SpatialSound2DServerSW* spatial_sound_2d_server;
+
+ AudioDriverDummy driver_dummy; // TODO: use a real driver
+
+#if defined(OPENGL_ENABLED) || defined(LEGACYGL_ENABLED)
+ ContextGL_Haiku* context_gl;
+#endif
virtual void delete_main_loop();
@@ -31,7 +57,11 @@ public:
virtual String get_name();
virtual MainLoop* get_main_loop() const;
+
virtual bool can_draw() const;
+ virtual void release_rendering_thread();
+ virtual void make_rendering_thread();
+ virtual void swap_buffers();
virtual Point2 get_mouse_pos() const;
virtual int get_mouse_button_state() const;