X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=sym.h;h=53ba3fa3b8fbc266b0f743cba664d8e04e086086;hb=refs%2Fheads%2Flabelling;hp=7c4e97be0702c7c06c684b60cca715b616b7ecf1;hpb=44b0ec8816c3cf1a5858fec0c51e075cedefc3eb;p=leo.git diff --git a/sym.h b/sym.h index 7c4e97b..53ba3fa 100644 --- a/sym.h +++ b/sym.h @@ -4,8 +4,8 @@ * (c) 2014 Martin Mares */ -#ifndef _BRUM_SYM_H -#define _BRUM_SYM_H +#ifndef _LEO_SYM_H +#define _LEO_SYM_H #include "osm.h" #include "style.h" @@ -33,6 +33,8 @@ struct symbolizer { void (*draw)(struct symbol *sym, struct svg *svg); void (*gen)(struct osm_object *o, struct style_info *si, struct svg *svg); void (*init)(void); + struct symbol* (*copy)(struct symbol *sym); + bool (*look_same)(struct symbol *s1, struct symbol *s2); }; extern struct mempool *sym_mp; @@ -58,6 +60,9 @@ void sym_draw_all(struct svg *svg); void sym_from_style(struct osm_object *o, struct style_results *sr, struct svg *svg); z_index_t sym_zindex(struct osm_object *o, struct style_info *si, double default_mzi); +struct symbol * sym_copy(struct symbol *sym); +bool sym_look_same(struct symbol *s1, struct symbol *s2); + /* sym-point.c handles point symbols and icons */ struct sym_point { @@ -71,6 +76,8 @@ struct sym_point { double fill_opacity; bool do_stroke; bool do_fill; + double x; + double y; }; // FIXME: Make sym_*_new() and symbolizer structs internal @@ -132,6 +139,7 @@ struct sym_text { color_t text_color; double x; double y; + double rotate; // Rotation in degrees CCW struct text_font *font; double opacity; color_t halo_color;