Mercurial > projects > doodle
diff page_layer.d @ 10:71ca82e0eb76
Checkpoint
author | "David Bryant <bagnose@gmail.com>" |
---|---|
date | Sat, 11 Jul 2009 22:49:41 +0930 |
parents | |
children | fb571a3b1f0d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/page_layer.d Sat Jul 11 22:49:41 2009 +0930 @@ -0,0 +1,29 @@ +import icanvas; +import tk.geometry; +import cairo.Context; +import cairo_support; + +interface Page { +} + +class PageLayer : Layer, Page { + void draw(const Viewport viewport, in Rectangle damage, Context cr) const { + // Make the paper white, with a border + + Point screen_page_left_bottom = viewport.model_to_screen(mPageLeftBottom); + Point screen_page_right_top = viewport.model_to_screen(mPageRightTop); + + cr.setSourceRgba(1.0, 1.0, 1.0, 1.0); + draw_rectangle(cr, Rectangle(screen_page_left_bottom, screen_page_right_top)); + cr.fill(); + + cr.setSourceRgba(0.0, 0.0, 0.0, 1.0); + draw_rectangle(cr, Rectangle(screen_page_left_bottom, screen_page_right_top)); + cr.stroke(); + } + + private { + Point mPageLeftBottom; // model: bottom left corner of page + Point mPageRightTop; // model: top right corner of page + } +}