Mercurial > projects > doodle
diff doodle/import/model.d @ 28:1754cb773d41
Part-way through getting to compile with configure/builder.
author | Graham St Jack <graham.stjack@internode.on.net> |
---|---|
date | Sun, 02 Aug 2009 16:27:21 +0930 |
parents | import/model.d@e907d2c54ec3 |
children | 960b408d3ac5 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doodle/import/model.d Sun Aug 02 16:27:21 2009 +0930 @@ -0,0 +1,55 @@ +module doodle.interaction.model; + + +final class Manipulator { +} + +abstract class Selector { + this(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; + } +}