40 lines
1.1 KiB
Plaintext
40 lines
1.1 KiB
Plaintext
PROGRAM firstgtk CONTEXT VOID
|
|
USE standard
|
|
BEGIN
|
|
MODE GDATA = REF BITS;
|
|
MODE GUINT = BITS;
|
|
MODE GSIZE = BITS;
|
|
MODE GTYPE = GSIZE;
|
|
MODE GTYPECLASS = STRUCT(GTYPE g type);
|
|
MODE GTYPEINSTANCE = STRUCT(REF GTYPECLASS g class);
|
|
MODE GTKWIDGETPRIVATE = REF BITS;
|
|
|
|
MODE GOBJECT = STRUCT(
|
|
GTYPEINSTANCE g type instance,
|
|
GUINT ref count,
|
|
REF GDATA qdata);
|
|
|
|
MODE GTKWIDGET = STRUCT(
|
|
GOBJECT parent instance,
|
|
REF GTKWIDGETPRIVATE priv);
|
|
|
|
PROC(REF INT,REF CCHARPTRPTR)VOID gtk init = ALIEN "GTK_INIT"
|
|
"#define GTK_INIT(argc,argv) gtk_init(argc,argv)";
|
|
PROC(INT)REF GTKWIDGET gtk window new = ALIEN "GTK_WINDOW_NEW"
|
|
"#define GTK_WINDOW_NEW(type) (void *)gtk_window_new(type)";
|
|
PROC(REF GTKWIDGET)VOID gtk widget show = ALIEN "GTK_WIDGET_SHOW"
|
|
"#define GTK_WIDGET_SHOW(widget) gtk_widget_show((void *)widget)";
|
|
PROC gtk main = VOID: CODE "gtk_main();";
|
|
|
|
INT gtk window toplevel = 0;
|
|
FILE argf;
|
|
REF GTKWIDGET window;
|
|
|
|
open(argf,"",arg channel);
|
|
gtk init(argc,argv);
|
|
window:=gtk window new(gtk window toplevel);
|
|
gtk widget show(window);
|
|
gtk main
|
|
END
|
|
FINISH
|