1 /* lminigtk.c
2 * Created in 2010 by Ulrik Sverdrup <ulrik.sverdrup@gmail.com>
3 *
4 * This work is placed in the public domain.
5 */
6
7 #include <gtk/gtk.h>
8
9 #define LUA_LIB
10 #include <lua.h>
11 #include <lauxlib.h>
12
init(lua_State * L)13 static int init (lua_State *L)
14 {
15 int argc = 0;
16 char **argv = NULL;
17 lua_pushnumber(L, gtk_init_check(&argc, &argv));
18 return 1;
19 }
20
main(lua_State * L)21 static int main (lua_State *L)
22 {
23 gtk_main();
24 return 0;
25 }
26
main_quit(lua_State * L)27 static int main_quit (lua_State *L)
28 {
29 gtk_main_quit();
30 return 0;
31 }
32
33 static const luaL_reg minigtk[] = {
34 {"init", init},
35 {"main", main},
36 {"main_quit", main_quit},
37 {NULL, NULL}
38 };
39
luaopen_minigtk(lua_State * L)40 LUALIB_API int luaopen_minigtk (lua_State *L)
41 {
42 luaL_register(L, "minigtk", minigtk);
43 return 1;
44 }
45
46