]> mj.ucw.cz Git - leo.git/blobdiff - labeller.h
Labelling: Kind of backup before clean-up :D
[leo.git] / labeller.h
index cf30b0ee54fbddaa821c344067053d6db3475aaf..d6dfa27d3323d96b98ba41d83b95a772dfbcf708 100644 (file)
@@ -1,12 +1,22 @@
 #ifndef _LEO_LABELLER_H
 #define _LEO_LABELLER_H
 
+enum edge_dir
+{
+  DIR_INVALID,
+  DIR_UNSET,
+  DIR_CENTER,
+  DIR_FWD,
+  DIR_BWD,
+};
+
 enum request_type
 {
   REQUEST_INVALID,
   REQUEST_POINT,
   REQUEST_AREA,
   REQUEST_LINE,
+  REQUEST_SECTION,
   REQUEST_SEGMENT,
 };
 
@@ -19,8 +29,8 @@ enum term_cond
 
 struct point_variant
 {
-  double width;
-  double height;
+  int width;
+  int height;
   bool *bitmap;
 };
 
@@ -51,17 +61,23 @@ struct request_point
 struct request_segment
 {
   struct request request;
+  struct request_line *rl;
   double x1;
   double y1;
   double x2;
   double y2;
-  double k;
-  struct sym_line *sym;
   struct symbol *label;
   struct point_variant *variant;
   z_index_t zindex;
 };
 
+struct request_section
+{
+  struct request request;
+  int num_segments;
+  struct request_segment *segments;
+};
+
 struct request_line
 {
   struct request request;
@@ -70,6 +86,7 @@ struct request_line
   int num_segments;
   struct line_variant *variants;
   struct request_segment *segments;
+  struct request_section *sections;
 };
 
 struct request_area
@@ -108,7 +125,7 @@ struct graph_edge
   osm_id_t id;
   double length;
   color_t color;
-  bool visited;
+  int visited;
   struct graph_edge *prev;
   struct graph_edge *next;
   struct graph_node *n1;
@@ -117,7 +134,7 @@ struct graph_edge
   struct symbol *label;
   struct sym_line *line;
   z_index_t zindex;
-  int dir;
+  enum edge_dir dir;
   struct graph_node *anode;
   struct graph_node *bnode; // DEBUG PRINT
   int num; // DEBUG
@@ -178,8 +195,6 @@ void perform_mutation(struct individual *individual);
 
 void init_placement(struct placement *p, struct request *r);
 void init_individual(struct individual *i);
-void gen_coords_point(struct placement *p);
-void gen_coords(struct placement *p);
 struct map_part **get_parts(struct placement *symbol, struct individual *individual);
 
 int randint(int min, int max);