void dt_lua_lib_register(lua_State *L, dt_lib_module_t *module) { dt_lua_module_entry_new_singleton(L, "lib", module->plugin_name, module); int my_type = dt_lua_module_entry_get_type(L, "lib", module->plugin_name); dt_lua_type_register_parent_type(L, my_type, luaA_type_find(L, "dt_lib_module_t")); lua_pushcfunction(L, lib_tostring); dt_lua_type_setmetafield_type(L,my_type,"__tostring"); };
void init(dt_lib_module_t *self) { lua_State *L = darktable.lua_state.state; int my_type = dt_lua_module_entry_get_type(L, "lib", self->plugin_name); lua_pushlightuserdata(L,self); lua_pushcclosure(L, lua_register_widget,1); dt_lua_gtk_wrap(L); lua_pushcclosure(L, dt_lua_type_member_common, 1); dt_lua_type_register_const_type(L, my_type, "register_widget"); }
void init(struct dt_lib_module_t *self) { lua_State *L = darktable.lua_state.state; int my_type = dt_lua_module_entry_get_type(L, "lib", self->plugin_name); lua_pushcfunction(L, direction_member); dt_lua_type_register_type(L, my_type, "direction"); lua_pushcfunction(L, ratio_member); dt_lua_type_register_type(L, my_type, "ratio"); lua_pushcfunction(L, max_snapshot_member); dt_lua_type_register_const_type(L, my_type, "max_snapshot"); lua_pushlightuserdata(L, self); lua_pushcclosure(L, lua_take_snapshot, 1); dt_lua_gtk_wrap(L); lua_pushcclosure(L, dt_lua_type_member_common, 1); dt_lua_type_register_const_type(L, my_type, "take_snapshot"); lua_pushcfunction(L, snapshots_length); lua_pushcfunction(L, number_member); dt_lua_type_register_number_const_type(L, my_type); lua_pushcfunction(L, selected_member); dt_lua_gtk_wrap(L); dt_lua_type_register_const_type(L, my_type, "selected"); dt_lua_init_int_type(L, dt_lua_snapshot_t); lua_pushlightuserdata(L, self); lua_pushcclosure(L, filename_member, 1); dt_lua_type_register_const(L, dt_lua_snapshot_t, "filename"); lua_pushlightuserdata(L, self); lua_pushcclosure(L, name_member, 1); dt_lua_gtk_wrap(L); dt_lua_type_register_const(L, dt_lua_snapshot_t, "name"); lua_pushlightuserdata(L, self); lua_pushcclosure(L, lua_select, 1); dt_lua_gtk_wrap(L); lua_pushcclosure(L, dt_lua_type_member_common, 1); dt_lua_type_register_const(L, dt_lua_snapshot_t, "select"); lua_pushlightuserdata(L, self); lua_pushcclosure(L, name_member, 1); dt_lua_gtk_wrap(L); dt_lua_type_setmetafield(L,dt_lua_snapshot_t,"__tostring"); luaA_enum(L, snapshot_direction_t); luaA_enum_value_name(L, snapshot_direction_t, SNS_LEFT, "left"); luaA_enum_value_name(L, snapshot_direction_t, SNS_RIGHT, "right"); luaA_enum_value_name(L, snapshot_direction_t, SNS_TOP, "top"); luaA_enum_value_name(L, snapshot_direction_t, SNS_BOTTOM, "bottom"); }
void init(struct dt_lib_module_t *self) { lua_State *L = darktable.lua_state.state; int my_type = dt_lua_module_entry_get_type(L, "lib", self->plugin_name); lua_pushlightuserdata(L, self); lua_pushcclosure(L, lua_register_selection ,1); dt_lua_gtk_wrap(L); lua_pushcclosure(L, dt_lua_type_member_common, 1); dt_lua_type_register_const_type(L, my_type, "register_selection"); dt_lua_module_entry_push(L,"lib",self->plugin_name); lua_getuservalue(L,-1); lua_newtable(L); lua_setfield(L,-2,"callbacks"); lua_pop(L,2); }
void init(struct dt_lib_module_t *self) { lua_State *L = darktable.lua_state.state; int my_type = dt_lua_module_entry_get_type(L, "lib", self->plugin_name); lua_pushcfunction(L, grouping_member); lua_pushcclosure(L,dt_lua_gtk_wrap,1); dt_lua_type_register_type(L, my_type, "grouping"); lua_pushcfunction(L, show_overlays_member); lua_pushcclosure(L,dt_lua_gtk_wrap,1); dt_lua_type_register_type(L, my_type, "show_overlays"); lua_pushcfunction(L, dt_lua_event_multiinstance_register); lua_pushcfunction(L, dt_lua_event_multiinstance_trigger); dt_lua_event_add(L, "global_toolbox-grouping_toggle"); lua_pushcfunction(L, dt_lua_event_multiinstance_register); lua_pushcfunction(L, dt_lua_event_multiinstance_trigger); dt_lua_event_add(L, "global_toolbox-overlay_toggle"); }