godot/platform/flash/os_flash.cpp

179 lines
3.3 KiB
C++

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