view 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 source

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