view page_layer.d @ 11:fb571a3b1f0d

Checkpoint
author "David Bryant <bagnose@gmail.com>"
date Sat, 11 Jul 2009 23:32:22 +0930
parents 71ca82e0eb76
children a093c4fbdd43
line wrap: on
line source

import icanvas;
import tk.geometry;
import cairo.Context;
import cairo_support;

interface Page {
}

class PageLayer : Layer, Page {
    this() {
        mPageGeometry = Rectangle(Point.DEFAULT,
                                  Vector(210.0, 297.0));
    }

    override Rectangle bounds() const {
        return mPageGeometry;
    }

    override void draw(const Viewport viewport, in Rectangle damage, Context 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();

        cr.setSourceRgba(0.0, 0.0, 0.0, 1.0);
        rectangle(cr, viewport.model_to_screen(mPageGeometry));
        cr.stroke();
    }

    private {
        Rectangle mPageGeometry;
    }
}