Mercurial > projects > doodle
annotate doodle/dia/page_layer.d @ 100:a274d16ab6ce
struct initialisers
author | David Bryant <bagnose@gmail.com> |
---|---|
date | Mon, 18 Oct 2010 18:10:02 +1030 |
parents | 467febed7367 |
children | bc5baa585b32 |
rev | line source |
---|---|
28
1754cb773d41
Part-way through getting to compile with configure/builder.
Graham St Jack <graham.stjack@internode.on.net>
parents:
26
diff
changeset
|
1 module doodle.dia.page_layer; |
17 | 2 |
3 public { | |
28
1754cb773d41
Part-way through getting to compile with configure/builder.
Graham St Jack <graham.stjack@internode.on.net>
parents:
26
diff
changeset
|
4 import doodle.dia.icanvas; |
17 | 5 } |
10 | 6 |
36 | 7 private { |
10 | 8 } |
9 | |
57 | 10 class PageLayer : Layer, IPage { |
58
c63719604adb
Beginnings of creating a rectangle...
"David Bryant <bagnose@gmail.com>"
parents:
57
diff
changeset
|
11 this(in string name = "Page") { |
12 | 12 super(name); |
100 | 13 _pageGeometry = Rectangle(Point(), Vector(210.0, 297.0)); |
14 //_pageGeometry = Rectangle(Point(), Vector(100.0, 100.0)); | |
11 | 15 } |
16 | |
36 | 17 // Layer overrides: |
18 | |
11 | 19 override Rectangle bounds() const { |
48 | 20 return _pageGeometry; |
11 | 21 } |
22 | |
84 | 23 override void draw(in Rectangle screenDamage, scope Renderer screenRenderer, |
89 | 24 in Rectangle modelDamage, scope Renderer modelRenderer, |
25 in ScreenModel screenModel) const { | |
10 | 26 // Make the paper white, with a border |
27 | |
84 | 28 modelRenderer.pushState; { |
29 modelRenderer.setColor(Color(0.0, 0.0, 0.0, 1.0)); | |
30 modelRenderer.drawRectangle(_pageGeometry, false); | |
31 } modelRenderer.popState; | |
41 | 32 |
84 | 33 modelRenderer.pushState; { |
34 modelRenderer.setColor(Color(1.0, 1.0, 1.0, 1.0)); | |
35 modelRenderer.drawRectangle(_pageGeometry, true); | |
36 } modelRenderer.popState; | |
10 | 37 } |
38 | |
57 | 39 // IPage overrides: |
36 | 40 |
10 | 41 private { |
48 | 42 Rectangle _pageGeometry; |
10 | 43 } |
44 } |