10
|
1 import icanvas;
|
|
2 import tk.geometry;
|
|
3 import cairo.Context;
|
|
4 import cairo_support;
|
|
5
|
|
6 interface Page {
|
|
7 }
|
|
8
|
|
9 class PageLayer : Layer, Page {
|
11
|
10 this() {
|
|
11 mPageGeometry = Rectangle(Point.DEFAULT,
|
|
12 Vector(210.0, 297.0));
|
|
13 }
|
|
14
|
|
15 override Rectangle bounds() const {
|
|
16 return mPageGeometry;
|
|
17 }
|
|
18
|
|
19 override void draw(const Viewport viewport, in Rectangle damage, Context cr) const {
|
10
|
20 // Make the paper white, with a border
|
|
21
|
|
22 cr.setSourceRgba(1.0, 1.0, 1.0, 1.0);
|
11
|
23 rectangle(cr, viewport.model_to_screen(mPageGeometry));
|
10
|
24 cr.fill();
|
|
25
|
|
26 cr.setSourceRgba(0.0, 0.0, 0.0, 1.0);
|
11
|
27 rectangle(cr, viewport.model_to_screen(mPageGeometry));
|
10
|
28 cr.stroke();
|
|
29 }
|
|
30
|
|
31 private {
|
11
|
32 Rectangle mPageGeometry;
|
10
|
33 }
|
|
34 }
|