cc-haxe/src/Startup.hx

50 lines
987 B
Haxe
Raw Normal View History

2022-02-21 00:50:19 +00:00
import kernel.Init;
2022-02-20 19:56:37 +00:00
import lib.ui.Observable;
2021-12-20 00:55:30 +00:00
import lib.ui.TextElement;
import lib.ui.ReactiveUI;
import kernel.ui.WindowManager;
import kernel.KernelEvents;
using util.Extender.LambdaExtender;
class Startup {
2022-02-21 00:50:19 +00:00
public static function main() {
Init.initKernel();
2021-12-20 00:55:30 +00:00
exampleUI();
KernelEvents.instance.startEventLoop();
}
static function exampleProgramm() {
var context = WindowManager.instance.createNewContext();
2022-02-21 00:50:19 +00:00
context.clickSignal.handle(data -> {
2021-12-20 00:55:30 +00:00
context.setCursorPos(data.pos.x,data.pos.y);
context.write("x");
});
context.write("Example programm");
}
static function exampleUI() {
var context = WindowManager.instance.createNewContext();
2022-02-20 19:56:37 +00:00
var text = new Observable("Hello world");
var ui = new ReactiveUI(context,[
new TextElement(text),
new TextElement(text,Green,Red),
2021-12-20 00:55:30 +00:00
]);
2022-02-20 19:56:37 +00:00
ui.render();
2022-02-21 00:50:19 +00:00
context.clickSignal.handle(data -> {
2022-02-20 19:56:37 +00:00
text.set("Holla mundo");
});
2021-12-20 00:55:30 +00:00
WindowManager.instance.focusContextToOutput(context,"main");
}
}