34 lines
1.1 KiB
Text
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();
|