]> git.tdb.fi Git - libs/vr.git/blobdiff - source/system.h
Rename DisplayDevice to System
[libs/vr.git] / source / system.h
diff --git a/source/system.h b/source/system.h
new file mode 100644 (file)
index 0000000..0610e29
--- /dev/null
@@ -0,0 +1,33 @@
+#ifndef MSP_VR_SYSTEM_H_
+#define MSP_VR_SYSTEM_H_
+
+#include <string>
+#include <msp/gl/camera.h>
+#include <msp/gl/view.h>
+
+namespace Msp {
+namespace VR {
+
+class HeadTrackingCamera;
+class StereoCombiner;
+class StereoView;
+
+class System
+{
+protected:
+       System() { }
+public:
+       virtual ~System() { }
+
+       static System *create(const std::string &);
+
+       virtual void configure_window(Graphics::Window &) const = 0;
+       virtual void configure_view(StereoView &) const = 0;
+       virtual HeadTrackingCamera *create_camera(const GL::Camera &) = 0;
+       virtual StereoCombiner *create_combiner(GL::View &) = 0;
+};
+
+} // namespace VR
+} // namespace Msp
+
+#endif