blob: 10dd93785d2c1f63dc8a0ace6f8fd948714edf7f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
open StdLabels
open Brr
module State = Script_state.State
type t = unit
let process () state =
let my_host = Uri.host @@ Window.location @@ G.window in
if (Hashtbl.hash my_host) = Blog.Hash_host.expected_host then (
(* Convert the path into an sVG element *)
let svg = Layer.Svg.svg
~at:Brr.At.[
v (Jstr.v "xmlns") (Jstr.v "http://www.w3.org/2000/svg")
; v (Jstr.v "xmlns:xlink") (Jstr.v "http://www.w3.org/1999/xlink") ]
(List.map state.State.paths
~f:(fun path ->
Layer.Paths.to_svg
~color:Blog.Nord.nord0
(module Path.Fixed)
Outline.(path.path, path.back)
state.State.rendering
)) in
let content = El.prop Elements.Prop.outerHTML svg in
Elements.Transfert.send
~mime_type:(Jstr.v "image/svg+xml")
~filename:(Jstr.v "out.svg")
content);
state
|