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 }