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