X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=sym-point.c;h=b738c8662d910a50f40b0653217b0ee3afc6217e;hb=e827ddca25fa9660147cac4d4438d7b41b8e342b;hp=3de12647cfed6854cac40b92ddc87dcea7b84790;hpb=27a0c4be8375ad51adf0a55696f83859625b8d47;p=leo.git diff --git a/sym-point.c b/sym-point.c index 3de1264..b738c86 100644 --- a/sym-point.c +++ b/sym-point.c @@ -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 = {