LuaGnomeGnome库的Lua完整封装
LuaGnome(原名Lua-GTK)是Gnome库的Lua语言完整封装,包括glib 2.x, gdk, gtk 2.x等。
目前大约有7600个函数700个结构体、联合体和约5800个常量(枚举, 宏定义)可以使用。这个库非常小,编译后只有350KB左右(加上一些很小的、额外的Lua文件).
支持Linux、Windows(MinGW)。
示例代码:http://lua-gtk.luaforge.net/en/examples.html
function MainWin.new() local self = {} setmetatable(self, MainWin) self.w = gtk.window_new(gtk.WINDOW_TOPLEVEL) self.w:connect('destroy', gtk.main_quit) self.w:set_default_size(200, 250) self.w:set_title("Icon View Demo") local sw = gtk.scrolled_window_new(nil, nil) sw:set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.w:add(sw) self.icon_view = gtk.icon_view_new() sw:add(self.icon_view) -- create store self.store = gtk.list_store_new(3, glib.TYPE_INT, glib.TYPE_STRING, gdk.pixbuf_get_type()) self.icon_view:set_model(self.store) self.icon_view:set_text_column(1) self.icon_view:set_pixbuf_column(2) -- insert some items. see .../gtk/gtkstock.h local iter = gtk.new "GtkTreeIter" local pix local names = { 'quit', 'open', 'redo', 'refresh', 'stop', 'save', 'save-as', 'select-color', 'yes', 'no', 'zoom-fit' } for i, name in ipairs(names) do self.store:append(iter) pix = self.icon_view:render_icon('gtk-' .. name, gtk.ICON_SIZE_DIALOG, "") self.store:set(iter, 0, i, 1, name, 2, pix, -1) end self.w:show_all() return self end
效果:
评论
ffluaC++ 封装的 Lua 扩展库
在使用C++做服务器开发中,经常会使用到脚本技术,Lua是最优秀的嵌入式脚本之一。Lua的轻量、小巧、概念之简单,都使他变得越来越受欢迎。本人也使用过python做嵌入式脚本,二者各有特点,今天主要讲
ffluaC++ 封装的 Lua 扩展库
0
ffluaC++ 封装的 Lua 扩展库
在使用C++做服务器开发中,经常会使用到脚本技术,Lua是最优秀的嵌入式脚本之一。Lua的轻量、小巧、概念之简单,都使他变得越来越受欢迎。本人也使用过python做嵌入式脚本,二者各有特点,今天主要讲
ffluaC++ 封装的 Lua 扩展库
0
McFlyFlux 的封装库
当我们在编写ReactJS应用的时候,使用Facebook的Flux架构会带来极大的帮助。它真正的补充了ReactJS的单向数据流模型。Facebook的Flux库提供一个Dispatcher和一些如
McFlyFlux 的封装库
0
SharpDXDirectX 的封装库
SharpDX是一个免费而且开源的项目, 是一个托管语言对DirectX的封装库,包括Direct3D9&Ex,Direct3D10,Direct3D10.1,Direct3D11,Direc
SharpDXDirectX 的封装库
0