Mercurial > projects > doodle
comparison doodle/fig/diagram_elements.d @ 96:66210d8ea37a
Added some junk
author | David Bryant <bagnose@gmail.com> |
---|---|
date | Thu, 26 Aug 2010 16:32:07 +0930 |
parents | cdd4fc728d94 |
children | dcd641209671 |
comparison
equal
deleted
inserted
replaced
95:85589f7a3a28 | 96:66210d8ea37a |
---|---|
1 module doodle.fig.diagram_elements; | 1 module doodle.fig.diagram_elements; |
2 | 2 |
3 public { | |
4 import doodle.tk.geometry; | |
5 } | |
6 | |
3 private { | 7 private { |
4 import doodle.tk.geometry; | |
5 import doodle.tk.renderer; | 8 import doodle.tk.renderer; |
6 } | 9 } |
7 | 10 |
8 interface IDiagram { | 11 interface IDiagram { |
9 void add(DiagramElement element); | 12 void add(DiagramElement element); |
10 } | 13 } |
11 | 14 |
12 abstract class DiagramElement { | 15 abstract class DiagramElement { |
16 /* | |
13 Rectangle bounds() const; | 17 Rectangle bounds() const; |
14 | 18 |
15 void draw(in Rectangle damage, scope Renderer cr) const; | 19 void draw(in Rectangle damage, scope Renderer cr) const; |
20 */ | |
16 | 21 |
17 private { | 22 private { |
18 //GraphElement _container; // FIXME use an interface to the container | 23 //GraphElement _container; // FIXME use an interface to the container |
19 } | 24 } |
20 } | 25 } |
21 | 26 |
22 /* | 27 abstract class SemanticModelBridge { |
23 abstract class SemanticModelBridge { | 28 }; |
24 }; | |
25 | 29 |
26 abstract class GraphElement : DiagramElement { | 30 abstract class GraphElement : DiagramElement { |
27 // Link to model via bridge goes here | 31 // Link to model via bridge goes here |
28 private { | 32 private { |
29 SemanticModelBridge _modelBridge; | 33 SemanticModelBridge _modelBridge; |
30 GraphConnector[] _anchorages; | 34 GraphConnector[] _anchorages; |
31 } | 35 } |
32 } | 36 } |
33 | 37 |
34 class GraphConnector { | 38 class GraphConnector { |
35 } | 39 } |
36 | 40 |
37 final class GraphNode : GraphElement { | 41 final class GraphNode : GraphElement { |
38 } | 42 } |
39 | 43 |
40 final class GraphEdge : GraphElement { | 44 final class GraphEdge : GraphElement { |
41 private { | 45 private { |
42 GraphConnector[2] _anchors; | 46 GraphConnector[2] _anchors; |
47 } | |
43 } | 48 } |
44 } | |
45 */ | |
46 | 49 |
47 abstract class LeafElement : DiagramElement { | 50 abstract class LeafElement : DiagramElement { |
48 } | 51 } |
49 | 52 |
50 /* | 53 class TextElement : LeafElement { |
51 class TextElement : LeafElement { | 54 } |
52 } | |
53 */ | |
54 | 55 |
55 abstract class GraphicPrimitive : LeafElement { | 56 abstract class GraphicPrimitive : LeafElement { |
56 } | 57 } |
57 | 58 |
58 /* | 59 class PolylinePrimitive : GraphicPrimitive { |
59 class PolylinePrimitive : GraphicPrimitive { | 60 private { |
60 private { | 61 Point[] _waypoints; |
61 Point[] _waypoints; | 62 } |
62 } | 63 } |
63 } | |
64 */ | |
65 | 64 |
66 final class RectanglePrimitive : GraphicPrimitive { | 65 final class RectanglePrimitive : GraphicPrimitive { |
66 /* | |
67 override void draw(in Rectangle damage, scope Renderer drawable) const { | 67 override void draw(in Rectangle damage, scope Renderer drawable) const { |
68 drawable.drawRectangle(bounds, false); | 68 drawable.drawRectangle(bounds, false); |
69 } | 69 } |
70 | 70 |
71 override Rectangle bounds() const { return _bounds; } | 71 override Rectangle bounds() const { return _bounds; } |
72 */ | |
72 | 73 |
73 private { | 74 private { |
74 Rectangle _bounds; | 75 Rectangle _bounds; |
75 } | 76 } |
76 } | 77 } |