GObject Introspection
GObjectIntrospection - GNOME Live!
GObject Introspectionはスゴイヤツである。こいつがあれば、GObjectを使っているC言語のライブラリへのバインディングを自動的に生成してくれる。今までだったら、言語ごとで個別にバインディングを作成しないとダメなところを、ひとたびGObject Introspectionに対応させれば、オブジェクト指向のライブラリが好きな言語から簡単に使うことができる。
LuaからClutterを叩いてみる。MoonScriptで書いた。Luaではlua-lgiを使う。
#!/usr/bin/env moon lgi = require 'lgi' Clutter = lgi.require 'Clutter', '1.0' Clutter.init arg colors = black: Clutter.Color 0, 0, 0, 255 green: Clutter.Color 0, 255, 0, 255 stage = with Clutter.Stage.get_default! \set_color colors.black \set_size 800, 600 \set_title 'Lua Clutter' rect = with Clutter.Rectangle {color: colors["green"]} \set_size 100, 100 \set_position 100, 100 stage\add_actor rect rect\show! stage\show_all! Clutter.main!