Mercurial > projects > doodle
comparison page_layer.d @ 10:71ca82e0eb76
Checkpoint
author | "David Bryant <bagnose@gmail.com>" |
---|---|
date | Sat, 11 Jul 2009 22:49:41 +0930 |
parents | |
children | fb571a3b1f0d |
comparison
equal
deleted
inserted
replaced
9:66b47e122b31 | 10:71ca82e0eb76 |
---|---|
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 } |