X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=labeller.h;h=e0088173446a392a2f6a4661bd17310b3caa423f;hb=e827ddca25fa9660147cac4d4438d7b41b8e342b;hp=c16c43dd11518a40c37b82733c2f08e4d4aa74a9;hpb=6a7eb18eb0f3cb8a6a26edf9cf63e949afbd744e;p=leo.git diff --git a/labeller.h b/labeller.h index c16c43d..e008817 100644 --- a/labeller.h +++ b/labeller.h @@ -27,22 +27,20 @@ enum term_cond TERM_COND_ITERATIONS, }; -struct point_variant +struct variant { int width; int height; + int offset_x; + int offset_y; bool *bitmap; }; -struct line_variant -{ - bool *masks; -}; - struct request { enum request_type type; int ind; + struct variant *variants; }; struct request_point @@ -55,7 +53,6 @@ struct request_point double offset_x; double offset_y; int num_variants; - struct point_variant *variants; }; struct request_segment @@ -66,9 +63,8 @@ struct request_segment double y1; double x2; double y2; - double angle; + double slope; struct symbol *label; - struct point_variant *variant; z_index_t zindex; }; @@ -84,7 +80,6 @@ struct request_line struct request request; struct symbol *line; int num_variants; - struct line_variant *variants; struct request_section *sections; }; @@ -93,7 +88,6 @@ struct request_area struct request request; struct osm_multipolygon *o; struct symbol *label; - struct point_variant *variants; z_index_t zindex; double cx, cy; }; @@ -151,11 +145,30 @@ struct placement double x; double y; int variant_used; + int ind; bool processed; + // FIXME: Replace with clist? + struct placement_link *map_links; + struct individual *individual; +}; + +struct placement_link +{ + struct map_placement *mp; + struct placement_link *next; +}; + +struct map_placement +{ + struct placement *placement; + struct map_placement *next; + struct map_placement *prev; }; struct map_part { + // FIXME: Replace with clist? + struct map_placement *placement; }; struct individual