summaryrefslogtreecommitdiff
path: root/src/renderer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/renderer.rs')
-rw-r--r--src/renderer.rs47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/renderer.rs b/src/renderer.rs
new file mode 100644
index 0000000..1f0d09f
--- /dev/null
+++ b/src/renderer.rs
@@ -0,0 +1,47 @@
+// Copyright (C) 2018 Jakob L. Kreuze, All Rights Reserved.
+//
+// This file is part of rebuild.
+//
+// rebuild is free software: you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the Free Software
+// Foundation, either version 3 of the License, or (at your option) any later
+// version.
+//
+// rebuild is distributed in the hope that it will be useful, but WITHOUT ANY
+// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+// A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along with
+// rebuild. If not, see <http://www.gnu.org/licenses/>.
+
+extern crate sdl2;
+
+pub trait Renderer {
+ pub fn new() -> Self;
+
+ // FIXME: Error handling?
+ pub fn window_title(title: &str);
+
+ pub fn draw_rooms(player_num: i32, smooth_ratio: i32);
+}
+
+// TODO: Document this.
+pub struct ClassicRenderer;
+
+impl Renderer for ClassicRenderer {
+ // TODO: Document this.
+ // FIXME: Proper error handling.
+ pub fn new() -> ClassicRenderer {
+ // let context = sdl2::init().unwrap();
+ // let video_subsystem = context.video().unwrap();
+
+ // let display = video_subsystem.window("SDL2", 800, 600)
+ // // .resizable()
+ // // .build_glium()
+ // .unwrap();
+
+ ClassicRenderer { }
+ }
+
+ pub fn window_title()
+}