added LayerdRootElement

This commit is contained in:
2024-01-21 16:32:55 +01:00
parent 1d2a43155a
commit 762f72c160
2 changed files with 85 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
package lib.ui.elements;
class LayerdRootElement implements UIElement {
private var children:Array<{element:UIElement, offset:Pos}>;
private final eventManager:UIEventManager = new UIEventManager();
public function new(?children:Array<{element:UIElement, offset:Pos}>) {
this.children = children == null ? [] : children;
}
public function setChildren(children:Array<{element:UIElement, offset:Pos}>) {
this.children = children;
}
public function getEventHandlers():UIEvents {
return eventManager.getEventHandlers();
}
public function render(bounds:Pos):Canvas {
// TODO: add event handle
var stack = new CanvasStack();
for (child in this.children) {
stack.addLayer(child.element.render(bounds), child.offset);
}
return stack.compress();
}
}