]> mj.ucw.cz Git - leo.git/blobdiff - sym-point.c
Labelling: Hacks and fixes in segment creation
[leo.git] / sym-point.c
index b3cb91119d407ed17086ae71d1c8cb5e3cc9d59d..b738c8662d910a50f40b0653217b0ee3afc6217e 100644 (file)
@@ -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,7 +144,28 @@ 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));
+  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));
 }