void button_class_setup(lua_State *L) { static const struct luaL_reg button_methods[] = { LUA_CLASS_METHODS(button) { "__call", luaA_button_new }, { NULL, NULL } }; static const struct luaL_reg button_meta[] = { LUA_OBJECT_META(button) LUA_CLASS_META { NULL, NULL } }; luaA_class_setup(L, &button_class, "button", NULL, (lua_class_allocator_t) button_new, NULL, NULL, luaA_class_index_miss_property, luaA_class_newindex_miss_property, button_methods, button_meta); luaA_class_add_property(&button_class, "button", (lua_class_propfunc_t) luaA_button_set_button, (lua_class_propfunc_t) luaA_button_get_button, (lua_class_propfunc_t) luaA_button_set_button); luaA_class_add_property(&button_class, "modifiers", (lua_class_propfunc_t) luaA_button_set_modifiers, (lua_class_propfunc_t) luaA_button_get_modifiers, (lua_class_propfunc_t) luaA_button_set_modifiers); signal_add(&button_class.signals, "press"); signal_add(&button_class.signals, "property::button"); signal_add(&button_class.signals, "property::modifiers"); signal_add(&button_class.signals, "release"); }
void key_class_setup(lua_State *L) { static const struct luaL_Reg key_methods[] = { LUA_CLASS_METHODS(key) { "__call", luaA_key_new }, { NULL, NULL } }; static const struct luaL_Reg key_meta[] = { LUA_OBJECT_META(key) LUA_CLASS_META { NULL, NULL }, }; luaA_class_setup(L, &key_class, "key", NULL, (lua_class_allocator_t) key_new, NULL, NULL, luaA_class_index_miss_property, luaA_class_newindex_miss_property, key_methods, key_meta); luaA_class_add_property(&key_class, "key", (lua_class_propfunc_t) luaA_key_set_key, (lua_class_propfunc_t) luaA_key_get_key, (lua_class_propfunc_t) luaA_key_set_key); luaA_class_add_property(&key_class, "keysym", NULL, (lua_class_propfunc_t) luaA_key_get_keysym, NULL); luaA_class_add_property(&key_class, "modifiers", (lua_class_propfunc_t) luaA_key_set_modifiers, (lua_class_propfunc_t) luaA_key_get_modifiers, (lua_class_propfunc_t) luaA_key_set_modifiers); }
void button_class_setup(lua_State *L) { static const struct luaL_Reg button_methods[] = { LUA_CLASS_METHODS(button) { "__call", luaA_button_new }, { NULL, NULL } }; static const struct luaL_Reg button_meta[] = { LUA_OBJECT_META(button) LUA_CLASS_META { NULL, NULL } }; luaA_class_setup(L, &button_class, "button", NULL, (lua_class_allocator_t) button_new, NULL, NULL, luaA_class_index_miss_property, luaA_class_newindex_miss_property, button_methods, button_meta); luaA_class_add_property(&button_class, "button", (lua_class_propfunc_t) luaA_button_set_button, (lua_class_propfunc_t) luaA_button_get_button, (lua_class_propfunc_t) luaA_button_set_button); luaA_class_add_property(&button_class, "modifiers", (lua_class_propfunc_t) luaA_button_set_modifiers, (lua_class_propfunc_t) luaA_button_get_modifiers, (lua_class_propfunc_t) luaA_button_set_modifiers); /** When bound mouse button + modifiers are pressed. * @param ... One or more arguments are possible * @signal .press */ signal_add(&button_class.signals, "press"); /** When property changes. * @signal property::button */ signal_add(&button_class.signals, "property::button"); /** When property changes. * @signal property::modifiers */ signal_add(&button_class.signals, "property::modifiers"); /** When bound mouse button + modifiers are pressed. * @param ... One or more arguments are possible * @signal .release */ signal_add(&button_class.signals, "release"); }
void window_class_setup(lua_State *L) { static const struct luaL_Reg window_methods[] = { { NULL, NULL } }; static const struct luaL_Reg window_meta[] = { { "struts", luaA_window_struts }, { "buttons", luaA_window_buttons }, { NULL, NULL } }; luaA_class_setup(L, &window_class, "window", NULL, NULL, (lua_class_collector_t) window_wipe, NULL, luaA_class_index_miss_property, luaA_class_newindex_miss_property, window_methods, window_meta); luaA_class_add_property(&window_class, "window", NULL, (lua_class_propfunc_t) luaA_window_get_window, NULL); luaA_class_add_property(&window_class, "opacity", (lua_class_propfunc_t) luaA_window_set_opacity, (lua_class_propfunc_t) luaA_window_get_opacity, (lua_class_propfunc_t) luaA_window_set_opacity); luaA_class_add_property(&window_class, "border_color", (lua_class_propfunc_t) luaA_window_set_border_color, (lua_class_propfunc_t) luaA_window_get_border_color, (lua_class_propfunc_t) luaA_window_set_border_color); luaA_class_add_property(&window_class, "border_width", (lua_class_propfunc_t) luaA_window_set_border_width, (lua_class_propfunc_t) luaA_window_get_border_width, (lua_class_propfunc_t) luaA_window_set_border_width); signal_add(&window_class.signals, "property::border_color"); signal_add(&window_class.signals, "property::border_width"); signal_add(&window_class.signals, "property::buttons"); signal_add(&window_class.signals, "property::opacity"); signal_add(&window_class.signals, "property::struts"); signal_add(&window_class.signals, "property::type"); signal_add(&window_class.signals, "button::press"); signal_add(&window_class.signals, "button::release"); signal_add(&window_class.signals, "mouse::move"); }
void drawable_class_setup(lua_State *L) { static const struct luaL_Reg drawable_methods[] = { LUA_CLASS_METHODS(drawable) { NULL, NULL } }; static const struct luaL_Reg drawable_meta[] = { LUA_OBJECT_META(drawable) LUA_CLASS_META { "refresh", luaA_drawable_refresh }, { "geometry", luaA_drawable_geometry }, { NULL, NULL }, }; luaA_class_setup(L, &drawable_class, "drawable", NULL, (lua_class_allocator_t) drawable_new, (lua_class_collector_t) drawable_wipe, NULL, luaA_class_index_miss_property, luaA_class_newindex_miss_property, drawable_methods, drawable_meta); luaA_class_add_property(&drawable_class, "surface", NULL, (lua_class_propfunc_t) luaA_drawable_get_surface, NULL); signal_add(&drawable_class.signals, "button::press"); signal_add(&drawable_class.signals, "button::release"); signal_add(&drawable_class.signals, "mouse::enter"); signal_add(&drawable_class.signals, "mouse::leave"); signal_add(&drawable_class.signals, "mouse::move"); signal_add(&drawable_class.signals, "property::height"); signal_add(&drawable_class.signals, "property::width"); signal_add(&drawable_class.signals, "property::x"); signal_add(&drawable_class.signals, "property::y"); signal_add(&drawable_class.signals, "property::surface"); }
void window_class_setup(lua_State *L) { static const struct luaL_Reg window_methods[] = { { NULL, NULL } }; static const struct luaL_Reg window_meta[] = { { "struts", luaA_window_struts }, { "buttons", luaA_window_buttons }, { "set_xproperty", luaA_window_set_xproperty }, { "get_xproperty", luaA_window_get_xproperty }, { NULL, NULL } }; luaA_class_setup(L, &window_class, "window", NULL, NULL, (lua_class_collector_t) window_wipe, NULL, luaA_class_index_miss_property, luaA_class_newindex_miss_property, window_methods, window_meta); luaA_class_add_property(&window_class, "window", NULL, (lua_class_propfunc_t) luaA_window_get_window, NULL); luaA_class_add_property(&window_class, "opacity", (lua_class_propfunc_t) luaA_window_set_opacity, (lua_class_propfunc_t) luaA_window_get_opacity, (lua_class_propfunc_t) luaA_window_set_opacity); luaA_class_add_property(&window_class, "border_color", (lua_class_propfunc_t) luaA_window_set_border_color, (lua_class_propfunc_t) luaA_window_get_border_color, (lua_class_propfunc_t) luaA_window_set_border_color); luaA_class_add_property(&window_class, "border_width", (lua_class_propfunc_t) luaA_window_set_border_width, (lua_class_propfunc_t) luaA_window_get_border_width, (lua_class_propfunc_t) luaA_window_set_border_width); }
void timer_class_setup(lua_State *L) { static const struct luaL_Reg timer_methods[] = { LUA_CLASS_METHODS(timer) { "__call", luaA_timer_new }, { NULL, NULL } }; static const struct luaL_Reg timer_meta[] = { LUA_OBJECT_META(timer) LUA_CLASS_META { "start", luaA_timer_start }, { "stop", luaA_timer_stop }, { "again", luaA_timer_again }, { NULL, NULL }, }; luaA_class_setup(L, &timer_class, "timer", NULL, (lua_class_allocator_t) timer_new, NULL, NULL, luaA_class_index_miss_property, luaA_class_newindex_miss_property, timer_methods, timer_meta); luaA_class_add_property(&timer_class, "timeout", (lua_class_propfunc_t) luaA_timer_set_timeout, (lua_class_propfunc_t) luaA_timer_get_timeout, (lua_class_propfunc_t) luaA_timer_set_timeout); luaA_class_add_property(&timer_class, "started", NULL, (lua_class_propfunc_t) luaA_timer_get_started, NULL); signal_add(&timer_class.signals, "property::timeout"); signal_add(&timer_class.signals, "timeout"); }