Mercurial > projects > doodle
view doodle/dia/layer_stack.d @ 132:bc5baa585b32
Updated to dmd 2.060
author | David Bryant <bagnose@gmail.com> |
---|---|
date | Thu, 02 Aug 2012 15:32:43 +0930 |
parents | 10ad5417bf07 |
children | 752676232e4b |
line wrap: on
line source
module doodle.dia.layer_stack; public { import doodle.dia.icanvas; } final class LayerStack { this(Layer[] layers) { _layers = layers.dup; } @property Rectangle bounds() const { // Take the union of all layer bounds Rectangle bounds; foreach (layer; _layers) { bounds = bounds | layer.bounds; } return bounds; } void draw(in Rectangle screenDamage, scope Renderer screenRenderer, in Rectangle modelDamage, scope Renderer modelRenderer, in ScreenModel screenModel) const { foreach(layer; _layers) { layer.draw(screenDamage, screenRenderer, modelDamage, modelRenderer, screenModel); } } private { Layer[] _layers; } }