comparison 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
comparison
equal deleted inserted replaced
55:4922e746dd76 56:b190a9d9352e
7 private { 7 private {
8 import std.stdio; 8 import std.stdio;
9 import doodle.cairo.routines; 9 import doodle.cairo.routines;
10 } 10 }
11 11
12 class ToolLayer : Layer, EventHandler { 12 interface ToolStack {
13 }
14
15 class ToolLayer : Layer, EventHandler, ToolStack {
13 this(in Tool[] tools, in string name) { 16 this(in Tool[] tools, in string name) {
14 super(name); 17 super(name);
15 _tools = tools.dup; 18 _tools = tools.dup;
16 } 19 }
17 20
22 } 25 }
23 26
24 override void draw(const Viewport viewport, 27 override void draw(const Viewport viewport,
25 in Rectangle pixelDamage, scope Context pixelCr, 28 in Rectangle pixelDamage, scope Context pixelCr,
26 in Rectangle modelDamage, scope Context modelCr) const { 29 in Rectangle modelDamage, scope Context modelCr) const {
27 // FIXME this isn't how we will really draw the tools... 30 if (_grabbedTool) {
28 foreach (const Tool tool; _tools) { 31 _grabbedTool.draw(viewport, pixelDamage, pixelCr);
29 tool.draw(viewport, pixelDamage, pixelCr, modelDamage, modelCr);
30 } 32 }
31 } 33 }
32 34
33 // EventHandler overrides: 35 // EventHandler overrides:
34 36