virtualx-engine/platform/haiku/os_haiku.h
2015-05-28 03:42:40 +03:00

48 lines
1.3 KiB
C++

#ifndef OS_HAIKU_H
#define OS_HAIKU_H
#include "drivers/unix/os_unix.h"
#include "servers/visual_server.h"
#include "servers/visual/rasterizer.h"
class OS_Haiku : public OS_Unix {
private:
MainLoop* main_loop;
Rasterizer* rasterizer;
VisualServer* visual_server;
virtual void delete_main_loop();
protected:
virtual int get_video_driver_count() const;
virtual const char* get_video_driver_name(int p_driver) const;
virtual VideoMode get_default_video_mode() const;
virtual void initialize(const VideoMode& p_desired, int p_video_driver, int p_audio_driver);
virtual void finalize();
virtual void set_main_loop(MainLoop* p_main_loop);
public:
OS_Haiku();
void run();
virtual String get_name();
virtual MainLoop* get_main_loop() const;
virtual bool can_draw() const;
virtual Point2 get_mouse_pos() const;
virtual int get_mouse_button_state() const;
virtual void set_cursor_shape(CursorShape p_shape);
virtual void set_window_title(const String& p_title);
virtual Size2 get_window_size() const;
virtual void set_video_mode(const VideoMode& p_video_mode, int p_screen=0);
virtual VideoMode get_video_mode(int p_screen=0) const;
virtual void get_fullscreen_mode_list(List<VideoMode> *p_list, int p_screen=0) const;
virtual String get_executable_path() const;
};
#endif