Mercurial > projects > doodle
diff page_layer.d @ 12:a093c4fbdd43
Checkpoint
author | "David Bryant <bagnose@gmail.com>" |
---|---|
date | Sun, 12 Jul 2009 00:39:35 +0930 |
parents | fb571a3b1f0d |
children | 9e63308b749c |
line wrap: on
line diff
--- a/page_layer.d Sat Jul 11 23:32:22 2009 +0930 +++ b/page_layer.d Sun Jul 12 00:39:35 2009 +0930 @@ -7,7 +7,8 @@ } class PageLayer : Layer, Page { - this() { + this(in string name) { + super(name); mPageGeometry = Rectangle(Point.DEFAULT, Vector(210.0, 297.0)); } @@ -16,16 +17,29 @@ return mPageGeometry; } - override void draw(const Viewport viewport, in Rectangle damage, Context cr) const { + override void draw(const Viewport viewport, in Rectangle damage, + Context model_cr, Context screen_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(); + /* + model_cr.setSourceRgba(1.0, 1.0, 1.0, 1.0); + rectangle(model_cr, mPageGeometry); + model_cr.fill(); - cr.setSourceRgba(0.0, 0.0, 0.0, 1.0); - rectangle(cr, viewport.model_to_screen(mPageGeometry)); - cr.stroke(); + model_cr.setSourceRgba(0.0, 0.0, 0.0, 1.0); + rectangle(model_cr, mPageGeometry); + rectangle(model_cr, Rectangle(mPageGeometry.position, mPageGeometry.size / 2.0)); + model_cr.stroke(); + */ + + screen_cr.setSourceRgba(1.0, 1.0, 1.0, 1.0); + rectangle(screen_cr, viewport.model_to_screen(mPageGeometry)); + screen_cr.fill(); + + screen_cr.setSourceRgba(0.0, 0.0, 0.0, 1.0); + rectangle(screen_cr, viewport.model_to_screen(mPageGeometry)); + rectangle(screen_cr, viewport.model_to_screen(Rectangle(mPageGeometry.position, mPageGeometry.size / 2.0))); + screen_cr.stroke(); } private {