Mercurial > projects > doodle
view doodle/fig/diagram_layer.d @ 54:30ecedfe2ce2
Partial palette support
author | "David Bryant <bagnose@gmail.com>" |
---|---|
date | Sun, 08 Aug 2010 21:07:47 +0930 |
parents | doodle/fig/fig_layer.d@1b4c9ba58673 |
children | 9960c4fbd0dd |
line wrap: on
line source
module doodle.fig.diagram_layer; public { import doodle.dia.icanvas; import doodle.fig.diagram_elements; import std.array; } class DiagramLayer : Layer { this(in string name) { super(name); } void add(DiagramElement element) { _elements ~= element; } // Layer overrides: override Rectangle bounds() const { return Rectangle.DEFAULT; } override void draw(in Viewport viewport, in Rectangle pixelDamage, scope Context pixelCr, in Rectangle modelDamage, scope Context modelCr) const { foreach (e; _elements) { if ((e.bounds & modelDamage).valid) { e.draw(modelDamage, modelCr); } } } private { // Root elements in z-buffer order, ie we draw in forward // order thru the array DiagramElement[] _elements; } }