vrust 0.0.1

VRust game engine
use std::os::raw::c_void;
#[cfg(target_os = "android")]
use super::android::application::Application;
#[cfg(target_os = "linux")]
use super::linux::application::Application;
#[cfg(target_os = "macos")]
use super::mac::application::Application;
#[cfg(target_os = "windows")]
use super::windows::application::Application;

pub type OsApplication<CoreApp> = Application<CoreApp>;

use super::super::core::application::ApplicationTrait as CoreAppTrait;
use super::super::render::engine::RenderEngine;

pub trait ApplicationTrait<CoreApp>
where
    CoreApp: 'static + CoreAppTrait,
{
    fn new(args: *const c_void) -> Self;
    fn set_core_app(&mut self, c: &'static mut CoreApp);
    fn set_rnd_eng(&mut self, r: &'static mut RenderEngine<CoreApp>);
    fn initialize(&mut self) -> bool;
    fn execute(&mut self) -> bool;
    fn get_mouse_position(&self) -> (f64, f64);
    fn get_window_ratio(&self) -> f64;
}