1 #ifndef _LEO_LABELLER_H
2 #define _LEO_LABELLER_H
51 enum request_type type;
53 struct variant *variants;
58 struct request request;
68 struct request_segment
70 struct request request;
71 struct request_line *rl;
81 struct request_section
83 struct request request;
85 struct request_segment *segments;
90 struct request request;
93 struct request_section *sections;
98 struct request request;
99 struct osm_multipolygon *o;
100 struct symbol *label;
107 struct sym_line *line;
111 struct buffer_linelabel
114 struct symbol *label;
122 struct graph_edge **edges;
132 struct graph_edge *prev;
133 struct graph_edge *next;
134 struct graph_node *n1;
135 struct graph_node *n2;
137 struct symbol *label;
138 struct sym_line *line;
141 struct graph_node *anode;
142 struct graph_node *bnode; // DEBUG PRINT
149 struct graph_edge *first;
154 struct request *request;
160 // FIXME: Replace with clist?
161 struct map_placement *map_links;
162 struct individual *individual;
167 struct placement *placement;
168 struct map_part *part;
169 struct map_placement *next_in_map;
170 struct map_placement *prev_in_map;
171 struct map_placement *next_in_placement;
172 struct map_placement *prev_in_placement;
177 // FIXME: Replace with clist?
178 struct map_placement *placement;
184 struct placement *placements;
185 struct map_part **map;
189 void labeller_init(void);
190 void labeller_cleanup(void);
192 void labeller_add_point(struct symbol *sym, struct osm_object *object, z_index_t zindex);
193 void labeller_add_line(struct symbol *sym, z_index_t zindex);
194 void labeller_label(void);
195 void labeller_add_linelabel(struct symbol *sym, struct osm_object *o, z_index_t zindex);
196 void labeller_add_arealabel(struct symbol *sym, struct osm_object *o, z_index_t zindex);