Mercurial > projects > doodle
annotate doodle/dia/page_layer.d @ 73:6f2525e170f2
Cairo/OpenGL checkpoint
author | "David Bryant <bagnose@gmail.com>" |
---|---|
date | Sun, 15 Aug 2010 01:02:15 +0930 |
parents | c63719604adb |
children | c03ed75c0f8e |
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 { |
73 | 8 import doodle.tk.cairo; |
10 | 9 } |
10 | |
57 | 11 class PageLayer : Layer, IPage { |
58
c63719604adb
Beginnings of creating a rectangle...
"David Bryant <bagnose@gmail.com>"
parents:
57
diff
changeset
|
12 this(in string name = "Page") { |
12 | 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 } |