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