int dt_lua_init_call(lua_State *L) { luaA_enum(L,yield_type); luaA_enum_value(L,yield_type,WAIT_MS,false); luaA_enum_value(L,yield_type,FILE_READABLE,false); luaA_enum_value(L,yield_type,RUN_COMMAND,false); return 0; }
int dt_lua_init_call(lua_State *L) { luaA_enum(L, yield_type); luaA_enum_value(L, yield_type, WAIT_MS); luaA_enum_value(L, yield_type, FILE_READABLE); luaA_enum_value(L, yield_type, RUN_COMMAND); dt_lua_push_darktable_lib(L); luaA_Type type_id = dt_lua_init_singleton(L, "control", NULL); lua_setfield(L, -2, "control"); lua_pop(L, 1); lua_pushcfunction(L, ending_cb); dt_lua_type_register_const_type(L, type_id, "ending"); lua_pushcfunction(L, dispatch_cb); lua_pushcclosure(L, dt_lua_type_member_common, 1); dt_lua_type_register_const_type(L, type_id, "dispatch"); lua_newtable(L); lua_setfield(L, LUA_REGISTRYINDEX, "dt_lua_bg_threads"); return 0; }
int dt_lua_init_early_lib(lua_State *L) { #if 0 luaA_enum(L,dt_ui_container_t); luaA_enum_value(L,dt_ui_container_t,DT_UI_CONTAINER_PANEL_LEFT_TOP); luaA_enum_value(L,dt_ui_container_t,DT_UI_CONTAINER_PANEL_LEFT_CENTER); luaA_enum_value(L,dt_ui_container_t,DT_UI_CONTAINER_PANEL_LEFT_BOTTOM); luaA_enum_value(L,dt_ui_container_t,DT_UI_CONTAINER_PANEL_RIGHT_TOP); luaA_enum_value(L,dt_ui_container_t,DT_UI_CONTAINER_PANEL_RIGHT_CENTER); luaA_enum_value(L,dt_ui_container_t,DT_UI_CONTAINER_PANEL_RIGHT_BOTTOM); luaA_enum_value(L,dt_ui_container_t,DT_UI_CONTAINER_PANEL_TOP_LEFT); luaA_enum_value(L,dt_ui_container_t,DT_UI_CONTAINER_PANEL_TOP_CENTER); luaA_enum_value(L,dt_ui_container_t,DT_UI_CONTAINER_PANEL_TOP_RIGHT); luaA_enum_value(L,dt_ui_container_t,DT_UI_CONTAINER_PANEL_CENTER_TOP_LEFT); luaA_enum_value(L,dt_ui_container_t,DT_UI_CONTAINER_PANEL_CENTER_TOP_CENTER); luaA_enum_value(L,dt_ui_container_t,DT_UI_CONTAINER_PANEL_CENTER_TOP_RIGHT); luaA_enum_value(L,dt_ui_container_t,DT_UI_CONTAINER_PANEL_CENTER_BOTTOM_LEFT); luaA_enum_value(L,dt_ui_container_t,DT_UI_CONTAINER_PANEL_CENTER_BOTTOM_CENTER); luaA_enum_value(L,dt_ui_container_t,DT_UI_CONTAINER_PANEL_CENTER_BOTTOM_RIGHT); luaA_enum_value(L,dt_ui_container_t,DT_UI_CONTAINER_PANEL_BOTTOM); #endif dt_lua_init_type(L, dt_lib_module_t); lua_pushcfunction(L, lib_reset); lua_pushcclosure(L, dt_lua_type_member_common, 1); dt_lua_type_register_const(L, dt_lib_module_t, "reset"); lua_pushcfunction(L, version_member); dt_lua_type_register_const(L, dt_lib_module_t, "version"); lua_pushcfunction(L, id_member); dt_lua_type_register_const(L, dt_lib_module_t, "id"); lua_pushcfunction(L, name_member); dt_lua_type_register_const(L, dt_lib_module_t, "name"); lua_pushcfunction(L, expandable_member); dt_lua_type_register_const(L, dt_lib_module_t, "expandable"); lua_pushcfunction(L, expanded_member); lua_pushcclosure(L,dt_lua_gtk_wrap,1); dt_lua_type_register(L, dt_lib_module_t, "expanded"); #if 0 lua_pushcfunction(L,position_member); dt_lua_type_register_const(L,dt_lib_module_t,"position"); lua_pushcfunction(L,container_member); dt_lua_type_register_const(L,dt_lib_module_t,"container"); lua_pushcfunction(L,views_member); dt_lua_type_register_const(L,dt_lib_module_t,"views"); #endif lua_pushcfunction(L, visible_member); lua_pushcclosure(L,dt_lua_gtk_wrap,1); dt_lua_type_register(L, dt_lib_module_t, "visible"); lua_pushcfunction(L, on_screen_member); dt_lua_type_register_const(L, dt_lib_module_t, "on_screen"); dt_lua_module_new(L, "lib"); // special case : will be attached to dt.gui in lua/gui.c:dt_lua_init_gui return 0; }