Mercurial > projects > doodle
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);