20 lines
470 B
Haxe
20 lines
470 B
Haxe
package lib.ui.reactive;
|
|
|
|
import util.Vec.Vec2;
|
|
|
|
using tink.CoreApi;
|
|
|
|
abstract class UIElement {
|
|
abstract public function render(bounds:Vec2<Int>):Canvas;
|
|
public var changed(default, null):Signal<Noise>;
|
|
private final changedTrigger:SignalTrigger<Noise> = Signal.trigger();
|
|
public final eventListner:UIEvents = {};
|
|
|
|
public function new(events: UIEvents = null) {
|
|
changed = changedTrigger.asSignal();
|
|
if (events != null){
|
|
this.eventListner = events;
|
|
}
|
|
}
|
|
}
|