WIP of modes
[opengl.git] / mode.hpp
diff --git a/mode.hpp b/mode.hpp
new file mode 100644 (file)
index 0000000..43db9dd
--- /dev/null
+++ b/mode.hpp
@@ -0,0 +1,16 @@
+#include <glm/glm.hpp>
+#include <vector>
+
+struct Light {
+       glm::mat4 trans;
+       glm::vec3 color;
+};
+
+struct Mode {
+       virtual void display(float d) = 0;
+       virtual void timer() = 0;
+       virtual void motion(int x, int y, int dx, int dy) = 0;
+       virtual void passiveMotion(int x, int y, int dx, int dy) = 0;
+       virtual void mouse(int button, int state, int x, int y) = 0;
+       std::vector<Light> getLights(float d) { return {}; }
+};