added LayerdRootElement
This commit is contained in:
29
src/lib/ui/elements/LayerdRootElement.hx
Normal file
29
src/lib/ui/elements/LayerdRootElement.hx
Normal 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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user