{-# LANGUAGE OverloadedStrings #-}
module SvgIcons.Icons.Tools
( svgTools
, cogwheel
, cog6
, cog9
, key
, keyWithArc
, lock
, key1
, bell
, wrench
) where
import Text.Blaze.Svg11 ((!))
import Text.Blaze.Svg11 as S
import Text.Blaze.Svg11.Attributes as A
import SvgIcons.Core.Utils
svgTools :: [ (String , S.Svg) ]
svgTools :: [(String, Svg)]
svgTools =
[ (,) String
"cog6" Svg
cog6
, (,) String
"cog9" Svg
cog9
, (,) String
"key" Svg
key
, (,) String
"keyWithArc" Svg
keyWithArc
, (,) String
"lock" Svg
lock
, (,) String
"key1" Svg
key1
, (,) String
"bell" Svg
bell
, (,) String
"wrench" Svg
wrench
]
lock :: S.Svg
lock :: Svg
lock =
Svg -> Svg
S.g
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__lock"
(Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
arm
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
fillRule AttributeValue
"evenodd"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
body
where
aw :: Double
aw = Double
0.07
ax :: Double
ax = Double
0.4
ay1 :: Double
ay1 = -Double
0.1
ay2 :: Double
ay2 = -Double
0.48
arm :: AttributeValue
arm =
Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m (-Double
ax Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
aw) Double
ay1
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (-Double
ax Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
aw) Double
ay2
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa ( Double
ax Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
aw) (Double
ax Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
aw) Double
0 Bool
True Bool
True ( Double
ax Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
aw) Double
ay2
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l ( Double
ax Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
aw) Double
ay1
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l ( Double
ax Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
aw) Double
ay1
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l ( Double
ax Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
aw) Double
ay2
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa ( Double
ax Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
aw) (Double
ax Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
aw) Double
0 Bool
True Bool
False (-Double
ax Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
aw) Double
ay2
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (-Double
ax Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
aw) Double
ay1
Path
S.z
bx :: Double
bx = Double
0.7
by1 :: Double
by1 = Double
ay1
by2 :: Double
by2 = Double
0.95
kr :: Double
kr = Double
0.14
kw :: Double
kw = Double
0.076
ky1 :: Double
ky1 = Double
0.4
ky2 :: Double
ky2 = Double
0.68
body :: AttributeValue
body = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m (-Double
bx) Double
by1
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (-Double
bx) Double
by2
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l ( Double
bx) Double
by2
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l ( Double
bx) Double
by1
Path
S.z
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m (-Double
kw) Double
ky1
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (-Double
kw) Double
ky2
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
kw Double
kw Double
0 Bool
True Bool
False ( Double
kw) Double
ky2
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l ( Double
kw) Double
ky1
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
kr Double
kr Double
0 Bool
True Bool
False (-Double
kw) Double
ky1
Path
S.z
key :: S.Svg
key :: Svg
key =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__key"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
fillRule AttributeValue
"evenodd"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
keyPath
where
w :: Double
w = Double
0.1
x0 :: Double
x0 = Double
0.3
x1 :: Double
x1 = Double
0
x2 :: Double
x2 = Double
0.5
x3 :: Double
x3 = Double
0.8
y1 :: Double
y1 = Double
0.3
r1 :: Double
r1 = Double
0.25
keyPath :: AttributeValue
keyPath = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m (Double
x1Double -> Double -> Double
forall a. Num a => a -> a -> a
-Double
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
w) (-Double
0.005)
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r1 Double
r1 Double
0 Bool
True Bool
False (Double
x1Double -> Double -> Double
forall a. Num a => a -> a -> a
-Double
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
w) Double
0
Path
S.z
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
x1 (-Double
w)
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa (Double
r1Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
w) (Double
r1Double -> Double -> Double
forall a. Num a => a -> a -> a
+Double
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
w) Double
0 Bool
True Bool
False Double
x1 Double
w
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (Double
x2 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
w) ( Double
w)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (Double
x2 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
w) (Double
y1)
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa ( Double
w) ( Double
w) Double
0 Bool
True Bool
False (Double
x2 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
w) Double
y1
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (Double
x2 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
w) ( Double
w)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (Double
x3 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
w) ( Double
w)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (Double
x3 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
w) (Double
y1)
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa ( Double
w) ( Double
w) Double
0 Bool
True Bool
False (Double
x3 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
w) Double
y1
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (Double
x3 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
w) (-Double
w)
Path
S.z
keyWithArc :: S.Svg
keyWithArc :: Svg
keyWithArc =
Svg -> Svg
S.g
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__keyWithArc"
(Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg
key Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Double -> Double -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate (-Double
0.4) Double
0 AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Double -> Double -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
S.scale Double
0.6 Double
0.6)
Svg
arc Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Double -> Double -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
S.scale Double
0.6 Double
0.6)
where
w :: Double
w = Double
0.1
r1 :: Double
r1 = Double
1.3
r2 :: Double
r2 = Double
r1 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
w
π :: Double
π = Double
forall a. Floating a => a
pi
α :: Double
α = Double
π Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double
4
x1 :: Double
x1 = Double
r1 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
cos Double
α
y1 :: Double
y1 = Double
r1 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sin Double
α
x2 :: Double
x2 = Double
r2 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
cos Double
α
y2 :: Double
y2 = Double
r2 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sin Double
α
arc :: Svg
arc =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
arcPath
arcPath :: AttributeValue
arcPath = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m (-Double
x1) (-Double
y1)
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
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) (-Double
y2)
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r2 Double
r2 Double
0 Bool
True Bool
True (-Double
x2) ( Double
y2)
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
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) ( Double
y1)
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r1 Double
r1 Double
0 Bool
True Bool
False (-Double
x1) (-Double
y1)
Path
S.z
cogwheel :: Int -> Float -> S.Svg
cogwheel :: Int -> Float -> Svg
cogwheel Int
n Float
eps =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__cogwheel"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
cogPath
where
r1 :: Float
r1 = Float
0.4 :: Float
r2 :: Float
r2 = Float
0.66 :: Float
r3 :: Float
r3 = Float
0.94 :: Float
a :: Float
a = (Float
2 Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float
forall a. Floating a => a
pi) Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ (Float
2 Float -> Float -> Float
forall a. Num a => a -> a -> a
* Int -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral Int
n)
makeAngles :: p -> [Float]
makeAngles p
k' =
let k :: Float
k = p -> Float
forall a b. (Integral a, Num b) => a -> b
fromIntegral p
k'
in [ Float
kFloat -> Float -> Float
forall a. Num a => a -> a -> a
*Float
a Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
eps, Float
kFloat -> Float -> Float
forall a. Num a => a -> a -> a
*Float
a Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
eps ]
makePoint :: b -> b -> (b, b)
makePoint b
r b
α = ( b
r b -> b -> b
forall a. Num a => a -> a -> a
* b -> b
forall a. Floating a => a -> a
cos b
α , b
r b -> b -> b
forall a. Num a => a -> a -> a
* b -> b
forall a. Floating a => a -> a
sin b
α)
outer :: [(Float, Float)]
outer = (Float -> (Float, Float)) -> [Float] -> [(Float, Float)]
forall a b. (a -> b) -> [a] -> [b]
map (Float -> Float -> (Float, Float)
forall {b}. Floating b => b -> b -> (b, b)
makePoint Float
r3) ([Float] -> [(Float, Float)]) -> [Float] -> [(Float, Float)]
forall a b. (a -> b) -> a -> b
$ (Int -> [Float]) -> [Int] -> [Float]
forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b]
concatMap Int -> [Float]
forall {p}. Integral p => p -> [Float]
makeAngles ([Int] -> [Float]) -> [Int] -> [Float]
forall a b. (a -> b) -> a -> b
$ (Int -> Bool) -> [Int] -> [Int]
forall a. (a -> Bool) -> [a] -> [a]
filter Int -> Bool
forall a. Integral a => a -> Bool
even [Int
0 .. Int
2Int -> Int -> Int
forall a. Num a => a -> a -> a
*Int
n]
inner :: [(Float, Float)]
inner = (Float -> (Float, Float)) -> [Float] -> [(Float, Float)]
forall a b. (a -> b) -> [a] -> [b]
map (Float -> Float -> (Float, Float)
forall {b}. Floating b => b -> b -> (b, b)
makePoint Float
r2) ([Float] -> [(Float, Float)]) -> [Float] -> [(Float, Float)]
forall a b. (a -> b) -> a -> b
$ (Int -> [Float]) -> [Int] -> [Float]
forall (t :: * -> *) a b. Foldable t => (a -> [b]) -> t a -> [b]
concatMap Int -> [Float]
forall {p}. Integral p => p -> [Float]
makeAngles ([Int] -> [Float]) -> [Int] -> [Float]
forall a b. (a -> b) -> a -> b
$ (Int -> Bool) -> [Int] -> [Int]
forall a. (a -> Bool) -> [a] -> [a]
filter Int -> Bool
forall a. Integral a => a -> Bool
odd [Int
0 .. Int
2Int -> Int -> Int
forall a. Num a => a -> a -> a
*Int
n]
f :: [(a, a)] -> [(Float, Float)] -> Path
f ((a
a1,a
a2):(a
b1,a
b2):[(a, a)]
outs) ((Float
c1,Float
c2):(Float
d1,Float
d2):[(Float, Float)]
ins) = do
a -> a -> Path
forall a. Show a => a -> a -> Path
l a
a1 a
a2
a -> a -> Path
forall a. Show a => a -> a -> Path
l a
b1 a
b2
Float -> Float -> Path
forall a. Show a => a -> a -> Path
l Float
c1 Float
c2
Float -> Float -> Float -> Bool -> Bool -> Float -> Float -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
r2 Float
r2 Float
0 Bool
False Bool
True Float
d1 Float
d2
[(a, a)] -> [(Float, Float)] -> Path
f [(a, a)]
outs [(Float, Float)]
ins
f [(a, a)]
_ [(Float, Float)]
_ = Path
S.z
cogPath :: AttributeValue
cogPath = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
Float -> Float -> Path
forall a. Show a => a -> a -> Path
m ( Float
r1) Float
0
Float -> Float -> Float -> Bool -> Bool -> Float -> Float -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
r1 Float
r1 Float
0 Bool
True Bool
False (-Float
r1) Float
0
Float -> Float -> Float -> Bool -> Bool -> Float -> Float -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
r1 Float
r1 Float
0 Bool
True Bool
False ( Float
r1) Float
0
Float -> Float -> Path
forall a. Show a => a -> a -> Path
m ((Float, Float) -> Float
forall a b. (a, b) -> a
fst ((Float, Float) -> Float) -> (Float, Float) -> Float
forall a b. (a -> b) -> a -> b
$ [(Float, Float)] -> (Float, Float)
forall a. HasCallStack => [a] -> a
head [(Float, Float)]
outer) ((Float, Float) -> Float
forall a b. (a, b) -> b
snd ((Float, Float) -> Float) -> (Float, Float) -> Float
forall a b. (a -> b) -> a -> b
$ [(Float, Float)] -> (Float, Float)
forall a. HasCallStack => [a] -> a
head [(Float, Float)]
outer)
[(Float, Float)] -> [(Float, Float)] -> Path
forall {a}. Show a => [(a, a)] -> [(Float, Float)] -> Path
f [(Float, Float)]
outer [(Float, Float)]
inner
cog6 :: S.Svg
cog6 :: Svg
cog6 = Int -> Float -> Svg
cogwheel Int
6 Float
0.18
cog9 :: S.Svg
cog9 :: Svg
cog9 = Int -> Float -> Svg
cogwheel Int
9 Float
0.12
key1 :: S.Svg
key1 :: Svg
key1 =
Svg -> Svg
S.g
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__key1"
(Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
keyPath
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround Integer
45 Integer
0 Integer
0)
where
x1 :: Double
x1 = -Double
0.1
y1 :: Double
y1 = Double
0.2
r1 :: Double
r1 = Double
0.51
x2 :: Double
x2 = Double
1.05
x3 :: Double
x3 = Double
x2 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
y1
x0 :: Double
x0 = -Double
0.6
r0 :: Double
r0 = Double
0.15
keyPath :: AttributeValue
keyPath = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
x1 Double
y1
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r1 Double
r1 Double
0 Bool
True Bool
True Double
x1 (-Double
y1)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
x2 (-Double
y1)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
x3 Double
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
x2 Double
y1
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr (-Double
0.1) Double
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr (-Double
0.1) (-Double
0.1)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr (-Double
0.1) ( Double
0.1)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr (-Double
0.1) (-Double
0.1)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr (-Double
0.1) ( Double
0.1)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr (-Double
0.1) (-Double
0.1)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr (-Double
0.1) ( Double
0.1)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr (-Double
0.1) (-Double
0.1)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr (-Double
0.15) ( Double
0.15)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr (-Double
0.05) (-Double
0.05)
Path
S.z
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
x0 Double
0
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r0 Double
r0 Double
0 Bool
True Bool
False Double
x0 Double
0.001
Path
S.z
bell :: S.Svg
bell :: Svg
bell =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__bell"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
dirs
where
r1 :: Double
r1 = Double
0.5
x1 :: Double
x1 = Double
r1 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
0.25
y0 :: Double
y0 = -Double
0.3
y1 :: Double
y1 = Double
0.5
y01 :: Double
y01 = (Double
y1 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
y0) Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double
2
x2 :: Double
x2 = Double
0.1
r2 :: Double
r2 = Double
0.17
dirs :: AttributeValue
dirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
x1 Double
y1
Double -> Double -> Double -> Double -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> a -> a -> a -> Path
c Double
x1 Double
y01 Double
r1 Double
y01 Double
r1 Double
y0
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
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
y0
Double -> Double -> Double -> Double -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> a -> a -> a -> Path
c (-Double
r1) Double
y01 (-Double
x1) Double
y01 (-Double
x1) Double
y1
Path
S.z
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m (-Double
x2) Double
y1
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r2 Double
r2 Double
0 Bool
True Bool
False Double
x2 Double
y1
Path
S.z
wrench :: S.Svg
wrench :: Svg
wrench =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__wrench"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
dirs
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeLinejoin AttributeValue
"round"
where
x0 :: Double
x0 = Double
0
x1 :: Double
x1 = Double
0.27
x2 :: Double
x2 = Double
0.2
x3 :: Double
x3 = (Double
x1 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
x2)Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2
y0 :: Double
y0 = -Double
0.35
y1 :: Double
y1 = -Double
0.6
y2 :: Double
y2 = -Double
0.95
y3 :: Double
y3 = Double
0
y4 :: Double
y4 = Double
0.7
r1 :: Double
r1 = Double
0.52
r2 :: Double
r2 = Double
x3
r3 :: Double
r3 = Double
0.1
dirs :: AttributeValue
dirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
x0 Double
y0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (-Double
x1) Double
y1
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (-Double
x1) Double
y2
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r1 Double
r1 Double
0 Bool
False Bool
False (-Double
x2) Double
y3
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (-Double
x3) Double
y4
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r2 Double
r2 Double
0 Bool
True Bool
False Double
x3 Double
y4
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
x2 Double
y3
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r1 Double
r1 Double
0 Bool
False Bool
False Double
x1 Double
y2
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
x1 Double
y1
Path
S.z
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m (Double
x0 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
r3) Double
y4
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
r3 Double
r3 Double
0 Bool
True Bool
True (Double
x0 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
r3) (Double
y4 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
0.0001)
Path
S.z