summaryrefslogtreecommitdiff
path: root/platform/flash/os_flash.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/flash/os_flash.cpp')
-rw-r--r--platform/flash/os_flash.cpp178
1 files changed, 178 insertions, 0 deletions
diff --git a/platform/flash/os_flash.cpp b/platform/flash/os_flash.cpp
new file mode 100644
index 0000000000..5f83a8e107
--- /dev/null
+++ b/platform/flash/os_flash.cpp
@@ -0,0 +1,178 @@
+#include "os_flash.h"
+
+#include "main/main.h"
+
+#include "rasterizer_flash.h"
+#include "drivers/gles1/rasterizer_gles1.h"
+#include "servers/visual/visual_server_raster.h"
+#include "dir_access_flash.h"
+
+//#include "AS3.h"
+
+int OSFlash::get_video_driver_count() const {
+ return 1;
+};
+
+const char * OSFlash::get_video_driver_name(int p_driver) const {
+ return "Flash";
+};
+
+OS::VideoMode OSFlash::get_default_video_mode() const {
+ return OS::VideoMode();
+};
+
+int OSFlash::get_audio_driver_count() const {
+ return 1;
+};
+
+const char * OSFlash::get_audio_driver_name(int p_driver) const {
+ return "Flash";
+};
+
+void OSFlash::initialize_core() {
+
+ OS_Unix::initialize_core();
+
+ //DirAccessFlash::make_default();
+};
+
+void OSFlash::initialize(const OS::VideoMode& p_desired,int p_video_driver,int p_audio_driver) {
+
+ input = memnew( InputDefault );
+
+ rasterizer = memnew( RasterizerGLES1(false) );
+ //rasterizer = memnew( RasterizerFlash(false) );
+ visual_server = memnew( VisualServerRaster(rasterizer) );
+ visual_server->init();
+ visual_server->cursor_set_visible(false, 0);
+
+ audio_driver = memnew(AudioDriverDummy);
+ audio_driver->set_singleton();
+ audio_driver->init();
+
+ sample_manager = memnew( SampleManagerMallocSW );
+ audio_server = memnew( AudioServerSW(sample_manager) );
+ audio_server->set_mixer_params(AudioMixerSW::INTERPOLATION_LINEAR,false);
+ audio_server->init();
+
+ spatial_sound_server = memnew( SpatialSoundServerSW );
+ spatial_sound_server->init();
+
+ spatial_sound_2d_server = memnew( SpatialSound2DServerSW );
+ spatial_sound_2d_server->init();
+
+
+ physics_server = memnew( PhysicsServerSW );
+ physics_server->init();
+ physics_2d_server = memnew( Physics2DServerSW );
+ physics_2d_server->init();
+};
+
+void OSFlash::set_main_loop( MainLoop * p_main_loop ) {
+
+ input->set_main_loop(p_main_loop);
+ main_loop=p_main_loop;
+};
+
+void OSFlash::delete_main_loop() {
+
+ memdelete( main_loop );
+ main_loop = NULL;
+};
+
+void OSFlash::finalize() {
+
+ memdelete(input);
+};
+
+void OSFlash::set_mouse_show(bool p_show) {
+
+};
+
+void OSFlash::set_mouse_grab(bool p_grab) {
+
+};
+
+bool OSFlash::is_mouse_grab_enabled() const {
+ return false;
+};
+
+Point2 OSFlash::get_mouse_pos() const {
+
+ return Point2();
+};
+
+int OSFlash::get_mouse_button_state() const {
+ return 0;
+};
+
+void OSFlash::set_window_title(const String& p_title) {
+
+};
+
+bool OSFlash::has_virtual_keyboard() const {
+ return false;
+};
+
+void OSFlash::show_virtual_keyboard(const String& p_existing_text,const Rect2& p_screen_rect) {
+
+};
+
+void OSFlash::hide_virtual_keyboard() {
+
+};
+
+void OSFlash::set_video_mode(const OS::VideoMode& p_video_mode,int p_screen) {
+ default_videomode = p_video_mode;
+};
+
+OS::VideoMode OSFlash::get_video_mode(int p_screen) const {
+ return default_videomode;
+};
+
+void OSFlash::get_fullscreen_mode_list(List<OS::VideoMode> *p_list,int p_screen) const {
+ p_list->push_back(default_videomode);
+};
+
+String OSFlash::get_name() {
+
+ return "Flash";
+};
+
+MainLoop *OSFlash::get_main_loop() const {
+
+ return main_loop;
+};
+
+bool OSFlash::can_draw() const {
+ return true;
+}
+
+void OSFlash::set_cursor_shape(CursorShape p_shape) {
+
+};
+
+bool OSFlash::has_touchscreen_ui_hint() const {
+ return false;
+};
+
+Error OSFlash::shell_open(String p_uri) {
+ return ERR_UNAVAILABLE;
+};
+
+void OSFlash::yield() {
+
+ //flyield();
+ //inline_as3(
+ // "flyield();\n"
+ //);
+};
+
+bool OSFlash::iterate() {
+
+ if (!main_loop)
+ return true;
+
+ return Main::iteration();
+};
+