{-# LANGUAGE OverloadedStrings #-}
module Icons.Office where
import Text.Blaze.Svg11 ((!))
import Text.Blaze.Svg11 as S
import Text.Blaze.Svg11.Attributes as A
import Core.Utils
svgOffice :: [ (String , S.Svg) ]
svgOffice :: [(String, MarkupM ())]
svgOffice =
[ (,) String
"envelope" MarkupM ()
envelope
, (,) String
"pencil" MarkupM ()
pencil
, (,) String
"document" MarkupM ()
document
, (,) String
"archive" MarkupM ()
archive
, (,) String
"pin" MarkupM ()
pin
, (,) String
"paperclip" MarkupM ()
paperclip
, (,) String
"clipboard" MarkupM ()
clipboard
, (,) String
"printer" MarkupM ()
printer
, (,) String
"lupe" MarkupM ()
lupe
, (,) String
"briefcase" MarkupM ()
briefcase
]
envelope :: Svg
envelope :: MarkupM ()
envelope =
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
kx :: Double
kx = Double
0.94
ky :: Double
ky = Double
0.618 forall a. Num a => a -> a -> a
* Double
kx
mx :: Double
mx = Double
0
my :: Double
my = Double
0
s :: Double
s = Double
0.03
dirs :: AttributeValue
dirs = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Double
kx) (-Double
ky)
forall a. Show a => a -> a -> Path
l ( Double
mx) ( Double
my)
forall a. Show a => a -> a -> Path
l ( Double
kx) (-Double
ky)
Path
S.z
forall a. Show a => a -> a -> Path
m (-Double
kx) (-Double
ky forall a. Num a => a -> a -> a
+ Double
s)
forall a. Show a => a -> a -> Path
l (-Double
kx) ( Double
ky)
forall a. Show a => a -> a -> Path
l ( Double
kx) ( Double
ky)
forall a. Show a => a -> a -> Path
l ( Double
kx) (-Double
ky forall a. Num a => a -> a -> a
+ Double
s)
forall a. Show a => a -> a -> Path
l ( Double
mx) ( Double
my forall a. Num a => a -> a -> a
+ Double
s)
Path
S.z
pencil :: Svg
pencil :: MarkupM ()
pencil =
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
pencilPath
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
strokeLinejoin AttributeValue
"round"
where
w :: Double
w = Double
0.6
x1 :: Double
x1 = -Double
wforall a. Fractional a => a -> a -> a
/Double
2
x2 :: Double
x2 = Double
wforall a. Fractional a => a -> a -> a
/Double
2
y1 :: Double
y1 = -Double
0.9
y2 :: Double
y2 = -Double
0.76
y3 :: Double
y3 = -Double
0.6
y4 :: Double
y4 = Double
0.4
y5 :: Double
y5 = Double
y6 forall a. Num a => a -> a -> a
- Double
0.15
y6 :: Double
y6 = Double
0.94
pencilPath :: AttributeValue
pencilPath = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m Double
0 Double
y5
forall a. Show a => a -> a -> Path
l Double
0 Double
y6
forall a. Show a => a -> a -> Path
l Double
x1 Double
y4
forall a. Show a => a -> a -> Path
l Double
x2 Double
y4
forall a. Show a => a -> a -> Path
l Double
0 Double
y6
forall a. Show a => a -> a -> Path
m Double
x1 Double
y4
forall a. Show a => a -> a -> Path
l Double
x1 Double
y3
forall a. Show a => a -> a -> Path
l Double
x2 Double
y3
forall a. Show a => a -> a -> Path
l Double
x2 Double
y4
forall a. Show a => a -> a -> Path
m Double
0 Double
y4
forall a. Show a => a -> a -> Path
l Double
0 Double
y3
forall a. Show a => a -> a -> Path
m Double
x1 Double
y3
forall a. Show a => a -> a -> Path
l Double
x1 Double
y2
forall a. Show a => a -> a -> Path
l Double
x2 Double
y2
forall a. Show a => a -> a -> Path
l Double
x2 Double
y3
forall a. Show a => a -> a -> Path
m Double
x1 Double
y2
forall a. Show a => a -> a -> Path
l Double
x1 Double
y1
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa (Double
wforall a. Fractional a => a -> a -> a
/Double
2) Double
0.03 Double
0 Bool
True Bool
True Double
x2 Double
y1
forall a. Show a => a -> a -> Path
l Double
x2 Double
y2
document :: Svg
document :: MarkupM ()
document =
MarkupM () -> MarkupM ()
S.g forall a b. (a -> b) -> a -> b
$ do
MarkupM ()
paperBorder
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
strokeLinecap AttributeValue
"round"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
lines
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
xMark
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
fill AttributeValue
"none"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
strokeLinecap AttributeValue
"round"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
transform (forall a. Show a => a -> a -> AttributeValue
translate (-Double
0.25) Double
0.55 forall a. Semigroup a => a -> a -> a
<> forall a. Show a => a -> a -> a -> AttributeValue
rotateAround Integer
45 Integer
0 Integer
0)
MarkupM ()
pencil
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
transform (forall a. Show a => a -> a -> AttributeValue
translate Double
0.55 Double
0.35 forall a. Semigroup a => a -> a -> a
<> 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 -> AttributeValue
S.scale Double
0.4 Double
0.4)
where
py :: Double
py = Double
0.95
px :: Double
px = Double
0.618 forall a. Num a => a -> a -> a
* Double
py
paperBorder :: MarkupM ()
paperBorder =
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
strokeLinejoin AttributeValue
"round"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
strokeLinecap AttributeValue
"round"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
fill AttributeValue
"none"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
paperPath
paperPath :: AttributeValue
paperPath = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m ( Double
px) (-Double
0.16)
forall a. Show a => a -> a -> Path
l ( Double
px) (-Double
py)
forall a. Show a => a -> a -> Path
l (-Double
px) (-Double
py)
forall a. Show a => a -> a -> Path
l (-Double
px) ( Double
py)
forall a. Show a => a -> a -> Path
l ( Double
px) ( Double
py)
forall a. Show a => a -> a -> Path
l ( Double
px) ( Double
0.7)
xl :: Double
xl = Double
0.4
y1 :: Double
y1 = -Double
0.65
y2 :: Double
y2 = -Double
0.35
y3 :: Double
y3 = -Double
0.05
lines :: AttributeValue
lines = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Double
xl) Double
y1 forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> forall a. Show a => a -> a -> Path
l Double
xl Double
y1
forall a. Show a => a -> a -> Path
m (-Double
xl) Double
y2 forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> forall a. Show a => a -> a -> Path
l Double
xl Double
y2
forall a. Show a => a -> a -> Path
m (-Double
xl) Double
y3 forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> forall a. Show a => a -> a -> Path
l Double
xl Double
y3
m1 :: Double
m1 = Double
0.15
xMark :: AttributeValue
xMark = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Double
m1) Double
0
forall a. Show a => a -> a -> Path
l ( Double
m1) Double
0
forall a. Show a => a -> a -> Path
m Double
0 (-Double
m1)
forall a. Show a => a -> a -> Path
l Double
0 ( Double
m1)
archive :: S.Svg
archive :: MarkupM ()
archive =
MarkupM () -> MarkupM ()
S.g forall a b. (a -> b) -> a -> b
$ do
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeLinejoin AttributeValue
"round"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
archiveBody
Double -> MarkupM ()
archiveHandle (-Double
ky forall a. Num a => a -> a -> a
* Double
2forall a. Fractional a => a -> a -> a
/Double
3)
Double -> MarkupM ()
archiveHandle Double
0
Double -> MarkupM ()
archiveHandle ( Double
ky forall a. Num a => a -> a -> a
* Double
2forall a. Fractional a => a -> a -> a
/Double
3)
where
ky :: Double
ky = Double
0.96
kx :: Double
kx = Double
0.75
archiveBody :: AttributeValue
archiveBody = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Double
kx) (-Double
ky)
forall a. Show a => a -> a -> Path
l (-Double
kx) ( Double
ky)
forall a. Show a => a -> a -> Path
l ( Double
kx) ( Double
ky)
forall a. Show a => a -> a -> Path
l ( Double
kx) (-Double
ky)
Path
S.z
forall a. Show a => a -> a -> Path
m (-Double
kx) (-Double
1forall a. Fractional a => a -> a -> a
/Double
3 forall a. Num a => a -> a -> a
* Double
ky)
forall a. Show a => a -> a -> Path
l ( Double
kx) (-Double
1forall a. Fractional a => a -> a -> a
/Double
3 forall a. Num a => a -> a -> a
* Double
ky)
forall a. Show a => a -> a -> Path
m (-Double
kx) ( Double
1forall a. Fractional a => a -> a -> a
/Double
3 forall a. Num a => a -> a -> a
* Double
ky)
forall a. Show a => a -> a -> Path
l ( Double
kx) ( Double
1forall a. Fractional a => a -> a -> a
/Double
3 forall a. Num a => a -> a -> a
* Double
ky)
archiveHandle :: Double -> MarkupM ()
archiveHandle Double
h =
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
A.strokeLinecap AttributeValue
"round"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (forall a. Show a => a -> a -> AttributeValue
translate Double
0 (Double
hrforall a. Fractional a => a -> a -> a
/Double
2))
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d (Double -> AttributeValue
handleDirs Double
h)
hx :: Double
hx = Double
0.25
hr :: Double
hr = Double
0.07
handleDirs :: Double -> AttributeValue
handleDirs Double
h = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Double
hx) (Double
h forall a. Num a => a -> a -> a
- Double
hr)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
hr Double
hr Double
0 Bool
False Bool
False (-Double
hx forall a. Num a => a -> a -> a
+ Double
hr) (Double
h)
forall a. Show a => a -> a -> Path
l ( Double
hx forall a. Num a => a -> a -> a
- Double
hr) (Double
h)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
hr Double
hr Double
0 Bool
False Bool
False ( Double
hx) (Double
h forall a. Num a => a -> a -> a
- Double
hr)
pin :: Svg
pin :: MarkupM ()
pin =
MarkupM () -> MarkupM ()
S.g forall a b. (a -> b) -> a -> b
$
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeLinejoin AttributeValue
"arcs"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeMiterlimit AttributeValue
"8"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d (Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ Path
topPath forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Path
bodyPath forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> Path
needlePath)
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (forall a. Show a => a -> a -> a -> AttributeValue
S.rotateAround Integer
45 Integer
0 Integer
0)
where
w1 :: Double
w1 = Double
0.26
w2 :: Double
w2 = Double
0.08
y1 :: Double
y1 = -Double
0.95
y2 :: Double
y2 = -Double
0.7
y3 :: Double
y3 = -Double
0.1
y4 :: Double
y4 = Double
0.16
y5 :: Double
y5 = Double
0.6
y6 :: Double
y6 = Double
1.03
r1 :: Double
r1 = (Double
y2 forall a. Num a => a -> a -> a
- Double
y1) forall a. Fractional a => a -> a -> a
/ Double
2
r2 :: Double
r2 = (Double
y4 forall a. Num a => a -> a -> a
- Double
y3)
topPath :: Path
topPath = do
forall a. Show a => a -> a -> Path
m (-Double
w1) Double
y1
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r1 Double
r1 Double
0 Bool
True Bool
False (-Double
w1) Double
y2
forall a. Show a => a -> a -> Path
l ( Double
w1) Double
y2
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r1 Double
r1 Double
0 Bool
True Bool
False ( Double
w1) Double
y1
forall a. Show a => a -> a -> Path
l (-Double
w1) Double
y1
bodyPath :: Path
bodyPath = do
forall a. Show a => a -> a -> Path
m (-Double
w1) Double
y2
forall a. Show a => a -> a -> Path
l (-Double
w1) Double
y3
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r2 Double
r2 Double
0 Bool
False Bool
False (-Double
w1 forall a. Num a => a -> a -> a
- Double
r2) Double
y4
forall a. Show a => a -> a -> Path
l ( Double
w1 forall a. Num a => a -> a -> a
+ Double
r2) Double
y4
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r2 Double
r2 Double
0 Bool
False Bool
False ( Double
w1) Double
y3
forall a. Show a => a -> a -> Path
l ( Double
w1) Double
y2
needlePath :: Path
needlePath = do
forall a. Show a => a -> a -> Path
m (-Double
w2) Double
y4
forall a. Show a => a -> a -> Path
l (-Double
w2) Double
y5
forall a. Show a => a -> a -> Path
l Double
0 Double
y6
forall a. Show a => a -> a -> Path
l ( Double
w2) Double
y5
forall a. Show a => a -> a -> Path
l ( Double
w2) Double
y4
paperclip :: Svg
paperclip :: MarkupM ()
paperclip =
MarkupM () -> MarkupM ()
S.g forall a b. (a -> b) -> a -> b
$
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
clipDirs
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)
where
w :: Double
w = Double
0.07
x1 :: Double
x1 = Double
0.2
x2 :: Double
x2 = Double
0.44
r1 :: Double
r1 = Double
x1
r2 :: Double
r2 = (Double
x1 forall a. Num a => a -> a -> a
+ Double
x2) forall a. Fractional a => a -> a -> a
/ Double
2
r3 :: Double
r3 = Double
x2
y1 :: Double
y1 = Double
0.5
y2 :: Double
y2 = -Double
0.48
y3 :: Double
y3 = Double
0.68
y4 :: Double
y4 = -Double
0.66
clipDirs :: AttributeValue
clipDirs = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Double
x1 forall a. Num a => a -> a -> a
- Double
w) Double
y1
forall a. Show a => a -> a -> Path
l (-Double
x1 forall a. Num a => a -> a -> a
- Double
w) Double
y2
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa ( Double
r1 forall a. Num a => a -> a -> a
+ Double
w) ( Double
r1 forall a. Num a => a -> a -> a
+ Double
w) Double
0 Bool
True Bool
True ( Double
x1 forall a. Num a => a -> a -> a
+ Double
w) Double
y2
forall a. Show a => a -> a -> Path
l ( Double
x1 forall a. Num a => a -> a -> a
+ Double
w) Double
y3
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa ( Double
r2 forall a. Num a => a -> a -> a
+ Double
w) ( Double
r2 forall a. Num a => a -> a -> a
+ Double
w) Double
0 Bool
True Bool
True (-Double
x2 forall a. Num a => a -> a -> a
- Double
w) Double
y3
forall a. Show a => a -> a -> Path
l (-Double
x2 forall a. Num a => a -> a -> a
- Double
w) Double
y4
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa ( Double
r3 forall a. Num a => a -> a -> a
+ Double
w) ( Double
r3 forall a. Num a => a -> a -> a
+ Double
w) Double
0 Bool
True Bool
True ( Double
x2 forall a. Num a => a -> a -> a
+ Double
w) Double
y4
forall a. Show a => a -> a -> Path
l ( Double
x2 forall a. Num a => a -> a -> a
+ Double
w) Double
y1
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa ( Double
w) ( Double
w) Double
0 Bool
True Bool
True ( Double
x2 forall a. Num a => a -> a -> a
- Double
w) Double
y1
forall a. Show a => a -> a -> Path
l ( Double
x2 forall a. Num a => a -> a -> a
- Double
w) Double
y4
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa ( Double
r3 forall a. Num a => a -> a -> a
- Double
w) ( Double
r3 forall a. Num a => a -> a -> a
- Double
w) Double
0 Bool
True Bool
False (-Double
x2 forall a. Num a => a -> a -> a
+ Double
w) Double
y4
forall a. Show a => a -> a -> Path
l (-Double
x2 forall a. Num a => a -> a -> a
+ Double
w) Double
y3
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa ( Double
r2 forall a. Num a => a -> a -> a
- Double
w) ( Double
r2 forall a. Num a => a -> a -> a
- Double
w) Double
0 Bool
True Bool
False ( Double
x1 forall a. Num a => a -> a -> a
- Double
w) Double
y3
forall a. Show a => a -> a -> Path
l ( Double
x1 forall a. Num a => a -> a -> a
- Double
w) Double
y2
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa ( Double
r1 forall a. Num a => a -> a -> a
- Double
w) ( Double
r1 forall a. Num a => a -> a -> a
- Double
w) Double
0 Bool
True Bool
False (-Double
x1 forall a. Num a => a -> a -> a
+ Double
w) Double
y2
forall a. Show a => a -> a -> Path
l (-Double
x1 forall a. Num a => a -> a -> a
+ Double
w) Double
y1
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa ( Double
w) ( Double
w) Double
0 Bool
True Bool
True (-Double
x1 forall a. Num a => a -> a -> a
- Double
w) Double
y1
Path
S.z
clipboard :: Svg
clipboard :: MarkupM ()
clipboard =
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
boardDirs
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
clipDirs
where
dx1 :: Double
dx1 = Double
0.3
dx2 :: Double
dx2 = Double
0.7
y1 :: Double
y1 = -Double
0.9
y2 :: Double
y2 = -Double
0.7
y3 :: Double
y3 = -Double
0.5
y4 :: Double
y4 = Double
0.9
r1 :: Double
r1 = Double
0.2
r2 :: Double
r2 = Double
0.24
boardDirs :: AttributeValue
boardDirs = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Double
dx1 ) (Double
y2 )
forall a. Show a => a -> a -> Path
l (-Double
dx2 forall a. Num a => a -> a -> a
+ Double
r2) (Double
y2 )
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r2 Double
r2 Double
0 Bool
False Bool
False (-Double
dx2 ) (Double
y2 forall a. Num a => a -> a -> a
+ Double
r2)
forall a. Show a => a -> a -> Path
l (-Double
dx2 ) (Double
y4 forall a. Num a => a -> a -> a
- Double
r2)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r2 Double
r2 Double
0 Bool
False Bool
False (-Double
dx2 forall a. Num a => a -> a -> a
+ Double
r2) (Double
y4 )
forall a. Show a => a -> a -> Path
l ( Double
dx2 forall a. Num a => a -> a -> a
- Double
r2) (Double
y4 )
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r2 Double
r2 Double
0 Bool
False Bool
False ( Double
dx2 ) (Double
y4 forall a. Num a => a -> a -> a
- Double
r2)
forall a. Show a => a -> a -> Path
l ( Double
dx2 ) (Double
y2 forall a. Num a => a -> a -> a
+ Double
r2)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r2 Double
r2 Double
0 Bool
False Bool
False ( Double
dx2 forall a. Num a => a -> a -> a
- Double
r2) (Double
y2 )
forall a. Show a => a -> a -> Path
l ( Double
dx1 ) (Double
y2 )
clipDirs :: AttributeValue
clipDirs = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Double
dx1 ) (Double
y2 )
forall a. Show a => a -> a -> Path
l (-Double
dx1 ) (Double
y3 )
forall a. Show a => a -> a -> Path
l ( Double
dx1 ) (Double
y3 )
forall a. Show a => a -> a -> Path
l ( Double
dx1 ) (Double
y1 forall a. Num a => a -> a -> a
+ Double
r1)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r1 Double
r1 Double
0 Bool
False Bool
False ( Double
dx1 forall a. Num a => a -> a -> a
- Double
r1) (Double
y1 )
forall a. Show a => a -> a -> Path
l (-Double
dx1 forall a. Num a => a -> a -> a
+ Double
r1) (Double
y1 )
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r1 Double
r1 Double
0 Bool
False Bool
False (-Double
dx1 ) (Double
y1 forall a. Num a => a -> a -> a
+ Double
r1)
Path
S.z
printer :: Svg
printer :: MarkupM ()
printer =
MarkupM () -> MarkupM ()
S.g forall a b. (a -> b) -> a -> b
$ do
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
topDirs
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
midDirs
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeLinecap AttributeValue
"round"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
botDirs
MarkupM ()
dots
where
x0 :: Double
x0 = Double
0.5
x1 :: Double
x1 = Double
0.9
x2 :: Double
x2 = Double
x0 forall a. Num a => a -> a -> a
- Double
0.1
y0 :: Double
y0 = Double
0.4
y1 :: Double
y1 = Double
0.8
y2 :: Double
y2 = Double
0.2
y3 :: Double
y3 = Double
0.94
ky :: Double
ky = (Double
y3 forall a. Num a => a -> a -> a
- Double
y2)forall a. Fractional a => a -> a -> a
/Double
4
r0 :: Double
r0 = Double
0.1
dx :: Float
dx = Float
0.3
dy :: Float
dy = -Float
0.1
dr :: Float
dr = Float
0.09
topDirs :: AttributeValue
topDirs = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Double
x0) (-Double
y0)
forall a. Show a => a -> a -> Path
l (-Double
x0) (-Double
y1)
forall a. Show a => a -> a -> Path
l ( Double
x0) (-Double
y1)
forall a. Show a => a -> a -> Path
l ( Double
x0) (-Double
y0)
midDirs :: AttributeValue
midDirs = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Double
x0) ( Double
y0)
forall a. Show a => a -> a -> Path
l (-Double
x1 forall a. Num a => a -> a -> a
+ Double
r0) ( Double
y0)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r0 Double
r0 Double
0 Bool
False Bool
True (-Double
x1) ( Double
y0 forall a. Num a => a -> a -> a
- Double
r0)
forall a. Show a => a -> a -> Path
l (-Double
x1) (-Double
y0 forall a. Num a => a -> a -> a
+ Double
r0)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r0 Double
r0 Double
0 Bool
False Bool
True (-Double
x1 forall a. Num a => a -> a -> a
+ Double
r0) (-Double
y0)
forall a. Show a => a -> a -> Path
l ( Double
x1 forall a. Num a => a -> a -> a
- Double
r0) (-Double
y0)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r0 Double
r0 Double
0 Bool
False Bool
True ( Double
x1) (-Double
y0 forall a. Num a => a -> a -> a
+ Double
r0)
forall a. Show a => a -> a -> Path
l ( Double
x1) ( Double
y0 forall a. Num a => a -> a -> a
- Double
r0)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r0 Double
r0 Double
0 Bool
False Bool
True ( Double
x1 forall a. Num a => a -> a -> a
- Double
r0) ( Double
y0)
forall a. Show a => a -> a -> Path
l ( Double
x0) ( Double
y0)
botDirs :: AttributeValue
botDirs = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Double
x0) Double
y2
forall a. Show a => a -> a -> Path
l ( Double
x0) Double
y2
forall a. Show a => a -> a -> Path
l ( Double
x0) Double
y3
forall a. Show a => a -> a -> Path
l (-Double
x0) Double
y3
Path
S.z
forall a. Show a => a -> a -> Path
m (-Double
x2) (Double
y2 forall a. Num a => a -> a -> a
+ Double
ky)
forall a. Show a => a -> a -> Path
l ( Double
x2) (Double
y2 forall a. Num a => a -> a -> a
+ Double
ky)
forall a. Show a => a -> a -> Path
m (-Double
x2) (Double
y2 forall a. Num a => a -> a -> a
+ Double
2forall a. Num a => a -> a -> a
*Double
ky)
forall a. Show a => a -> a -> Path
l ( Double
x2) (Double
y2 forall a. Num a => a -> a -> a
+ Double
2forall a. Num a => a -> a -> a
*Double
ky)
forall a. Show a => a -> a -> Path
m (-Double
x2) (Double
y2 forall a. Num a => a -> a -> a
+ Double
3forall a. Num a => a -> a -> a
*Double
ky)
forall a. Show a => a -> a -> Path
l ( Double
x2) (Double
y2 forall a. Num a => a -> a -> a
+ Double
3forall a. Num a => a -> a -> a
*Double
ky)
dots :: MarkupM ()
dots =
do
MarkupM ()
S.circle
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.cx (AttributeValue -> Attribute) -> Float -> Attribute
.: (-Float
dx))
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.cy (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
dy)
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.r (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
dr)
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"hotpink"
MarkupM ()
S.circle
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.cx (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0 )
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.cy (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
dy)
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.r (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
dr)
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"lime"
MarkupM ()
S.circle
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.cx (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
dx)
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.cy (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
dy)
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.r (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
dr)
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"deepskyblue"
lupe :: S.Svg
lupe :: MarkupM ()
lupe =
MarkupM () -> MarkupM ()
S.g forall a b. (a -> b) -> a -> b
$ do
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.fillRule AttributeValue
"evenodd"
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)
where
w1 :: Double
w1 = Double
0.08
w2 :: Double
w2 = Double
0.12
r1 :: Double
r1 = Double
0.54
r2 :: Double
r2 = Double
r1 forall a. Num a => a -> a -> a
+ Double
2forall a. Num a => a -> a -> a
*Double
w1
x1 :: Double
x1 = Double
0.07
x2 :: Double
x2 = Double
w2
y1 :: Double
y1 = Double
0.3
y2 :: Double
y2 = Double
0.6
y3 :: Double
y3 = Double
1.12
dirs :: AttributeValue
dirs = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m Double
0 (Double
y1 forall a. Num a => a -> a -> a
- Double
w1)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r1 Double
r1 Double
0 Bool
True Bool
False (-Double
0.01) ( Double
y1 forall a. Num a => a -> a -> a
- Double
w1)
Path
S.z
forall a. Show a => a -> a -> Path
m (-Double
x1) (Double
y1 forall a. Num a => a -> a -> a
+ Double
w1)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r2 Double
r2 Double
0 Bool
True Bool
True ( Double
x1) ( Double
y1 forall a. Num a => a -> a -> a
+ Double
w1)
forall a. Show a => a -> a -> a -> a -> Path
q Double
x2 (Double
y2 forall a. Num a => a -> a -> a
- Double
0.18) Double
x2 Double
y2
forall a. Show a => a -> a -> Path
l Double
x2 Double
y3
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
w2 Double
w2 Double
0 Bool
True Bool
True (-Double
x2) ( Double
y3)
forall a. Show a => a -> a -> Path
l (-Double
x2) Double
y2
forall a. Show a => a -> a -> a -> a -> Path
q (-Double
x2) (Double
y2 forall a. Num a => a -> a -> a
- Double
0.18) (-Double
x1) (Double
y1 forall a. Num a => a -> a -> a
+ Double
w1)
Path
S.z
briefcase :: Svg
briefcase :: MarkupM ()
briefcase =
MarkupM () -> MarkupM ()
S.g forall a b. (a -> b) -> a -> b
$ do
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeLinejoin AttributeValue
"round"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
top
MarkupM ()
S.path
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeLinejoin AttributeValue
"round"
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
bot
MarkupM ()
button
where
r1 :: Float
r1 = Float
0.2
r2 :: Float
r2 = Float
0.07
x1 :: Float
x1 = Float
0.94
x2 :: Float
x2 = Float
0.46
x3 :: Float
x3 = Float
0.3
y1 :: Float
y1 = -Float
0.86
y2 :: Float
y2 = -Float
0.7
y3 :: Float
y3 = -Float
0.54
y4 :: Float
y4 = Float
0
y5 :: Float
y5 = Float
0.06
y6 :: Float
y6 = Float
0.8
rx1 :: Float
rx1 = Float
0.12
ry1 :: Float
ry1 = Float
0.18
rx2 :: Float
rx2 = Float
0.07
ry2 :: Float
ry2 = Float
0.135
top :: AttributeValue
top = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m Float
x3 Float
y3
forall a. Show a => a -> a -> Path
l Float
x3 Float
y2
forall a. Show a => a -> a -> Path
l (-Float
x3) Float
y2
forall a. Show a => a -> a -> Path
l (-Float
x3) Float
y3
Path
S.z
forall a. Show a => a -> a -> Path
m (-Float
x1) Float
y4
forall a. Show a => a -> a -> Path
l (-Float
x1) (Float
y3 forall a. Num a => a -> a -> a
+ Float
r1)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
r1 Float
r1 Float
0 Bool
False Bool
True (-Float
x1 forall a. Num a => a -> a -> a
+ Float
r1) Float
y3
forall a. Show a => a -> a -> Path
l (-Float
x2) Float
y3
forall a. Show a => a -> a -> Path
l (-Float
x2) (Float
y1 forall a. Num a => a -> a -> a
+ Float
r2)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
r2 Float
r2 Float
0 Bool
False Bool
True (-Float
x2 forall a. Num a => a -> a -> a
+ Float
r2) Float
y1
forall a. Show a => a -> a -> Path
l ( Float
x2 forall a. Num a => a -> a -> a
- Float
r2) Float
y1
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
r2 Float
r2 Float
0 Bool
False Bool
True ( Float
x2) (Float
y1 forall a. Num a => a -> a -> a
+ Float
r2)
forall a. Show a => a -> a -> Path
l Float
x2 Float
y3
forall a. Show a => a -> a -> Path
l ( Float
x1 forall a. Num a => a -> a -> a
- Float
r1) Float
y3
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
r1 Float
r1 Float
0 Bool
False Bool
True ( Float
x1) (Float
y3 forall a. Num a => a -> a -> a
+ Float
r1)
forall a. Show a => a -> a -> Path
l Float
x1 Float
y4
forall a. Show a => a -> a -> Path
l Float
rx1 Float
y4
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
rx1 Float
ry1 Float
0 Bool
False Bool
False (-Float
rx1) Float
y4
Path
S.z
bot :: AttributeValue
bot = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
forall a. Show a => a -> a -> Path
m (-Float
x1) Float
y5
forall a. Show a => a -> a -> Path
l (-Float
x1) (Float
y6 forall a. Num a => a -> a -> a
- Float
r1)
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
r1 Float
r1 Float
0 Bool
False Bool
False (-Float
x1 forall a. Num a => a -> a -> a
+ Float
r1) Float
y6
forall a. Show a => a -> a -> Path
l ( Float
x1 forall a. Num a => a -> a -> a
- Float
r1) Float
y6
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
r1 Float
r1 Float
0 Bool
False Bool
False Float
x1 (Float
y6 forall a. Num a => a -> a -> a
- Float
r1)
forall a. Show a => a -> a -> Path
l Float
x1 Float
y5
forall a. Show a => a -> a -> Path
l Float
rx1 Float
y5
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
rx1 Float
ry1 Float
0 Bool
False Bool
True (-Float
rx1) Float
y5
Path
S.z
button :: MarkupM ()
button =
MarkupM ()
S.ellipse
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.cx (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.cy (AttributeValue -> Attribute) -> Float -> Attribute
.: (Float
y5 forall a. Num a => a -> a -> a
+ Float
y4)forall a. Fractional a => a -> a -> a
/Float
2)
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.rx (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
rx2)
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.ry (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
ry2)