annotate doodle/fig/fig.d @ 44:2b9329ed0f0e

Added backtrace support
author "David Bryant <bagnose@gmail.com>"
date Sun, 01 Aug 2010 02:06:14 +0930
parents 1754cb773d41
children 1b4c9ba58673
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28
1754cb773d41 Part-way through getting to compile with configure/builder.
Graham St Jack <graham.stjack@internode.on.net>
parents: 27
diff changeset
1 module doodle.fig.fig;
27
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents: 26
diff changeset
2
44
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
3 private {
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
4 import doodle.tk.geometry;
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
5 import cairo.Context;
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
6 }
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
7
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
8 interface FigParent {
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
9 }
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
10
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
11 abstract class Fig {
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
12 Rectangle bounds() const;
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
13
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
14 void draw(in Rectangle damage, scope Context cr) const;
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
15
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
16 private {
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
17 FigParent mParent;
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
18 }
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
19 }
27
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents: 26
diff changeset
20
44
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
21 abstract class FigElement : Fig {
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
22 // Link to model via bridge goes here
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
23 }
27
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents: 26
diff changeset
24
44
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
25 class Connection {
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
26 }
27
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents: 26
diff changeset
27
44
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
28 class FigNode : FigElement {
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
29 }
27
f3d91579bb28 Checkpoint
David Bryant <daveb@acres.com.au>
parents: 26
diff changeset
30
44
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
31 class FigEdge : FigElement {
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
32 private {
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
33 Connection[] mConnections;
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
34 }
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
35 }
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
36
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
37 abstract class FigLeaf : Fig {
2b9329ed0f0e Added backtrace support
"David Bryant <bagnose@gmail.com>"
parents: 28
diff changeset
38 }