diff doodle/dia/tool_layer.d @ 56:b190a9d9352e

Checkpoint
author "David Bryant <bagnose@gmail.com>"
date Sun, 08 Aug 2010 21:56:54 +0930
parents 1b4c9ba58673
children 9960c4fbd0dd
line wrap: on
line diff
--- a/doodle/dia/tool_layer.d	Sun Aug 08 21:37:38 2010 +0930
+++ b/doodle/dia/tool_layer.d	Sun Aug 08 21:56:54 2010 +0930
@@ -9,7 +9,10 @@
     import doodle.cairo.routines;
 }
 
-class ToolLayer : Layer, EventHandler {
+interface ToolStack {
+}
+
+class ToolLayer : Layer, EventHandler, ToolStack {
     this(in Tool[] tools, in string name) {
         super(name);
         _tools = tools.dup;
@@ -24,9 +27,8 @@
     override void draw(const Viewport viewport,
                        in Rectangle pixelDamage, scope Context pixelCr,
                        in Rectangle modelDamage, scope Context modelCr) const {
-        // FIXME this isn't how we will really draw the tools...
-        foreach (const Tool tool; _tools) {
-            tool.draw(viewport, pixelDamage, pixelCr, modelDamage, modelCr);
+        if (_grabbedTool) {
+            _grabbedTool.draw(viewport, pixelDamage, pixelCr);
         }
     }