Mercurial > projects > doodle
view page_layer.d @ 17:c643c04e3f5e
Checkpoint
author | David Bryant <daveb@acres.com.au> |
---|---|
date | Mon, 13 Jul 2009 16:46:21 +0930 |
parents | 9e63308b749c |
children | df8d81d9f499 |
line wrap: on
line source
module page_layer; private { import cairo_support; } public { import icanvas; } interface Page { } class PageLayer : Layer, Page { this(in string name) { super(name); mPageGeometry = Rectangle(Point.DEFAULT, Vector(210.0, 297.0)); //mPageGeometry = Rectangle(Point.DEFAULT, Vector(100.0, 100.0)); } override Rectangle bounds() const { return mPageGeometry; } override void draw(const Viewport viewport, in Rectangle damage, Context model_cr, Context pixel_cr) const { // Make the paper white, with a border model_cr.setSourceRgba(1.0, 0.5, 1.0, 0.5); rectangle(model_cr, mPageGeometry); model_cr.fill(); model_cr.setSourceRgba(0.3, 0.0, 0.0, 0.5); rectangle(model_cr, mPageGeometry); model_cr.stroke(); /* pixel_cr.setSourceRgba(1.0, 1.0, 0.5, 0.4); rectangle(pixel_cr, viewport.model_to_pixel(mPageGeometry)); pixel_cr.fill(); pixel_cr.setSourceRgba(0.0, 0.3, 0.0, 0.4); rectangle(pixel_cr, viewport.model_to_pixel(mPageGeometry)); //rectangle(pixel_cr, viewport.model_to_pixel(Rectangle(mPageGeometry.position, mPageGeometry.size / 2.0))); pixel_cr.stroke(); */ } private { Rectangle mPageGeometry; } }