changeset 74:c03ed75c0f8e

Icky
author "David Bryant <bagnose@gmail.com>"
date Sun, 15 Aug 2010 01:11:58 +0930
parents 6f2525e170f2
children 3cac0ee8ca35
files doodle/dia/grid_layer.d doodle/dia/icanvas.d doodle/dia/layer_stack.d doodle/dia/page_layer.d doodle/dia/tool.d doodle/dia/tool_layer.d doodle/fig/diagram_layer.d doodle/fig/select_tool.d doodle/gtk/canvas.d
diffstat 9 files changed, 40 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/doodle/dia/grid_layer.d	Sun Aug 15 01:02:15 2010 +0930
+++ b/doodle/dia/grid_layer.d	Sun Aug 15 01:11:58 2010 +0930
@@ -32,8 +32,7 @@
         return Rectangle();
     }
 
-    override void draw(in IViewport viewport,
-                       in Rectangle pixelDamage, scope Context pixelCr,
+    override void draw(in Rectangle pixelDamage, scope Context pixelCr,
                        in Rectangle modelDamage, scope Context modelCr) const {
         assert(_zoomValid);
 
--- a/doodle/dia/icanvas.d	Sun Aug 15 01:02:15 2010 +0930
+++ b/doodle/dia/icanvas.d	Sun Aug 15 01:11:58 2010 +0930
@@ -64,8 +64,7 @@
 
     Rectangle bounds() const;
 
-    void draw(in IViewport viewport,
-              in Rectangle pixelDamage, scope Context pixelCr,
+    void draw(in Rectangle pixelDamage, scope Context pixelCr,
               in Rectangle modelDamage, scope Context modelCr) const;
 
     private {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doodle/dia/layer_stack.d	Sun Aug 15 01:11:58 2010 +0930
@@ -0,0 +1,30 @@
+module doodle.dia.layer_stack;
+
+public {
+    import doodle.dia.icanvas;
+}
+
+final class LayerStack {
+    this(in Layer[] layers) {
+        _layers = layers.dup;
+    }
+
+    Rectangle bounds() const {
+        // Take the union of all layer bounds
+        Rectangle bounds = Rectangle.DEFAULT;
+        foreach (layer; _layers) { bounds = bounds | layer.bounds; }
+        assert(bounds.valid);
+        return bounds;
+    }
+
+    void draw(in Rectangle pixelDamage, scope Context pixelCr,
+              in Rectangle modelDamage, scope Context modelCr) {
+        foreach(layer; _layers) {
+            layer.draw(pixelDamage, pixelCr, modelDamage, modelCr);
+        }
+    }
+
+    private {
+        Layer[] _layers;
+    }
+}
--- a/doodle/dia/page_layer.d	Sun Aug 15 01:02:15 2010 +0930
+++ b/doodle/dia/page_layer.d	Sun Aug 15 01:11:58 2010 +0930
@@ -21,8 +21,7 @@
         return _pageGeometry;
     }
 
-    override void draw(in IViewport viewport,
-                       in Rectangle pixelDamage, scope Context pixelCr,
+    override void draw(in Rectangle pixelDamage, scope Context pixelCr,
                        in Rectangle modelDamage, scope Context modelCr) const {
         // Make the paper white, with a border
 
--- a/doodle/dia/tool.d	Sun Aug 15 01:02:15 2010 +0930
+++ b/doodle/dia/tool.d	Sun Aug 15 01:11:58 2010 +0930
@@ -24,7 +24,7 @@
     //bool handleFocusIn(scope IViewport viewport, FocusEvent event) { return false; }
     //bool handleFocusOut(scope IViewport viewport, FocusEvent event) { return false; }
 
-    void draw(in IViewport viewport, in Rectangle pixelDamage, scope Context pixelCr) const { }
+    void draw(in Rectangle pixelDamage, scope Context pixelCr) const { }
 
     private {
         immutable string _name;
--- a/doodle/dia/tool_layer.d	Sun Aug 15 01:02:15 2010 +0930
+++ b/doodle/dia/tool_layer.d	Sun Aug 15 01:11:58 2010 +0930
@@ -40,11 +40,10 @@
         return Rectangle();
     }
 
-    override void draw(const IViewport viewport,
-                       in Rectangle pixelDamage, scope Context pixelCr,
+    override void draw(in Rectangle pixelDamage, scope Context pixelCr,
                        in Rectangle modelDamage, scope Context modelCr) const {
         if (_grabbedTool) {
-            _grabbedTool.draw(viewport, pixelDamage, pixelCr);
+            _grabbedTool.draw(pixelDamage, pixelCr);
         }
     }
 
--- a/doodle/fig/diagram_layer.d	Sun Aug 15 01:02:15 2010 +0930
+++ b/doodle/fig/diagram_layer.d	Sun Aug 15 01:11:58 2010 +0930
@@ -23,8 +23,7 @@
         return Rectangle.DEFAULT;
     }
 
-    override void draw(in IViewport viewport,
-                       in Rectangle pixelDamage, scope Context pixelCr,
+    override void draw(in Rectangle pixelDamage, scope Context pixelCr,
                        in Rectangle modelDamage, scope Context modelCr) const {
         foreach (e; _elements) {
             if ((e.bounds & modelDamage).valid) {
--- a/doodle/fig/select_tool.d	Sun Aug 15 01:02:15 2010 +0930
+++ b/doodle/fig/select_tool.d	Sun Aug 15 01:11:58 2010 +0930
@@ -47,8 +47,7 @@
         return false;
     }
 
-    override void draw(in IViewport viewport,
-                       in Rectangle pixelDamage, scope Context pixelCr) const {
+    override void draw(in Rectangle pixelDamage, scope Context pixelCr) const {
         if (_active) {
             /*
                pixelCr.save; {
--- a/doodle/gtk/canvas.d	Sun Aug 15 01:02:15 2010 +0930
+++ b/doodle/gtk/canvas.d	Sun Aug 15 01:11:58 2010 +0930
@@ -197,7 +197,7 @@
 
     private {
 
-        Rectangle layerBounds() {
+        Rectangle layerBounds() const {
             Rectangle bounds = Rectangle.DEFAULT;
             foreach (layer; _layers) { bounds = bounds | layer.bounds; }
             assert(bounds.valid);
@@ -299,7 +299,7 @@
 
                 // Draw each layer
                 foreach(layer; _layers) {
-                    layer.draw(this, pixelDamage, pixelCr, modelDamage, modelCr);
+                    layer.draw(pixelDamage, pixelCr, modelDamage, modelCr);
                 }
             } pixelCr.restore; modelCr.restore;