Mercurial > projects > doodle
view page_layer.d @ 11:fb571a3b1f0d
Checkpoint
author | "David Bryant <bagnose@gmail.com>" |
---|---|
date | Sat, 11 Jul 2009 23:32:22 +0930 |
parents | 71ca82e0eb76 |
children | a093c4fbdd43 |
line wrap: on
line source
import icanvas; import tk.geometry; import cairo.Context; import cairo_support; interface Page { } class PageLayer : Layer, Page { this() { mPageGeometry = Rectangle(Point.DEFAULT, Vector(210.0, 297.0)); } override Rectangle bounds() const { return mPageGeometry; } override void draw(const Viewport viewport, in Rectangle damage, Context cr) const { // Make the paper white, with a border cr.setSourceRgba(1.0, 1.0, 1.0, 1.0); rectangle(cr, viewport.model_to_screen(mPageGeometry)); cr.fill(); cr.setSourceRgba(0.0, 0.0, 0.0, 1.0); rectangle(cr, viewport.model_to_screen(mPageGeometry)); cr.stroke(); } private { Rectangle mPageGeometry; } }