Mercurial > projects > doodle
view doodle/fig/diagram_layer.d @ 100:a274d16ab6ce
struct initialisers
author | David Bryant <bagnose@gmail.com> |
---|---|
date | Mon, 18 Oct 2010 18:10:02 +1030 |
parents | 66210d8ea37a |
children | 523269b36711 |
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, IDiagram { this(in string name = "Diagram") { super(name); } // IDiagram overrides: void add(DiagramElement element) { _elements ~= element; } // Layer overrides: override Rectangle bounds() const { // Take the union of all diagram element bounds /* Rectangle bounds = Rectangle.DEFAULT; foreach (element; _elements) { bounds = bounds | element.bounds; } */ return Rectangle(); } override void draw(in Rectangle screenDamage, scope Renderer screenRenderer, in Rectangle modelDamage, scope Renderer modelRenderer, in ScreenModel screenModel) const { /* foreach (e; _elements) { if ((e.bounds & modelDamage).valid) { // FIXME if (intersects(e.bounds, modelDamage)) e.draw(modelDamage, modelRenderer); } } */ } private { // Root elements in z-buffer order, ie we draw in forward // order thru the array DiagramElement[] _elements; } }