Mercurial > projects > doodle
view doodle/dia/layer_stack.d @ 74:c03ed75c0f8e
Icky
author | "David Bryant <bagnose@gmail.com>" |
---|---|
date | Sun, 15 Aug 2010 01:11:58 +0930 |
parents | |
children | b759414d2b72 |
line wrap: on
line source
module doodle.dia.layer_stack; public { import doodle.dia.icanvas; } final class LayerStack { this(in Layer[] layers) { _layers = layers.dup; } Rectangle bounds() const { // Take the union of all layer bounds Rectangle bounds = Rectangle.DEFAULT; foreach (layer; _layers) { bounds = bounds | layer.bounds; } assert(bounds.valid); return bounds; } void draw(in Rectangle pixelDamage, scope Context pixelCr, in Rectangle modelDamage, scope Context modelCr) { foreach(layer; _layers) { layer.draw(pixelDamage, pixelCr, modelDamage, modelCr); } } private { Layer[] _layers; } }