From edd64aa1323740eb4047836bfed88266d622fa79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Janouch?= Date: Sat, 8 Jan 2011 12:09:45 +0100 Subject: Read terminals from Lua scripts and export them. Also add a missing part of LdSymbol API. --- src/ld-lua-symbol.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/ld-lua-symbol.c') diff --git a/src/ld-lua-symbol.c b/src/ld-lua-symbol.c index a481cff..955bd97 100644 --- a/src/ld-lua-symbol.c +++ b/src/ld-lua-symbol.c @@ -37,6 +37,7 @@ static void ld_lua_symbol_finalize (GObject *gobject); static const gchar *ld_lua_symbol_real_get_name (LdSymbol *symbol); static const gchar *ld_lua_symbol_real_get_human_name (LdSymbol *symbol); static void ld_lua_symbol_real_get_area (LdSymbol *symbol, LdRectangle *area); +static const LdPointArray *ld_lua_symbol_real_get_terminals (LdSymbol *symbol); static void ld_lua_symbol_real_draw (LdSymbol *symbol, cairo_t *cr); @@ -53,6 +54,7 @@ ld_lua_symbol_class_init (LdLuaSymbolClass *klass) klass->parent_class.get_name = ld_lua_symbol_real_get_name; klass->parent_class.get_human_name = ld_lua_symbol_real_get_human_name; klass->parent_class.get_area = ld_lua_symbol_real_get_area; + klass->parent_class.get_terminals = ld_lua_symbol_real_get_terminals; klass->parent_class.draw = ld_lua_symbol_real_draw; g_type_class_add_private (klass, sizeof (LdLuaSymbolPrivate)); @@ -83,6 +85,9 @@ ld_lua_symbol_finalize (GObject *gobject) if (self->priv->human_name) g_free (self->priv->human_name); + if (self->priv->terminals) + ld_point_array_free (self->priv->terminals); + /* Chain up to the parent class. */ G_OBJECT_CLASS (ld_lua_symbol_parent_class)->finalize (gobject); } @@ -114,6 +119,17 @@ ld_lua_symbol_real_get_area (LdSymbol *symbol, LdRectangle *area) *area = self->priv->area; } +static const LdPointArray * +ld_lua_symbol_real_get_terminals (LdSymbol *symbol) +{ + LdLuaSymbol *self; + + g_return_val_if_fail (LD_IS_LUA_SYMBOL (symbol), NULL); + + self = LD_LUA_SYMBOL (symbol); + return self->priv->terminals; +} + static void ld_lua_symbol_real_draw (LdSymbol *symbol, cairo_t *cr) { -- cgit v1.2.3