jes/src/jes/gui/package.d

55 lines
1.1 KiB
D

module jes.gui;
static import jtk;
import std.stdio;
import jes.gui.window;
class Gui
{
this()
{
if (!jtk.initialize())
{
throw new Exception("JTK initialization failed.");
}
}
void run()
{
try
{
new Window();
event_loop();
}
finally
{
jtk.quit();
}
}
private void event_loop()
{
bool running = true;
while (running)
{
jtk.Event event = jtk.wait_event();
switch (event.type)
{
case jtk.Event.WINDOW_CLOSE:
Window window = Window[event.window_close.window];
window.close();
running = false;
break;
case jtk.Event.WINDOW_RESIZE:
Window window = Window[event.window_resize.window];
window.resize(event.window_resize.width, event.window_resize.height);
break;
default:
break;
}
}
}
}