Mercurial > projects > doodle
diff import/model.d @ 0:e907d2c54ec3
Initial import
author | David Bryant <daveb@acres.com.au> |
---|---|
date | Wed, 13 May 2009 15:42:39 +0930 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/import/model.d Wed May 13 15:42:39 2009 +0930 @@ -0,0 +1,56 @@ +module interaction.model; + +import presentation.model; + +final class Manipulator { +} + +abstract class Selector { + Selector(Fig selected) { + _selected = selected; + } + + Fig selected() { return _selected; } + + abstract void draw(Screen screen); + + private { + Fig _selected; + } +} + +abstract class Fig { + DiagramElement element() { return _element; } + + abstract void draw(Canvas canvas); + + abstract Selector create_selector(); + + private { + DiagramElement _element; + } +} + +abstract class NetFig : Fig { + GraphElement element() { return _element; } + + private { + GraphElement _element; + } +} + +abstract class EdgeFig : NetFig { + GraphEdge element() { return _element; } + + private { + GraphEdge _element; + } +} + +abstract class NodeFig : NetFig { + GraphNode element() { return _element; } + + private { + GraphNode _element; + } +}