luapage/main.c
2021-05-03 14:51:05 +03:00

40 lines
1,007 B
C

#include <stdio.h>
#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>
#include <luajit.h>
#include "ui.h"
#include "lua.h"
static void activate(GtkApplication* app, struct application_state* state) {
printf("gtk: ready\n");
page_application_init(state);
int status = lua_init_state(state->L, state);
if (status != 0) {
fprintf(stderr, "error: lua_init_state failed with non-zero error code %d\n", status);
return;
}
page_application_show(state);
lua_close(state->L);
}
int main(int argc, char** argv) {
lua_State* L;
int status = 1;
L = luaL_newstate();
if (!L) {
fprintf(stderr, "error: failed to create lua state");
return -1;
}
struct application_state* state = page_application_new();
state->L = L;
g_signal_connect(state->gapp, "activate", G_CALLBACK(activate), state);
status = g_application_run(G_APPLICATION(state->gapp), argc, argv);
g_object_unref(state->gapp);
return status;
}