aboutsummaryrefslogtreecommitdiff
path: root/src_testbed/plugin.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src_testbed/plugin.rs')
-rw-r--r--src_testbed/plugin.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src_testbed/plugin.rs b/src_testbed/plugin.rs
new file mode 100644
index 0000000..7ad018b
--- /dev/null
+++ b/src_testbed/plugin.rs
@@ -0,0 +1,12 @@
+use crate::testbed::PhysicsState;
+use kiss3d::window::Window;
+use na::Point3;
+
+pub trait TestbedPlugin {
+ fn init_graphics(&mut self, window: &mut Window, gen_color: &mut dyn FnMut() -> Point3<f32>);
+ fn clear_graphics(&mut self, window: &mut Window);
+ fn run_callbacks(&mut self, window: &mut Window, physics: &mut PhysicsState, t: f32);
+ fn step(&mut self, physics: &mut PhysicsState);
+ fn draw(&mut self);
+ fn profiling_string(&self) -> String;
+}