changeset 87:c825e6db57c1

Added a flag for OpenGL/Cairo
author "David Bryant <bagnose@gmail.com>"
date Mon, 16 Aug 2010 22:54:16 +0930
parents 8a491b67bc46
children 100dd23c7bdf
files doodle/main/prog/doodler.d
diffstat 1 files changed, 17 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/doodle/main/prog/doodler.d	Mon Aug 16 18:37:56 2010 +0930
+++ b/doodle/main/prog/doodler.d	Mon Aug 16 22:54:16 2010 +0930
@@ -1,5 +1,7 @@
 module main.prog.doodler;
 
+immutable useOpenGL = false;
+
 private {
     import doodle.core.backtrace;
     import doodle.core.logging;
@@ -16,9 +18,14 @@
     import doodle.fig.tools;
 
     import doodle.gtk.palette;
-    //import doodle.gtk.cairo_canvas;
-    import doodle.gtk.opengl_canvas;
-    import glgdk.GLdInit;
+
+    static if (useOpenGL) {
+        import doodle.gtk.opengl_canvas;
+        import glgdk.GLdInit;
+    }
+    else {
+        import doodle.gtk.cairo_canvas;
+    }
 
     import gtk.Main;
     import gtk.MainWindow;
@@ -30,7 +37,7 @@
 final class TopLevel : private IToolStackObserver {
     this(string[] args) {
         Main.init(args);
-        GLdInit.init(args);
+        static if (useOpenGL) { GLdInit.init(args); }
         auto window = new MainWindow("Doodle");
         auto vbox = new VBox(false, 0);
 
@@ -59,8 +66,12 @@
         // assume the screen has PPI of 120.0
         immutable millimetersPerInch = 25.4;
         immutable pixelsPerMillimetre = 120.0 / millimetersPerInch;
-        //auto canvas = new CairoCanvas(layers, toolLayer, gridLayer, pixelsPerMillimetre);
-        auto canvas = new OpenGLCanvas(layers, toolLayer, gridLayer, pixelsPerMillimetre);
+        static if (useOpenGL) {
+            auto canvas = new OpenGLCanvas(layers, toolLayer, gridLayer, pixelsPerMillimetre);
+        }
+        else {
+            auto canvas = new CairoCanvas(layers, toolLayer, gridLayer, pixelsPerMillimetre);
+        }
 
         vbox.packStart(canvas, true, true, 0);