RosettaCodeData/Task/Hello-world-Graphical/Neko/hello-world-graphical-2.neko
2023-07-01 13:44:08 -04:00

34 lines
1.1 KiB
Text

/**
<doc><pre>
Hello world, graphical, in Neko, via Agar label
Tectonics:
gcc -shared -fPIC -o nekoagar.ndll rosetta-nekoagar.c `agar-config --cflags --libs`
nekoc hello-graphical.neko
neko hello-graphical
</pre></doc>
*/
/* Load some libagar bindings http://www.libagar.org/mdoc.cgi?man=AG_Intro.3 */
var agar_init = $loader.loadprim("nekoagar@agar_init", 3);
var agar_window = $loader.loadprim("nekoagar@agar_window", 1);
var agar_window_show = $loader.loadprim("nekoagar@agar_window_show", 1);
var agar_box = $loader.loadprim("nekoagar@agar_box", 3);
var agar_label = $loader.loadprim("nekoagar@agar_label", 3);
var agar_eventloop = $loader.loadprim("nekoagar@agar_eventloop", 0);
/* Init with driver; NULL for best choice on current system */
try {
var rc = agar_init("nekoagar", 0, val_null);
if $not(rc) $throw("Error: agar_init non zero");
} catch e {
$throw("Error: agar_init exception");
}
/* Put up a window, with a box, and a label in the box */
var w = agar_window(0);
var box = agar_box(w, 1, 0);
var label = agar_label(box, 0, "Goodbye, World!");
agar_window_show(w);
/* Run the event loop */
agar_eventloop();