{-# LANGUAGE OverloadedStrings #-}
module Icons.Textarea where
import Text.Blaze.Svg11 ((!))
import Text.Blaze.Svg11 as S
import Text.Blaze.Svg11.Attributes as A
import Core.Utils
svgTextarea :: [ (String , S.Svg) ]
svgTextarea :: [(String, MarkupM ())]
svgTextarea =
[ (,) String
"bold" MarkupM ()
bold
, (,) String
"italic" MarkupM ()
italic
, (,) String
"link" MarkupM ()
link
, (,) String
"image" MarkupM ()
imageIcon
, (,) String
"video" MarkupM ()
video
, (,) String
"bulletList" MarkupM ()
bulletList
, (,) String
"numberList" MarkupM ()
numberList
, (,) String
"header" MarkupM ()
header
, (,) String
"hr" MarkupM ()
horizontalRule
, (,) String
"undo" MarkupM ()
undo
, (,) String
"redo" MarkupM ()
redo
, (,) String
"help" MarkupM ()
questionMark
, (,) String
"fullscreen" MarkupM ()
fullscreen
, (,) String
"preview" MarkupM ()
preview
]
bold :: S.Svg
bold :: MarkupM ()
bold =
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
dirs
where
k0 :: Double
k0 = Double
0.2
k1 :: Double
k1 = (-Double
0.15)
k2 :: Double
k2 = Double
0.42
k3 :: Double
k3 = Double
2 forall a. Num a => a -> a -> a
* Double
k2
k6 :: Double
k6 = Double
0.2
dirs :: AttributeValue
dirs = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Double
1 forall a. Num a => a -> a -> a
+ Double
k0) (-Double
1 forall a. Num a => a -> a -> a
+ Double
k0)
forall a. Show a => a -> a -> Path
l Double
k1 (-Double
1 forall a. Num a => a -> a -> a
+ Double
k0)
forall a. Show a => a -> a -> Path
l Double
k1 (-Double
1 forall a. Num a => a -> a -> a
+ Double
k0)
forall a. Show a => a -> a -> Path
l Double
k6 (-Double
1 forall a. Num a => a -> a -> a
+ Double
k0)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.25 Double
0.25 Double
0 Bool
True Bool
True Double
k6 Double
0
forall a. Show a => a -> a -> Path
l (Double
k6 forall a. Num a => a -> a -> a
+ Double
0.1) Double
0
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.4 Double
0.35 Double
0 Bool
True Bool
True (Double
k6 forall a. Num a => a -> a -> a
+ Double
0.1) (Double
1 forall a. Num a => a -> a -> a
- Double
k0)
forall a. Show a => a -> a -> Path
l Double
k1 ( Double
1 forall a. Num a => a -> a -> a
- Double
k0)
forall a. Show a => a -> a -> Path
l (-Double
1 forall a. Num a => a -> a -> a
+ Double
k0) ( Double
1 forall a. Num a => a -> a -> a
- Double
k0)
forall a. Show a => a -> a -> Path
l (-Double
1 forall a. Num a => a -> a -> a
+ Double
k0) ( Double
1 forall a. Num a => a -> a -> a
- Double
k2)
forall a. Show a => a -> a -> a -> a -> Path
q (-Double
1 forall a. Num a => a -> a -> a
+ Double
k2) ( Double
1 forall a. Num a => a -> a -> a
- Double
k2) (-Double
1 forall a. Num a => a -> a -> a
+ Double
k2) ( Double
1 forall a. Num a => a -> a -> a
- Double
k3)
forall a. Show a => a -> a -> Path
l (-Double
1 forall a. Num a => a -> a -> a
+ Double
k2) (-Double
1 forall a. Num a => a -> a -> a
+ Double
k3)
forall a. Show a => a -> a -> a -> a -> Path
q (-Double
1 forall a. Num a => a -> a -> a
+ Double
k2) (-Double
1 forall a. Num a => a -> a -> a
+ Double
k2) (-Double
1 forall a. Num a => a -> a -> a
+ Double
k0) (-Double
1 forall a. Num a => a -> a -> a
+ Double
k2)
forall a. Show a => a -> a -> Path
l (-Double
1 forall a. Num a => a -> a -> a
+ Double
k0) (-Double
1 forall a. Num a => a -> a -> a
+ Double
k0)
Path
S.z
forall a. Show a => a -> a -> Path
m Double
k1 (-(Double
1 forall a. Num a => a -> a -> a
- Double
k0)forall a. Fractional a => a -> a -> a
/Double
2 forall a. Num a => a -> a -> a
+ Double
0.15)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.22 Double
0.22 Double
0 Bool
True Bool
False Double
k1 (-(Double
1 forall a. Num a => a -> a -> a
- Double
k0)forall a. Fractional a => a -> a -> a
/Double
2 forall a. Num a => a -> a -> a
- Double
0.15)
Path
S.z
forall a. Show a => a -> a -> Path
m Double
k1 Double
0.55
forall a. Show a => a -> a -> Path
l (Double
k6 forall a. Num a => a -> a -> a
- Double
0.1) Double
0.55
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.20 Double
0.15 Double
0 Bool
True Bool
False (Double
k6 forall a. Num a => a -> a -> a
- Double
0.1) Double
0.2
forall a. Show a => a -> a -> Path
l Double
k1 Double
0.2
Path
S.z
italic :: S.Svg
italic :: MarkupM ()
italic =
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
dirs
where
k1 :: Double
k1 = Double
0.12
k2 :: Double
k2 = Double
1
k3 :: Double
k3 = Double
0.2
k4 :: Double
k4 = Double
0.65
x1 :: Double
x1 = -Double
k3 forall a. Num a => a -> a -> a
- Double
0.5 forall a. Num a => a -> a -> a
* Double
k2
x1' :: Double
x1' = -Double
k3 forall a. Num a => a -> a -> a
- Double
k1
x2' :: Double
x2' = -Double
k3 forall a. Num a => a -> a -> a
+ Double
k1
x2 :: Double
x2 = -Double
k3 forall a. Num a => a -> a -> a
+ Double
0.5 forall a. Num a => a -> a -> a
* Double
k2
x3 :: Double
x3 = Double
k3 forall a. Num a => a -> a -> a
- Double
0.5 forall a. Num a => a -> a -> a
* Double
k2
x3' :: Double
x3' = Double
k3 forall a. Num a => a -> a -> a
- Double
k1
x4' :: Double
x4' = Double
k3 forall a. Num a => a -> a -> a
+ Double
k1
x4 :: Double
x4 = Double
k3 forall a. Num a => a -> a -> a
+ Double
0.5 forall a. Num a => a -> a -> a
* Double
k2
y1 :: Double
y1 = Double
k4 forall a. Num a => a -> a -> a
+ Double
k1
y2 :: Double
y2 = Double
k4 forall a. Num a => a -> a -> a
- Double
k1
y3 :: Double
y3 = -Double
k4 forall a. Num a => a -> a -> a
+ Double
k1
y4 :: Double
y4 = -Double
k4 forall a. Num a => a -> a -> a
- Double
k1
dirs :: AttributeValue
dirs = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m Double
x1 Double
y1
forall a. Show a => a -> a -> Path
l Double
x2 Double
y1
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
k1 Double
k1 Double
0 Bool
True Bool
False Double
x2 Double
y2
forall a. Show a => a -> a -> Path
l Double
x2' Double
y2
forall a. Show a => a -> a -> Path
l Double
x4' Double
y3
forall a. Show a => a -> a -> Path
l Double
x4 Double
y3
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
k1 Double
k1 Double
0 Bool
True Bool
False Double
x4 Double
y4
forall a. Show a => a -> a -> Path
l Double
x3 Double
y4
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
k1 Double
k1 Double
0 Bool
True Bool
False Double
x3 Double
y3
forall a. Show a => a -> a -> Path
l Double
x3' Double
y3
forall a. Show a => a -> a -> Path
l Double
x1' Double
y2
forall a. Show a => a -> a -> Path
l Double
x1 Double
y2
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
k1 Double
k1 Double
0 Bool
True Bool
False Double
x1 Double
y1
Path
S.z
link :: S.Svg
link :: MarkupM ()
link =
MarkupM () -> MarkupM ()
g forall a b. (a -> b) -> a -> b
$ do
MarkupM ()
topPart forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (forall a. Show a => a -> a -> a -> AttributeValue
rotateAround Integer
45 Integer
0 Integer
0)
MarkupM ()
topPart forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (forall a. Show a => a -> a -> a -> AttributeValue
rotateAround Integer
45 Integer
0 Integer
0 forall a. Semigroup a => a -> a -> a
<> forall a. Show a => a -> a -> a -> AttributeValue
rotateAround Integer
180 Integer
0 Integer
0)
where
topPart :: MarkupM ()
topPart = MarkupM ()
S.path forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
topPath
w1 :: Double
w1 = Double
0.4
w2 :: Double
w2 = Double
0.24
h1 :: Double
h1 = Double
1 forall a. Num a => a -> a -> a
- Double
w2
h2 :: Double
h2 = Double
0.4
h3 :: Double
h3 = Double
0.3
h4 :: Double
h4 = Double
h3 forall a. Num a => a -> a -> a
- (Double
w1 forall a. Num a => a -> a -> a
- Double
w2)
topPath :: AttributeValue
topPath = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Double
w1) (-Double
h3)
forall a. Show a => a -> a -> Path
l (-Double
w1) (-Double
h1)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
w1 Double
w1 Double
0 Bool
True Bool
True ( Double
w1) (-Double
h1)
forall a. Show a => a -> a -> Path
l ( Double
w1) (-Double
h4)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
w1 Double
w1 Double
0 Bool
False Bool
True Double
0 ( Double
h3)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa ((Double
h3 forall a. Num a => a -> a -> a
- Double
h4)forall a. Fractional a => a -> a -> a
/Double
2) ((Double
h3 forall a. Num a => a -> a -> a
- Double
h4)forall a. Fractional a => a -> a -> a
/Double
2) Double
0 Bool
False Bool
True Double
0 ( Double
h4)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
w2 Double
w2 Double
0 Bool
False Bool
False ( Double
w2) (-Double
h4)
forall a. Show a => a -> a -> Path
l ( Double
w2) (-Double
h1)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
w2 Double
w2 Double
0 Bool
True Bool
False (-Double
w2) (-Double
h1)
forall a. Show a => a -> a -> Path
l (-Double
w2) (-Double
h2)
Path
S.z
imageIcon :: S.Svg
imageIcon :: MarkupM ()
imageIcon =
MarkupM () -> MarkupM ()
S.g forall a b. (a -> b) -> a -> b
$ do
MarkupM ()
sun
MarkupM ()
mountain
MarkupM ()
imageFrameStroked
MarkupM ()
imageFrameFilled
where
sun :: MarkupM ()
sun =
MarkupM ()
circle
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
cx (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0.5)
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
cy (AttributeValue -> Attribute) -> Float -> Attribute
.: (-Float
0.5))
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
r (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0.24)
x :: Double
x = Double
0.09
imageFrameFilled :: MarkupM ()
imageFrameFilled =
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
framePath1
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
framePath1 :: AttributeValue
framePath1 = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Integer
1) (-Integer
1)
forall a. Show a => a -> a -> Path
l Integer
1 (-Integer
1)
forall a. Show a => a -> a -> Path
l Integer
1 Integer
1
forall a. Show a => a -> a -> Path
l (-Integer
1) Integer
1
Path
S.z
forall a. Show a => a -> a -> Path
m (-Double
1 forall a. Num a => a -> a -> a
+ Double
x) (-Double
1 forall a. Num a => a -> a -> a
+ Double
x)
forall a. Show a => a -> a -> Path
l (-Double
1 forall a. Num a => a -> a -> a
+ Double
x) ( Double
1 forall a. Num a => a -> a -> a
- Double
x)
forall a. Show a => a -> a -> Path
l ( Double
1 forall a. Num a => a -> a -> a
- Double
x) ( Double
1 forall a. Num a => a -> a -> a
- Double
x)
forall a. Show a => a -> a -> Path
l ( Double
1 forall a. Num a => a -> a -> a
- Double
x) (-Double
1 forall a. Num a => a -> a -> a
+ Double
x)
Path
S.z
imageFrameStroked :: MarkupM ()
imageFrameStroked =
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
framePath2
framePath2 :: AttributeValue
framePath2 = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Double
0.94) (-Double
0.94)
forall a. Show a => a -> a -> Path
l Double
0.94 (-Double
0.94)
forall a. Show a => a -> a -> Path
l Double
0.94 Double
0.94
forall a. Show a => a -> a -> Path
l (-Double
0.94) Double
0.94
Path
S.z
mountain :: MarkupM ()
mountain =
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
mountainPath
mountainPath :: AttributeValue
mountainPath = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Double
0.92) Double
0.92
forall a. Show a => a -> a -> Path
l (-Double
0.35) (-Double
0.35)
forall a. Show a => a -> a -> Path
l Double
0 Double
0.55
forall a. Show a => a -> a -> Path
l Double
0.45 Double
0.2
forall a. Show a => a -> a -> Path
l Double
0.92 Double
0.92
Path
S.z
video :: S.Svg
video :: MarkupM ()
video =
MarkupM ()
S.path forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
boxPath
where
h :: Double
h = Double
1.2
w :: Double
w = Double
1.618 forall a. Num a => a -> a -> a
* Double
h
y1 :: Double
y1 = -Double
0.5 forall a. Num a => a -> a -> a
* Double
h
y2 :: Double
y2 = Double
0.5 forall a. Num a => a -> a -> a
* Double
h
x1 :: Double
x1 = -Double
0.5 forall a. Num a => a -> a -> a
* Double
w
x2 :: Double
x2 = Double
0.5 forall a. Num a => a -> a -> a
* Double
w
tx :: Double
tx = Double
0.16
th :: Double
th = Double
3 forall a. Num a => a -> a -> a
* Double
tx
boxPath :: AttributeValue
boxPath = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m Double
x1 Double
0
forall a. Show a => a -> a -> a -> a -> a -> a -> Path
c Double
x1 (Double
y1 forall a. Num a => a -> a -> a
+ Double
0.1 ) Double
x1 (Double
y1 forall a. Num a => a -> a -> a
+ Double
0 ) Double
0 Double
y1
forall a. Show a => a -> a -> a -> a -> a -> a -> Path
c Double
x2 (Double
y1 forall a. Num a => a -> a -> a
+ Double
0.0 ) Double
x2 (Double
y1 forall a. Num a => a -> a -> a
+ Double
0.1) Double
x2 Double
0
forall a. Show a => a -> a -> a -> a -> a -> a -> Path
c Double
x2 (Double
y2 forall a. Num a => a -> a -> a
- Double
0.1 ) Double
x2 (Double
y2 forall a. Num a => a -> a -> a
+ Double
0 ) Double
0 Double
y2
forall a. Show a => a -> a -> a -> a -> a -> a -> Path
c Double
x1 (Double
y2 forall a. Num a => a -> a -> a
+ Double
0.0 ) Double
x1 (Double
y2 forall a. Num a => a -> a -> a
- Double
0.1) Double
x1 Double
0
Path
S.z
forall a. Show a => a -> a -> Path
m (Double
0 forall a. Num a => a -> a -> a
- Double
tx) (Double
0 forall a. Num a => a -> a -> a
- Double
thforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l (Double
0 forall a. Num a => a -> a -> a
- Double
tx) (Double
0 forall a. Num a => a -> a -> a
+ Double
thforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l (Double
2forall a. Num a => a -> a -> a
*Double
thforall a. Fractional a => a -> a -> a
/Double
3) Double
0
Path
S.z
horizontalBars :: S.Svg
horizontalBars :: MarkupM ()
horizontalBars =
MarkupM () -> MarkupM ()
S.g forall a b. (a -> b) -> a -> b
$ do
MarkupM ()
S.path forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
topLine
MarkupM ()
S.path forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
midLine
MarkupM ()
S.path forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
botLine
where
w :: Double
w = Double
0.20
x1 :: Double
x1 = -Double
0.4
x2 :: Double
x2 = Double
0.92
y1 :: Double
y1 = -Double
0.6
y2 :: Double
y2 = Double
0
y3 :: Double
y3 = Double
0.6
topLine :: AttributeValue
topLine = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m Double
x1 (Double
y1 forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
x2 (Double
y1 forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
x2 (Double
y1 forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
x1 (Double
y1 forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
Path
S.z
midLine :: AttributeValue
midLine = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m Double
x1 (Double
y2 forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
x2 (Double
y2 forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
x2 (Double
y2 forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
x1 (Double
y2 forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
Path
S.z
botLine :: AttributeValue
botLine = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m Double
x1 (Double
y3 forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
x2 (Double
y3 forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
x2 (Double
y3 forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
x1 (Double
y3 forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
Path
S.z
bulletList :: S.Svg
bulletList :: MarkupM ()
bulletList =
MarkupM () -> MarkupM ()
S.g forall a b. (a -> b) -> a -> b
$ do
MarkupM ()
horizontalBars
MarkupM ()
bullets
where
radius :: Float
radius = Float
0.12
x1 :: Float
x1 = -Float
0.75
y1 :: Float
y1 = -Float
0.6
y2 :: Float
y2 = Float
0
y3 :: Float
y3 = Float
0.6
bullets :: MarkupM ()
bullets = MarkupM () -> MarkupM ()
S.g forall a b. (a -> b) -> a -> b
$ do
MarkupM ()
circle forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
cx (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
x1) forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
cy (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
y1) forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
r (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
radius)
MarkupM ()
circle forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
cx (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
x1) forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
cy (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
y2) forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
r (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
radius)
MarkupM ()
circle forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
cx (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
x1) forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
cy (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
y3) forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
r (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
radius)
numberList :: Svg
numberList :: MarkupM ()
numberList =
MarkupM () -> MarkupM ()
S.g forall a b. (a -> b) -> a -> b
$ do
MarkupM ()
horizontalBars
MarkupM ()
numbers
where
x1 :: Float
x1 = -Float
0.75
y1 :: Float
y1 = -Float
0.6
y2 :: Float
y2 = Float
0
y3 :: Float
y3 = Float
0.6
number :: MarkupM () -> Float -> MarkupM ()
number MarkupM ()
k Float
h =
MarkupM () -> MarkupM ()
S.text_ MarkupM ()
k
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
dominantBaseline AttributeValue
"central"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
textAnchor AttributeValue
"middle"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
fontFamily AttributeValue
"monospace"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
fontWeight AttributeValue
"bold"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
fontSize AttributeValue
"0.5"
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
x1)
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
h)
numbers :: MarkupM ()
numbers =
MarkupM () -> MarkupM ()
S.g forall a b. (a -> b) -> a -> b
$ do
MarkupM () -> Float -> MarkupM ()
number MarkupM ()
"1" Float
y1
MarkupM () -> Float -> MarkupM ()
number MarkupM ()
"2" Float
y2
MarkupM () -> Float -> MarkupM ()
number MarkupM ()
"3" Float
y3
header :: S.Svg
=
MarkupM () -> MarkupM ()
S.g forall a b. (a -> b) -> a -> b
$ do
MarkupM ()
S.path forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
line1
MarkupM ()
S.path forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
line2
MarkupM ()
S.path forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
line3 forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
opacity AttributeValue
"0.4"
MarkupM ()
S.path forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
line4 forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
opacity AttributeValue
"0.4"
MarkupM ()
S.path forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
line5 forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
opacity AttributeValue
"0.4"
where
l1 :: Double
l1 = -Double
0.9
l2 :: Double
l2 = -Double
0.5
r2 :: Double
r2 = Double
0.5
r1 :: Double
r1 = Double
0.9
h :: Double
h = Double
2forall a. Fractional a => a -> a -> a
/Double
6
w :: Double
w = Double
0.2
line1 :: AttributeValue
line1 = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m Double
l1 (-Double
2forall a. Num a => a -> a -> a
*Double
h forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
r1 (-Double
2forall a. Num a => a -> a -> a
*Double
h forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
r1 (-Double
2forall a. Num a => a -> a -> a
*Double
h forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
l1 (-Double
2forall a. Num a => a -> a -> a
*Double
h forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
Path
S.z
line2 :: AttributeValue
line2 = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m Double
l2 (-Double
1forall a. Num a => a -> a -> a
*Double
h forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
r2 (-Double
1forall a. Num a => a -> a -> a
*Double
h forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
r2 (-Double
1forall a. Num a => a -> a -> a
*Double
h forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
l2 (-Double
1forall a. Num a => a -> a -> a
*Double
h forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
Path
S.z
line3 :: AttributeValue
line3 = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m Double
l1 ( Double
0 forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
r1 ( Double
0 forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
r1 ( Double
0 forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
l1 ( Double
0 forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
Path
S.z
line4 :: AttributeValue
line4 = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m Double
l2 ( Double
1forall a. Num a => a -> a -> a
*Double
h forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
r2 ( Double
1forall a. Num a => a -> a -> a
*Double
h forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
r2 ( Double
1forall a. Num a => a -> a -> a
*Double
h forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
l2 ( Double
1forall a. Num a => a -> a -> a
*Double
h forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
Path
S.z
line5 :: AttributeValue
line5 = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m Double
l1 ( Double
2forall a. Num a => a -> a -> a
*Double
h forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
r1 ( Double
2forall a. Num a => a -> a -> a
*Double
h forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
r1 ( Double
2forall a. Num a => a -> a -> a
*Double
h forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l Double
l1 ( Double
2forall a. Num a => a -> a -> a
*Double
h forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
Path
S.z
horizontalRule :: S.Svg
horizontalRule :: MarkupM ()
horizontalRule =
MarkupM () -> MarkupM ()
S.g forall a b. (a -> b) -> a -> b
$ do
MarkupM ()
S.path forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
line1 forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
opacity AttributeValue
"0.4"
MarkupM ()
S.path forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
line2 forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
opacity AttributeValue
"0.4"
MarkupM ()
line3
MarkupM ()
S.path forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
line4 forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
opacity AttributeValue
"0.4"
MarkupM ()
S.path forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
line5 forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
opacity AttributeValue
"0.4"
where
l1 :: Float
l1 = -Float
0.9
l2 :: Float
l2 = -Float
0.5
r2 :: Float
r2 = Float
0.5
r1 :: Float
r1 = Float
0.9
h :: Float
h = Float
2forall a. Fractional a => a -> a -> a
/Float
6
w :: Float
w = Float
0.2
line1 :: AttributeValue
line1 = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m Float
l1 (-Float
2forall a. Num a => a -> a -> a
*Float
h forall a. Num a => a -> a -> a
- Float
wforall a. Fractional a => a -> a -> a
/Float
2)
forall a. Show a => a -> a -> Path
l Float
r1 (-Float
2forall a. Num a => a -> a -> a
*Float
h forall a. Num a => a -> a -> a
- Float
wforall a. Fractional a => a -> a -> a
/Float
2)
forall a. Show a => a -> a -> Path
l Float
r1 (-Float
2forall a. Num a => a -> a -> a
*Float
h forall a. Num a => a -> a -> a
+ Float
wforall a. Fractional a => a -> a -> a
/Float
2)
forall a. Show a => a -> a -> Path
l Float
l1 (-Float
2forall a. Num a => a -> a -> a
*Float
h forall a. Num a => a -> a -> a
+ Float
wforall a. Fractional a => a -> a -> a
/Float
2)
Path
S.z
line2 :: AttributeValue
line2 = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m Float
l2 (-Float
1forall a. Num a => a -> a -> a
*Float
h forall a. Num a => a -> a -> a
- Float
wforall a. Fractional a => a -> a -> a
/Float
2)
forall a. Show a => a -> a -> Path
l Float
r2 (-Float
1forall a. Num a => a -> a -> a
*Float
h forall a. Num a => a -> a -> a
- Float
wforall a. Fractional a => a -> a -> a
/Float
2)
forall a. Show a => a -> a -> Path
l Float
r2 (-Float
1forall a. Num a => a -> a -> a
*Float
h forall a. Num a => a -> a -> a
+ Float
wforall a. Fractional a => a -> a -> a
/Float
2)
forall a. Show a => a -> a -> Path
l Float
l2 (-Float
1forall a. Num a => a -> a -> a
*Float
h forall a. Num a => a -> a -> a
+ Float
wforall a. Fractional a => a -> a -> a
/Float
2)
Path
S.z
square :: Float -> MarkupM ()
square Float
leftX =
MarkupM ()
S.rect
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
leftX)
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0 forall a. Num a => a -> a -> a
- Float
wforall a. Fractional a => a -> a -> a
/Float
2)
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
width (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
w)
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
w)
line3 :: MarkupM ()
line3 = do
Float -> MarkupM ()
square Float
l1
Float -> MarkupM ()
square Float
l2
Float -> MarkupM ()
square ( Float
0 forall a. Num a => a -> a -> a
- Float
wforall a. Fractional a => a -> a -> a
/Float
2)
Float -> MarkupM ()
square (Float
r2 forall a. Num a => a -> a -> a
- Float
w)
Float -> MarkupM ()
square (Float
r1 forall a. Num a => a -> a -> a
- Float
w)
line4 :: AttributeValue
line4 = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m Float
l2 ( Float
1forall a. Num a => a -> a -> a
*Float
h forall a. Num a => a -> a -> a
- Float
wforall a. Fractional a => a -> a -> a
/Float
2)
forall a. Show a => a -> a -> Path
l Float
r2 ( Float
1forall a. Num a => a -> a -> a
*Float
h forall a. Num a => a -> a -> a
- Float
wforall a. Fractional a => a -> a -> a
/Float
2)
forall a. Show a => a -> a -> Path
l Float
r2 ( Float
1forall a. Num a => a -> a -> a
*Float
h forall a. Num a => a -> a -> a
+ Float
wforall a. Fractional a => a -> a -> a
/Float
2)
forall a. Show a => a -> a -> Path
l Float
l2 ( Float
1forall a. Num a => a -> a -> a
*Float
h forall a. Num a => a -> a -> a
+ Float
wforall a. Fractional a => a -> a -> a
/Float
2)
Path
S.z
line5 :: AttributeValue
line5 = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m Float
l1 ( Float
2forall a. Num a => a -> a -> a
*Float
h forall a. Num a => a -> a -> a
- Float
wforall a. Fractional a => a -> a -> a
/Float
2)
forall a. Show a => a -> a -> Path
l Float
r1 ( Float
2forall a. Num a => a -> a -> a
*Float
h forall a. Num a => a -> a -> a
- Float
wforall a. Fractional a => a -> a -> a
/Float
2)
forall a. Show a => a -> a -> Path
l Float
r1 ( Float
2forall a. Num a => a -> a -> a
*Float
h forall a. Num a => a -> a -> a
+ Float
wforall a. Fractional a => a -> a -> a
/Float
2)
forall a. Show a => a -> a -> Path
l Float
l1 ( Float
2forall a. Num a => a -> a -> a
*Float
h forall a. Num a => a -> a -> a
+ Float
wforall a. Fractional a => a -> a -> a
/Float
2)
Path
S.z
undo :: S.Svg
undo :: MarkupM ()
undo =
MarkupM ()
curvyArrowLeft
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (forall a. Show a => a -> a -> AttributeValue
translate Double
0 Double
0.1)
redo :: S.Svg
redo :: MarkupM ()
redo =
MarkupM ()
curvyArrowLeft
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (forall a. Show a => a -> a -> AttributeValue
translate Double
0 Double
0.1 forall a. Semigroup a => a -> a -> a
<> AttributeValue
horizontalMirrorMatrix)
curvyArrowLeft :: S.Svg
curvyArrowLeft :: MarkupM ()
curvyArrowLeft =
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
dirs
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
strokeLinejoin AttributeValue
"round"
where
r1 :: Double
r1 = Double
0.5
r2 :: Double
r2 = Double
0.66
rm :: Double
rm = (Double
r2 forall a. Num a => a -> a -> a
- Double
r1)
k1 :: Double
k1 = Double
0.24
k2 :: Double
k2 = Double
k1 forall a. Num a => a -> a -> a
+ Double
rmforall a. Fractional a => a -> a -> a
/Double
2
dirs :: AttributeValue
dirs = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Double
r1) Double
0
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa (Double
rmforall a. Fractional a => a -> a -> a
/Double
2) (Double
rmforall a. Fractional a => a -> a -> a
/Double
2) Double
0 Bool
False Bool
False (-Double
r2) Double
0
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r2 Double
r2 Double
0 Bool
True Bool
False Double
0 (-Double
r2)
forall a. Show a => a -> a -> Path
lr Double
k1 (-Double
k1)
forall a. Show a => a -> a -> Path
lr (-Double
rm) Double
0
forall a. Show a => a -> a -> Path
lr (-Double
k2) Double
k2
forall a. Show a => a -> a -> Path
lr Double
k2 Double
k2
forall a. Show a => a -> a -> Path
lr Double
rm Double
0
forall a. Show a => a -> a -> Path
lr (-Double
k1) (-Double
k1)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r1 Double
r1 Double
0 Bool
True Bool
True (-Double
r1) Double
0
Path
S.z
questionMark :: S.Svg
questionMark :: MarkupM ()
questionMark =
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
dirs
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (forall a. Show a => a -> a -> AttributeValue
translate Double
0 (-Double
0.35))
where
r1 :: Double
r1 = Double
0.3
r2 :: Double
r2 = Double
0.5
rm :: Double
rm = Double
r2 forall a. Num a => a -> a -> a
- Double
r1
dirs :: AttributeValue
dirs = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Double
r1) Double
0
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa ( Double
rmforall a. Fractional a => a -> a -> a
/Double
2) (Double
rmforall a. Fractional a => a -> a -> a
/Double
2) Double
0 Bool
True Bool
True (-Double
r2) Double
0
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa ( Double
r2) (Double
r2) Double
0 Bool
True Bool
True ( Double
r2) Double
0
forall a. Show a => a -> a -> a -> a -> a -> a -> Path
c ( Double
r2) (Double
r2 forall a. Num a => a -> a -> a
- Double
0.17) (Double
rmforall a. Fractional a => a -> a -> a
/Double
2) (Double
r2 forall a. Num a => a -> a -> a
- Double
0.2) (Double
rmforall a. Fractional a => a -> a -> a
/Double
2) Double
0.5
forall a. Show a => a -> a -> Path
l ( Double
rmforall a. Fractional a => a -> a -> a
/Double
2) Double
0.75
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa ( Double
rmforall a. Fractional a => a -> a -> a
/Double
2) (Double
rmforall a. Fractional a => a -> a -> a
/Double
2) Double
0 Bool
True Bool
True (-Double
rmforall a. Fractional a => a -> a -> a
/Double
2) Double
0.75
forall a. Show a => a -> a -> Path
l (-Double
rmforall a. Fractional a => a -> a -> a
/Double
2) Double
0.5
forall a. Show a => a -> a -> a -> a -> a -> a -> Path
c (-Double
rmforall a. Fractional a => a -> a -> a
/Double
2) (Double
r1 forall a. Num a => a -> a -> a
- Double
0.15) (Double
r1) (Double
r1 forall a. Num a => a -> a -> a
- Double
0.1) (Double
r1) Double
0
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa ( Double
r1) (Double
r1) Double
0 Bool
True Bool
False (-Double
r1) Double
0
Path
S.z
forall a. Show a => a -> a -> Path
m (-Double
0.01) Double
1
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa ( Double
rmforall a. Fractional a => a -> a -> a
/Double
2) (Double
rmforall a. Fractional a => a -> a -> a
/Double
2) Double
0 Bool
True Bool
False Double
0.01 Double
1
Path
S.z
fullscreen :: S.Svg
fullscreen :: MarkupM ()
fullscreen =
MarkupM () -> MarkupM ()
S.g forall a b. (a -> b) -> a -> b
$ do
MarkupM ()
corner
MarkupM ()
corner forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (forall a. Show a => a -> a -> a -> AttributeValue
rotateAround Integer
90 Integer
0 Integer
0)
MarkupM ()
corner forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (forall a. Show a => a -> a -> a -> AttributeValue
rotateAround Integer
180 Integer
0 Integer
0)
MarkupM ()
corner forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (forall a. Show a => a -> a -> a -> AttributeValue
rotateAround Integer
270 Integer
0 Integer
0)
where
k1 :: Double
k1 = Double
0.9
k2 :: Double
k2 = Double
0.7
k3 :: Double
k3 = Double
0.3
km :: Double
km = Double
k1 forall a. Num a => a -> a -> a
- Double
k2
corner :: MarkupM ()
corner =
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
dirs
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
strokeLinejoin AttributeValue
"round"
dirs :: AttributeValue
dirs = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m Double
k1 Double
k1
forall a. Show a => a -> a -> Path
l Double
k3 Double
k1
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa (Double
kmforall a. Fractional a => a -> a -> a
/Double
2) (Double
kmforall a. Fractional a => a -> a -> a
/Double
2) Double
0 Bool
True Bool
True Double
k3 Double
k2
forall a. Show a => a -> a -> Path
l Double
k2 Double
k2
forall a. Show a => a -> a -> Path
l Double
k2 Double
k3
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa (Double
kmforall a. Fractional a => a -> a -> a
/Double
2) (Double
kmforall a. Fractional a => a -> a -> a
/Double
2) Double
0 Bool
True Bool
True Double
k1 Double
k3
Path
S.z
preview :: S.Svg
preview :: MarkupM ()
preview =
MarkupM () -> MarkupM ()
S.g forall a b. (a -> b) -> a -> b
$ do
MarkupM ()
lines
MarkupM ()
rectangle
where
kx :: Double
kx = Double
0.2
ky :: Double
ky = Double
0.4
w :: Double
w = Double
0.16
lines :: MarkupM ()
lines =
MarkupM () -> MarkupM ()
S.g forall a b. (a -> b) -> a -> b
$ do
Double -> MarkupM ()
line (-Double
2 forall a. Num a => a -> a -> a
* Double
ky)
Double -> MarkupM ()
line (-Double
1 forall a. Num a => a -> a -> a
* Double
ky)
Double -> MarkupM ()
line ( Double
0 forall a. Num a => a -> a -> a
* Double
ky)
Double -> MarkupM ()
line ( Double
1 forall a. Num a => a -> a -> a
* Double
ky)
Double -> MarkupM ()
line ( Double
2 forall a. Num a => a -> a -> a
* Double
ky)
line :: Double -> MarkupM ()
line Double
y =
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
fill AttributeValue
"none"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d (Double -> AttributeValue
lineDirs Double
y)
lineDirs :: Double -> AttributeValue
lineDirs Double
y = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Double
1 forall a. Num a => a -> a -> a
+ Double
kx) (Double
y forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa (Double
wforall a. Fractional a => a -> a -> a
/Double
2) (Double
wforall a. Fractional a => a -> a -> a
/Double
2) Double
0 Bool
True Bool
False (-Double
1 forall a. Num a => a -> a -> a
+ Double
kx) (Double
y forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l ( Double
0 ) (Double
y forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa (Double
wforall a. Fractional a => a -> a -> a
/Double
2) (Double
wforall a. Fractional a => a -> a -> a
/Double
2) Double
0 Bool
True Bool
False ( Double
0 ) (Double
y forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
Path
S.z
rectangle :: MarkupM ()
rectangle =
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
strokeLinejoin AttributeValue
"round"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
transform (forall a. Show a => a -> a -> AttributeValue
translate Double
0.1 Double
0)
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
rectDirs
rectDirs :: AttributeValue
rectDirs = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (Double
0 forall a. Num a => a -> a -> a
+ Double
kx) (-Double
2 forall a. Num a => a -> a -> a
* Double
ky forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l (Double
1 forall a. Num a => a -> a -> a
- Double
kx) (-Double
2 forall a. Num a => a -> a -> a
* Double
ky forall a. Num a => a -> a -> a
- Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l (Double
1 forall a. Num a => a -> a -> a
- Double
kx) ( Double
2 forall a. Num a => a -> a -> a
* Double
ky forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
forall a. Show a => a -> a -> Path
l (Double
0 forall a. Num a => a -> a -> a
+ Double
kx) ( Double
2 forall a. Num a => a -> a -> a
* Double
ky forall a. Num a => a -> a -> a
+ Double
wforall a. Fractional a => a -> a -> a
/Double
2)
Path
S.z