/
ArrowStyle.purs
57 lines (46 loc) · 2.07 KB
/
ArrowStyle.purs
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
module Data.Google.Apps.Slides.ArrowStyle (
ArrowStyle(..),
ArrowStyleForeign,
js2ps,
ps2js
) where
data ArrowStyle =
Unsupported -- An arrow style that is not supported.
| None -- No arrow.
| StealthArrow -- Arrow with notched back. Corresponds to ECMA-376 ST_LineEndType value 'stealth'.
| FillArrow -- Filled arrow. Corresponds to ECMA-376 ST_LineEndType value 'triangle'.
| FillCircle -- Filled circle. Corresponds to ECMA-376 ST_LineEndType value 'oval'.
| FillSquare -- Filled square.
| FillDiamond -- Filled diamond. Corresponds to ECMA-376 ST_LineEndType value 'diamond'.
| OpenArrow -- Hollow arrow.
| OpenCircle -- Hollow circle.
| OpenSquare -- Hollow square.
| OpenDiamond -- Hollow diamond.
foreign import data ArrowStyleForeign :: Type
foreign import unsupportedForeign :: ArrowStyleForeign
foreign import noneForeign :: ArrowStyleForeign
foreign import stealthArrowForeign :: ArrowStyleForeign
foreign import fillArrowForeign :: ArrowStyleForeign
foreign import fillCircleForeign :: ArrowStyleForeign
foreign import fillSquareForeign :: ArrowStyleForeign
foreign import fillDiamondForeign :: ArrowStyleForeign
foreign import openArrowForeign :: ArrowStyleForeign
foreign import openCircleForeign :: ArrowStyleForeign
foreign import openSquareForeign :: ArrowStyleForeign
foreign import openDiamondForeign :: ArrowStyleForeign
foreign import js2psImpl :: (Array ArrowStyle) -> ArrowStyleForeign -> ArrowStyle
js2ps :: ArrowStyleForeign -> ArrowStyle
js2ps = js2psImpl elems
where elems = [Unsupported, None, StealthArrow, FillArrow, FillCircle, FillSquare, FillDiamond, OpenArrow, OpenCircle, OpenSquare, OpenDiamond]
ps2js :: ArrowStyle -> ArrowStyleForeign
ps2js Unsupported = unsupportedForeign
ps2js None = noneForeign
ps2js StealthArrow = stealthArrowForeign
ps2js FillArrow = fillArrowForeign
ps2js FillCircle = fillCircleForeign
ps2js FillSquare = fillSquareForeign
ps2js FillDiamond = fillDiamondForeign
ps2js OpenArrow = openArrowForeign
ps2js OpenCircle = openCircleForeign
ps2js OpenSquare = openSquareForeign
ps2js OpenDiamond = openDiamondForeign