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 {
|
|
10 void draw(const Viewport viewport, in Rectangle damage, Context cr) const {
|
|
11 // Make the paper white, with a border
|
|
12
|
|
13 Point screen_page_left_bottom = viewport.model_to_screen(mPageLeftBottom);
|
|
14 Point screen_page_right_top = viewport.model_to_screen(mPageRightTop);
|
|
15
|
|
16 cr.setSourceRgba(1.0, 1.0, 1.0, 1.0);
|
|
17 draw_rectangle(cr, Rectangle(screen_page_left_bottom, screen_page_right_top));
|
|
18 cr.fill();
|
|
19
|
|
20 cr.setSourceRgba(0.0, 0.0, 0.0, 1.0);
|
|
21 draw_rectangle(cr, Rectangle(screen_page_left_bottom, screen_page_right_top));
|
|
22 cr.stroke();
|
|
23 }
|
|
24
|
|
25 private {
|
|
26 Point mPageLeftBottom; // model: bottom left corner of page
|
|
27 Point mPageRightTop; // model: top right corner of page
|
|
28 }
|
|
29 }
|