Mercurial > projects > doodle
view 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 |
line wrap: on
line source
module doodle.fig.diagram_elements; public { import doodle.tk.geometry; } private { import doodle.tk.renderer; } interface IDiagram { void add(DiagramElement element); } abstract class DiagramElement { /* Rectangle bounds() const; void draw(in Rectangle damage, scope Renderer cr) const; */ private { //GraphElement _container; // FIXME use an interface to the container } } abstract class SemanticModelBridge { }; abstract class GraphElement : DiagramElement { // Link to model via bridge goes here private { SemanticModelBridge _modelBridge; GraphConnector[] _anchorages; } } class GraphConnector { } final class GraphNode : GraphElement { } final class GraphEdge : GraphElement { private { GraphConnector[2] _anchors; } } abstract class LeafElement : DiagramElement { } class TextElement : LeafElement { } abstract class GraphicPrimitive : LeafElement { } class PolylinePrimitive : GraphicPrimitive { private { Point[] _waypoints; } } final class RectanglePrimitive : GraphicPrimitive { /* override void draw(in Rectangle damage, scope Renderer drawable) const { drawable.drawRectangle(bounds, false); } override Rectangle bounds() const { return _bounds; } */ private { Rectangle _bounds; } }