}
};
-// FIXME: Make generic
-static void draw_scale(struct svg *svg)
-{
- double dist = 1000;
- double width = dist * map_scale;
- double x = page_width - 10 - width;
- double y = 50;
-
- svg_push_element(svg, "g");
- svg_set_attr(svg, "id", "scale");
- svg_set_attr_format(svg, "transform", "translate(%s,%s)", svg_format_dimen(svg, x), svg_format_dimen(svg, y));
-
- for (int outline=1; outline>=0; outline--)
- {
- svg_push_element(svg, "g");
- svg_set_attr(svg, "stroke-linecap", "square");
- if (outline)
- {
- svg_set_attr_dimen(svg, "stroke-width", 1.5);
- svg_set_attr_color(svg, "stroke", 0xffffff);
- }
- else
- {
- svg_set_attr_dimen(svg, "stroke-width", 0.5);
- svg_set_attr_color(svg, "stroke", 0);
- }
-
- svg_push_element(svg, "line");
- svg_set_attr_dimen(svg, "x1", 0);
- svg_set_attr_dimen(svg, "y1", 0);
- svg_set_attr_dimen(svg, "x2", width);
- svg_set_attr_dimen(svg, "y2", 0);
- svg_pop(svg);
-
- for (int i=0; i<=10; i++)
- {
- double tick;
- switch (i)
- {
- case 0:
- case 10:
- tick = 3;
- break;
- case 5:
- tick = 2;
- break;
- default:
- tick = 1;
- }
- svg_push_element(svg, "line");
- svg_set_attr_dimen(svg, "x1", width * i/10);
- svg_set_attr_dimen(svg, "y1", 0);
- svg_set_attr_dimen(svg, "x2", width * i/10);
- svg_set_attr_dimen(svg, "y1", -tick);
- svg_pop(svg);
- }
-
- svg_pop(svg);
- }
-
- scale_text(svg, 0, 5, osm_val_encode("0"));
- scale_text(svg, width, 5, osm_val_encode("1 km"));
- svg_pop(svg);
-}
-
int main(int argc UNUSED, char **argv)
{
cf_def_file = "map.cf";
sym_draw_all(svg);
- draw_scale(svg);
-
if (map_clip)
svg_pop(svg);