wgs_runtime_base/
runtime.rs1use anyhow::Result;
2use wgs_core::WgsData;
3
4pub trait RuntimeExt {
6 fn add_texture(&mut self, width: u32, height: u32, buffer: Vec<u8>);
8
9 fn change_texture(&mut self, index: usize, width: u32, height: u32, buffer: Vec<u8>);
11
12 fn compile(&mut self) -> Result<()>;
14
15 fn load(&mut self, wgs: WgsData) -> Result<()>;
17
18 fn pause(&mut self);
20
21 fn remove_texture(&mut self, index: usize);
23
24 fn render(&mut self) -> Result<()>;
26
27 fn resize(&mut self, width: f32, height: f32);
29
30 fn restart(&mut self);
32
33 fn resume(&mut self);
35
36 fn set_wgs_frag(&mut self, shader_frag: &str);
38
39 fn set_wgs_name(&mut self, name: &str);
41
42 fn update_cursor(&mut self, cursor: [f32; 2]);
44
45 fn update_mouse_press(&mut self);
47
48 fn update_mouse_release(&mut self);
50
51 fn wgs(&self) -> &WgsData;
53}