Mercurial > projects > doodle
annotate doodle/dia/page_layer.d @ 57:9960c4fbd0dd
I is for Interface
author | "David Bryant <bagnose@gmail.com>" |
---|---|
date | Sun, 08 Aug 2010 22:01:54 +0930 |
parents | 1b4c9ba58673 |
children | c63719604adb |
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 { |
8 import doodle.cairo.routines; | |
10 | 9 } |
10 | |
57 | 11 class PageLayer : Layer, IPage { |
12 | 12 this(in string name) { |
13 super(name); | |
48 | 14 _pageGeometry = Rectangle(Point.DEFAULT, Vector(210.0, 297.0)); |
15 //_pageGeometry = Rectangle(Point.DEFAULT, Vector(100.0, 100.0)); | |
11 | 16 } |
17 | |
36 | 18 // Layer overrides: |
19 | |
11 | 20 override Rectangle bounds() const { |
48 | 21 return _pageGeometry; |
11 | 22 } |
23 | |
57 | 24 override void draw(in IViewport viewport, |
48 | 25 in Rectangle pixelDamage, scope Context pixelCr, |
26 in Rectangle modelDamage, scope Context modelCr) const { | |
10 | 27 // Make the paper white, with a border |
28 | |
48 | 29 modelCr.save; { |
30 modelCr.setSourceRgba(0.0, 0.0, 0.0, 1.0); | |
31 rectangle(modelCr, _pageGeometry); | |
32 modelCr.stroke; | |
33 } modelCr.restore; | |
41 | 34 |
48 | 35 modelCr.save; { |
36 modelCr.setSourceRgba(1.0, 1.0, 1.0, 1.0); | |
37 rectangle(modelCr, _pageGeometry); | |
38 modelCr.fill; | |
39 } modelCr.restore; | |
10 | 40 } |
41 | |
57 | 42 // IPage overrides: |
36 | 43 |
10 | 44 private { |
48 | 45 Rectangle _pageGeometry; |
10 | 46 } |
47 } |