X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=sym-text.c;h=6622fd61fbd2b56b9c769b6be16484a7d2f10a07;hb=21017820e79722500c429cabda7f7c3a74259cd1;hp=ffcfc421d78a516ddd446644ac0a86a312368d41;hpb=3d14be2fa32fe908dfef0f6ac3b76067c080a43a;p=leo.git diff --git a/sym-text.c b/sym-text.c index ffcfc42..6622fd6 100644 --- a/sym-text.c +++ b/sym-text.c @@ -18,6 +18,8 @@ #include "sym.h" #include "map.h" +#include "labeller.h" + /*** Fonts ***/ struct text_font { @@ -226,6 +228,7 @@ static void prepare_text_element(struct sym_text *t, struct svg *svg) static void sym_text_draw(struct symbol *sym, struct svg *svg) { struct sym_text *t = (struct sym_text *) sym; +printf("Drawing %s at [%.2f; %.2f]\n", osm_val_decode(t->text), t->x, t->y); if (t->next_duplicate) { @@ -447,7 +450,7 @@ static void sym_text_node(struct osm_object *o, struct style_info *si, osm_val_t return; } - sym_plan(&st->s, sym_zindex(o, si, 5)); + //sym_plan(&st->s, sym_zindex(o, si, 5)); } static void sym_text_center(struct osm_object *o, struct style_info *si, osm_val_t text, double x, double y) @@ -462,7 +465,18 @@ static void sym_text_center(struct osm_object *o, struct style_info *si, osm_val st->x -= st->tw / 2; st->y += st->th - (st->th + st->td) / 2; text_fix_placement(st); - sym_plan(&st->s, sym_zindex(o, si, 4.9)); + if (o->type == OSM_TYPE_WAY && !osm_way_cyclic_p((struct osm_way *) o)) + { + //sym_plan(&st->s, sym_zindex(o, si, 4.9)); + printf("[Sym] Labelling way %ju with %s\n", o->id, osm_val_decode(st->text)); + labeller_add_linelabel(&st->s, o, sym_zindex(o, si, 4.9)); + } + else + { + //sym_plan(&st->s, sym_zindex(o, si, 4.9)); + printf("[Sym] Labelling area %ju with %s\n", o->id, osm_val_decode(st->text)); + labeller_add_arealabel(&st->s, o, sym_zindex(o, si, 4.9)); + } } static void sym_text_way(struct osm_object *o, struct style_info *si, osm_val_t text)