diff options
Diffstat (limited to 'platform/flash/os_flash.cpp')
-rw-r--r-- | platform/flash/os_flash.cpp | 178 |
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(); +}; + |