Compare commits
3 Commits
c945bec0ff
...
bb9672e1b6
Author | SHA1 | Date | |
---|---|---|---|
bb9672e1b6 | |||
70dea4a4db | |||
2abee2049f |
@ -31,8 +31,8 @@ let
|
||||
src = fetchFromGitHub {
|
||||
owner = "lgi-devs";
|
||||
repo = "lgi";
|
||||
rev = "e06ad94c8a1c84e3cdb80cee293450a280dfcbc7";
|
||||
hash = "sha256-VYr/DV1FAyzPe6p6Quc1nmsHup23IAMfz532rL167Q4=";
|
||||
rev = "a412921fad445bcfc05a21148722a92ecb93ad06";
|
||||
hash = "sha256-kZBpH5gcaCNU134Wn6JXAkFELzmiphc1PeCtmN9cagc=";
|
||||
};
|
||||
};
|
||||
rxi-json = callPackage ../rxi-json { lua = lua5_3; };
|
||||
|
@ -155,6 +155,7 @@ label.readout {
|
||||
(* tile-size (- y bounds.min.y))
|
||||
angle)))
|
||||
|
||||
(var map-surface nil)
|
||||
|
||||
(fn cairo-the-map [window]
|
||||
(let [{ : lat : lon : zoom } app-state
|
||||
@ -173,7 +174,8 @@ label.readout {
|
||||
cairo.Content.COLOR
|
||||
(* tile-size num-tiles-x)
|
||||
(* tile-size num-tiles-y))
|
||||
g (cairo.Context.create map-surface)]
|
||||
g (cairo.Context.create map-surface)
|
||||
seen-roads {}]
|
||||
|
||||
(g:set_source_rgb 0.7 0.8 0.8)
|
||||
(g:rectangle 0 0 (* tile-size num-tiles-x) (* tile-size num-tiles-y))
|
||||
@ -187,11 +189,25 @@ label.readout {
|
||||
(cairo-roads-path g lines bounds)
|
||||
|
||||
(g:set_source_rgb 0.2 0.2 0.2)
|
||||
(g:set_font_size (- road-width 3))
|
||||
(g:set_font_size (+ road-width 1))
|
||||
(each [_ line (pairs lines)]
|
||||
(case line.name
|
||||
n (let [(x y angle) (label-coords line bounds)]
|
||||
(when (and x y)
|
||||
n (let [(x y angle) (label-coords line bounds)
|
||||
ext (g:text_extents n)
|
||||
w ext.width
|
||||
h ext.height]
|
||||
(when (and x y (not (. seen-roads n)))
|
||||
(tset seen-roads n true)
|
||||
|
||||
(g:save)
|
||||
(g:set_line_width h)
|
||||
(g:set_source_rgb 1 1 1)
|
||||
(g:move_to (- x 1) (- y 1))
|
||||
(g:rotate angle)
|
||||
(g:rel_line_to (+ w 1) 0)
|
||||
(g:stroke)
|
||||
(g:restore)
|
||||
|
||||
(g:save)
|
||||
(g:move_to x y)
|
||||
(g:rotate angle)
|
||||
|
Loading…
Reference in New Issue
Block a user