]> mj.ucw.cz Git - leo.git/blobdiff - sym-point.c
Labelling: Bugfixes in get_closure
[leo.git] / sym-point.c
index 3de12647cfed6854cac40b92ddc87dcea7b84790..01b9180c7cee938fbce68641f5bc19822d00d70d 100644 (file)
@@ -31,10 +31,9 @@ static void sym_point_draw(struct symbol *sym, struct svg *svg)
     {
     case VALUE_CIRCLE:
       svg_push_element(svg, "circle");
-      svg_set_attr_dimen(svg, "cx", n->x);
-      svg_set_attr_dimen(svg, "cy", n->y);
-      // svg_set_attr_dimen(svg, "r", p->size / 2); // DEBUG HACK
-      svg_set_attr_dimen(svg, "r", 3);
+      svg_set_attr_dimen(svg, "cx", p->x);
+      svg_set_attr_dimen(svg, "cy", p->y);
+      svg_set_attr_dimen(svg, "r", p->size / 2);
       break;
     // FIXME: Other shapes
     default:
@@ -94,7 +93,6 @@ static void sym_point_gen(struct osm_object *o, struct style_info *si, struct sv
       style_get_number(si, PROP_SYMBOL_FILL_OPACITY, &sp->fill_opacity);
     }
 
-  //sym_plan(&sp->s, sym_zindex(o, si, 4));
   labeller_add_point(&sp->s, o, sym_zindex(o, si, 4));
 }
 
@@ -142,8 +140,16 @@ 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:
+    case OSM_TYPE_MULTIPOLYGON:
+      labeller_add_label(&sic->s, o, sym_zindex(o, si, 4));
+      break;
+  }
 }
 
 struct symbolizer symbolizer_icon = {