32 lines
1010 B
Rust
32 lines
1010 B
Rust
use crate::asset_bridge::AssetBridge;
|
|
use crate::audio_bridge::AudioBridge;
|
|
use crate::gfx_bridge::GfxBridge;
|
|
use crate::pad_bridge::PadBridge;
|
|
use crate::sprite::Sprite;
|
|
use crate::touch_bridge::TouchBridge;
|
|
|
|
pub trait HardwareBridge {
|
|
fn begin_frame(&mut self);
|
|
fn bind_scene(&mut self, scene_bank_id: usize) -> bool;
|
|
fn unbind_scene(&mut self);
|
|
fn set_camera(&mut self, x: i32, y: i32);
|
|
fn emit_sprite(&mut self, sprite: Sprite) -> bool;
|
|
fn render_frame(&mut self);
|
|
fn has_glyph_bank(&self, bank_id: usize) -> bool;
|
|
|
|
fn gfx(&self) -> &dyn GfxBridge;
|
|
fn gfx_mut(&mut self) -> &mut dyn GfxBridge;
|
|
|
|
fn audio(&self) -> &dyn AudioBridge;
|
|
fn audio_mut(&mut self) -> &mut dyn AudioBridge;
|
|
|
|
fn pad(&self) -> &dyn PadBridge;
|
|
fn pad_mut(&mut self) -> &mut dyn PadBridge;
|
|
|
|
fn touch(&self) -> &dyn TouchBridge;
|
|
fn touch_mut(&mut self) -> &mut dyn TouchBridge;
|
|
|
|
fn assets(&self) -> &dyn AssetBridge;
|
|
fn assets_mut(&mut self) -> &mut dyn AssetBridge;
|
|
}
|