]> mj.ucw.cz Git - leo.git/blobdiff - sym.c
Labelling: Bugfixes in get_closure
[leo.git] / sym.c
diff --git a/sym.c b/sym.c
index 00d89416b3e798d4ce3f16405e2d420847771aaa..c9780198d1e017fed75168292cd705c6e406d379 100644 (file)
--- a/sym.c
+++ b/sym.c
@@ -146,3 +146,24 @@ void sym_draw_all(struct svg *svg)
   for (uns i = 0; i < GARY_SIZE(sym_planned); i++)
     sym_draw(sym_planned[i].sym, sym_planned[i].zindex, svg);
 }
+
+struct symbol * sym_copy(struct symbol *sym)
+{
+  ASSERT(sym->type && sym->type < SYMBOLIZER_MAX);
+  if (symbolizers[sym->type]->copy)
+    return symbolizers[sym->type]->copy(sym);
+  else
+    return NULL;
+}
+
+bool sym_look_same(struct symbol *s1, struct symbol *s2)
+{
+  if (s1->type != s2->type)
+    return false;
+
+  ASSERT(s1->type && s1->type < SYMBOLIZER_MAX);
+  if (symbolizers[s1->type]->look_same)
+    return symbolizers[s1->type]->look_same(s1, s2);
+  else
+    return false;
+}