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
+    }
+}