]> mj.ucw.cz Git - leo.git/blobdiff - sym-point.c
Labelling: Small fixes in rand*
[leo.git] / sym-point.c
index b3cb91119d407ed17086ae71d1c8cb5e3cc9d59d..9c159bfe6e7af406f46699ecbe9d196b0d66a910 100644 (file)
@@ -142,8 +142,21 @@ static void sym_icon_gen(struct osm_object *o, struct style_info *si, struct svg
   // sir->opacity = 1;
   // style_get_number(si, PROP_ICON_OPACITY, &sir->opacity);
 
-  labeller_add_point(&sic->s, o, sym_zindex(o, si, 4));
-  //sym_plan(&sic->s, sym_zindex(o, si, 4));
+  switch (o->type)
+  {
+    case OSM_TYPE_NODE:
+      labeller_add_point(&sic->s, o, sym_zindex(o, si, 4));
+      break;
+    case OSM_TYPE_WAY:
+      if (!osm_way_cyclic_p((struct osm_way *) o))
+      {
+      labeller_add_linelabel(&sic->s, o, sym_zindex(o, si, 4));
+      break;
+      }
+    case OSM_TYPE_MULTIPOLYGON:
+      labeller_add_arealabel(&sic->s, o, sym_zindex(o, si, 4));
+      break;
+  }
 }
 
 struct symbolizer symbolizer_icon = {