Mercurial > projects > doodle
diff dia/page_layer.d @ 22:17c2df87b459
Package refactoring.
author | "David Bryant <bagnose@gmail.com>" |
---|---|
date | Wed, 15 Jul 2009 23:31:29 +0930 |
parents | page_layer.d@22abbf4cde96 |
children | a24c13bb9c98 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dia/page_layer.d Wed Jul 15 23:31:29 2009 +0930 @@ -0,0 +1,46 @@ +module dia.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 pixel_damage, scope Context pixel_cr, + in Rectangle model_damage, scope Context model_cr) const { + // Make the paper white, with a border + + model_cr.save; { + model_cr.setSourceRgba(1.0, 1.0, 1.0, 1.0); + rectangle(model_cr, mPageGeometry); + model_cr.fill; + } model_cr.restore; + + model_cr.save; { + model_cr.setSourceRgba(0.0, 0.0, 0.0, 1.0); + rectangle(model_cr, mPageGeometry); + model_cr.stroke; + } model_cr.restore; + } + + private { + Rectangle mPageGeometry; + } +}