]> mj.ucw.cz Git - leo.git/blobdiff - sym-point.c
Labelling: Variants may have offset
[leo.git] / sym-point.c
index 3de12647cfed6854cac40b92ddc87dcea7b84790..b738c8662d910a50f40b0653217b0ee3afc6217e 100644 (file)
@@ -31,8 +31,8 @@ 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, "cx", p->x);
+      svg_set_attr_dimen(svg, "cy", p->y);
       // svg_set_attr_dimen(svg, "r", p->size / 2); // DEBUG HACK
       svg_set_attr_dimen(svg, "r", 3);
       break;
@@ -134,6 +134,8 @@ static void sym_icon_gen(struct osm_object *o, struct style_info *si, struct svg
   if (!osm_obj_center(o, &sir->x, &sir->y))
     return;
 
+  printf("Right now, coords are [%.2f; %.2f]\n", sir->x, sir->y);
+
   sir->width = icon->width;
   sir->height = icon->height;
   style_scale(si, &sir->width, &sir->height, PROP_ICON_WIDTH, PROP_ICON_HEIGHT);
@@ -142,8 +144,29 @@ 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));
+  printf("Planning icon to [%.2f; %.2f]\n", sir->x, sir->y);
+  switch (o->type)
+  {
+    case OSM_TYPE_NODE:
+    printf("it's node\n");
+      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))
+      {
+    printf("it's way\n");
+      // CHECK ME
+      printf("[SP] Labelling way %ju with something\n", o->id);
+      labeller_add_linelabel(&sic->s, o, sym_zindex(o, si, 4));
+      break;
+      }
+    case OSM_TYPE_MULTIPOLYGON:
+    printf("it's multipolygon\n");
+      labeller_add_arealabel(&sic->s, o, sym_zindex(o, si, 4));
+      break;
+  }
+  //labeller_add_point(&sic->s, o, sym_zindex(o, si, 4));
+  //sym_plan(&sic->s, sym_zindex(o, si, 4));
 }
 
 struct symbolizer symbolizer_icon = {