{-# LANGUAGE OverloadedStrings #-}
module SvgIcons.Images.Mosaics
( mosaicSample
, nazariMosaic
, triReligiousMosaic
, hexagonsMosaic
, beehiveMosaic
, lemonsMosaic
, arabicMosaic
, cloudsMosaic
, hexMosaic
, arrowsMosaic
, wiresMosaic
, curvesMosaic
, airplaneMosaic
, octagonsMosaic
, pentagonsMosaic
) where
import Data.List (intersperse)
import Text.Blaze.Svg11 ((!))
import Text.Blaze.Svg11 as S
import Text.Blaze.Svg11.Attributes as A
import SvgIcons.Core.Geometry
import SvgIcons.Core.Utils
mosaicSample :: [ (String , S.Svg) ]
mosaicSample :: [([Char], Svg)]
mosaicSample =
[ (,) [Char]
"nazariMosaic" ([Char] -> [Char] -> Svg
nazariMosaic [Char]
"orange" [Char]
"purple")
, (,) [Char]
"triReligiousMosaic" ([Char] -> [Char] -> [Char] -> Svg
triReligiousMosaic [Char]
"blue" [Char]
"orange" [Char]
"green")
, (,) [Char]
"hexagonsMosaic" ([Char] -> [Char] -> Svg
hexagonsMosaic [Char]
"navy" [Char]
"none")
, (,) [Char]
"beehiveMosaic" Svg
beehiveMosaic
, (,) [Char]
"lemonsMosaic" ([Char] -> Svg
lemonsMosaic [Char]
"gold")
, (,) [Char]
"arabicMosaic" ([Char] -> [Char] -> Svg
arabicMosaic [Char]
"blue" [Char]
"brown")
, (,) [Char]
"cloudsMosaic" ([Char] -> [Char] -> Svg
cloudsMosaic [Char]
"silver" [Char]
"white")
, (,) [Char]
"hexMosaic" ([Char] -> Svg
hexMosaic [Char]
"limegreen")
, (,) [Char]
"arrowsMosaic" ([Char] -> Svg
arrowsMosaic [Char]
"orange")
, (,) [Char]
"wiresMosaic" ([Char] -> Svg
wiresMosaic [Char]
"gray")
, (,) [Char]
"curvesMosaic" Svg
curvesMosaic
, (,) [Char]
"airplaneMosaic" ([Char] -> Svg
airplaneMosaic [Char]
"deepskyblue")
, (,) [Char]
"octagonsMosaic" ([Char] -> [Char] -> Svg
octagonsMosaic [Char]
"lightgray" [Char]
"chocolate")
, (,) [Char]
"pentagonsMosaic" ([Char] -> [Char] -> Svg
pentagonsMosaic [Char]
"deeppink" [Char]
"black")
]
nazariMosaic :: String -> String -> Svg
nazariMosaic :: [Char] -> [Char] -> Svg
nazariMosaic [Char]
colorUpper [Char]
colorLower =
Svg -> Svg
svg
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__nazariMosaic"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
vb)
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width AttributeValue
"300px"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue ([Char] -> AttributeValue) -> [Char] -> AttributeValue
forall a b. (a -> b) -> a -> b
$ (Double -> [Char]
forall a. Show a => a -> [Char]
show (Double -> [Char]) -> Double -> [Char]
forall a b. (a -> b) -> a -> b
$ Double
300Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h) [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ [Char]
"px")
(Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg -> Svg
defs (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg
upperBirdie Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.id_ AttributeValue
"HaskellSvgIcons-upperBirdie"
Svg
lowerBirdie Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.id_ AttributeValue
"HaskellSvgIcons-lowerBirdie"
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
id1
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
id1 Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate Integer
2 Integer
0 )
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
id1 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
1) Double
h )
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
id1 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
1 Double
h )
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
id1 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
1) (-Double
h))
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
id2
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
id2 Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate (-Integer
2) Integer
0 )
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
id2 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
1) (-Double
h))
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
id2 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
1 (-Double
h))
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
id2 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
1 Double
h )
where
vb :: [Char]
vb = [Char]
"-1 " [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ Double -> [Char]
forall a. Show a => a -> [Char]
show (-Double
h) [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ [Char]
" 2 " [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ Double -> [Char]
forall a. Show a => a -> [Char]
show (Double
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h)
id1 :: AttributeValue
id1 = AttributeValue
"#HaskellSvgIcons-upperBirdie"
id2 :: AttributeValue
id2 = AttributeValue
"#HaskellSvgIcons-lowerBirdie"
h :: Double
h = Double -> Double
forall a. Floating a => a -> a
sqrt Double
3
apt :: Double
apt = Double
h Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double
3
ax :: Double
ax = Double
0
ay :: Double
ay = -Double
h
bx :: Double
bx = Double
1
by :: Double
by = Double
0
cx :: Double
cx = -Double
1
cy :: Double
cy = Double
0
dx :: Double
dx = Double
0
dy :: Double
dy = Double
h
mid :: a -> a -> a
mid a
x a
y = (a
x a -> a -> a
forall a. Num a => a -> a -> a
+ a
y) a -> a -> a
forall a. Fractional a => a -> a -> a
/ a
2
upperBirdie :: Svg
upperBirdie =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
colorUpper)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
upperDirs
lowerBirdie :: Svg
lowerBirdie =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
colorLower)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
lowerDirs
upperDirs :: AttributeValue
upperDirs =
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
ay
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
apt Double
apt Double
0 Bool
False Bool
True (Double -> Double -> Double
forall a. Fractional a => a -> a -> a
mid Double
ax Double
bx) (Double -> Double -> Double
forall a. Fractional a => a -> a -> a
mid Double
ay Double
by)
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
apt Double
apt Double
0 Bool
False Bool
False Double
bx Double
by
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
apt Double
apt Double
0 Bool
False Bool
True (Double -> Double -> Double
forall a. Fractional a => a -> a -> a
mid Double
bx Double
cx) (Double -> Double -> Double
forall a. Fractional a => a -> a -> a
mid Double
by Double
cy)
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
apt Double
apt Double
0 Bool
False Bool
False Double
cx Double
cy
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
apt Double
apt Double
0 Bool
False Bool
True (Double -> Double -> Double
forall a. Fractional a => a -> a -> a
mid Double
ax Double
cx) (Double -> Double -> Double
forall a. Fractional a => a -> a -> a
mid Double
ay Double
cy)
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
apt Double
apt Double
0 Bool
False Bool
False Double
ax Double
ay
Path
S.z
lowerDirs :: AttributeValue
lowerDirs =
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
by
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
apt Double
apt Double
0 Bool
False Bool
True (Double -> Double -> Double
forall a. Fractional a => a -> a -> a
mid Double
bx Double
dx) (Double -> Double -> Double
forall a. Fractional a => a -> a -> a
mid Double
by Double
dy)
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
apt Double
apt Double
0 Bool
False Bool
False Double
dx Double
dy
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
apt Double
apt Double
0 Bool
False Bool
True (Double -> Double -> Double
forall a. Fractional a => a -> a -> a
mid Double
cx Double
dx) (Double -> Double -> Double
forall a. Fractional a => a -> a -> a
mid Double
cy Double
dy)
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
apt Double
apt Double
0 Bool
False Bool
False Double
cx Double
cy
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
apt Double
apt Double
0 Bool
False Bool
True (Double -> Double -> Double
forall a. Fractional a => a -> a -> a
mid Double
bx Double
cx) (Double -> Double -> Double
forall a. Fractional a => a -> a -> a
mid Double
by Double
cy)
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
apt Double
apt Double
0 Bool
False Bool
False Double
bx Double
by
Path
S.z
triReligiousMosaic :: String -> String -> String -> Svg
triReligiousMosaic :: [Char] -> [Char] -> [Char] -> Svg
triReligiousMosaic [Char]
fill1 [Char]
fill2 [Char]
fill3 =
Svg -> Svg
S.svg
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__triReligiousMosaic"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue ([Char] -> AttributeValue) -> [Char] -> AttributeValue
forall a b. (a -> b) -> a -> b
$ [Char]
"0 0 1 " [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ Float -> [Char]
forall a. Show a => a -> [Char]
show (Float
2Float -> Float -> Float
forall a. Num a => a -> a -> a
*Float
h))
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width AttributeValue
"300px"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue ([Char] -> AttributeValue) -> [Char] -> AttributeValue
forall a b. (a -> b) -> a -> b
$ (Double -> [Char]
forall a. Show a => a -> [Char]
show (Double -> [Char]) -> Double -> [Char]
forall a b. (a -> b) -> a -> b
$ Double
300 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sqrt Double
3) [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ [Char]
"px")
(Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg -> Svg
defs (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.strokeWidth AttributeValue
"0"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"white"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
upperBird
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.id_ AttributeValue
"HaskellSvgIcons-triReligiousUpperBird"
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
fill1)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
lowerBird
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.id_ AttributeValue
"HaskellSvgIcons-triReligiousLowerBird"
Int -> Float -> (Float, Float) -> Svg
starPolygonFirstSpecies Int
6 Float
0.17 (Float
0.5 , Float
h Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
apt)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.id_ AttributeValue
"HaskellSvgIcons-triReligiousStar"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Float -> Float -> Float -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround Float
30 Float
0.5 (Float
h Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
apt))
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
hexagonDirs
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.id_ AttributeValue
"HaskellSvgIcons-triReligiousHexagon"
Svg
topBird
Svg
topBird Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate Integer
1 Integer
0 )
Svg
topBird Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Float -> Float -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate (-Float
0.5) Float
h )
Svg
topBird Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Float -> Float -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate Float
0.5 Float
h )
Svg
topBird Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Float -> Float -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate (-Float
0.5) (-Float
h))
Svg
botBird
Svg
botBird Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate (-Integer
1) Integer
0 )
Svg
botBird Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Float -> Float -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate (-Float
0.5) (-Float
h))
Svg
botBird Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Float -> Float -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate Float
0.5 (-Float
h))
Svg
botBird Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Float -> Float -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate Float
0.5 Float
h )
Svg
hexagon Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"white"
Svg
hexagon Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"white" Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Float -> Float -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate (-Float
0.5) (-Float
h))
Svg
hexagon Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"white" Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Float -> Float -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate Float
0.5 (-Float
h))
Svg
star Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
fill2)
Svg
star Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
fill3) Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Float -> Float -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate (-Float
0.5) Float
h )
Svg
star Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
fill3) Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Float -> Float -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate Float
0.5 Float
h )
where
topBird :: Svg
topBird =
Svg
S.use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.xlinkHref AttributeValue
"#HaskellSvgIcons-triReligiousUpperBird"
botBird :: Svg
botBird =
Svg
S.use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.xlinkHref AttributeValue
"#HaskellSvgIcons-triReligiousLowerBird"
hexagon :: Svg
hexagon =
Svg
S.use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.xlinkHref AttributeValue
"#HaskellSvgIcons-triReligiousHexagon"
star :: Svg
star =
Svg
S.use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.xlinkHref AttributeValue
"#HaskellSvgIcons-triReligiousStar"
h :: Float
h = (Float -> Float
forall a. Floating a => a -> a
sqrt Float
3) Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float
2
apt :: Float
apt = Float
h Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/ Float
3
(Float
ax,Float
ay) = (Float
0.5 , Float
0 )
(Float
bx,Float
by) = (Float
1 , Float
h )
(Float
cx,Float
cy) = (Float
0 , Float
h )
(Float
dx,Float
dy) = (Float
0.5 , Float
2Float -> Float -> Float
forall a. Num a => a -> a -> a
*Float
h)
mid :: a -> a -> a
mid a
x a
y = (a
x a -> a -> a
forall a. Num a => a -> a -> a
+ a
y) a -> a -> a
forall a. Fractional a => a -> a -> a
/ a
2
cos60 :: Float
cos60 = Float
0.5
sin60 :: Float
sin60 = Float
0.5 Float -> Float -> Float
forall a. Num a => a -> a -> a
* Float -> Float
forall a. Floating a => a -> a
sqrt Float
3
hexR :: Float
hexR = Float
0.24
(Float
h1x,Float
h1y) = (Float
0.5 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
hexR , Float
apt Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
h )
(Float
h2x,Float
h2y) = (Float
0.5 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
hexRFloat -> Float -> Float
forall a. Num a => a -> a -> a
*Float
cos60 , Float
apt Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
h Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
hexRFloat -> Float -> Float
forall a. Num a => a -> a -> a
*Float
sin60)
(Float
h3x,Float
h3y) = (Float
0.5 Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
hexRFloat -> Float -> Float
forall a. Num a => a -> a -> a
*Float
cos60 , Float
apt Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
h Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
hexRFloat -> Float -> Float
forall a. Num a => a -> a -> a
*Float
sin60)
(Float
h4x,Float
h4y) = (Float
0.5 Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
hexR , Float
apt Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
h )
(Float
h5x,Float
h5y) = (Float
0.5 Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
hexRFloat -> Float -> Float
forall a. Num a => a -> a -> a
*Float
cos60 , Float
apt Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
h Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
hexRFloat -> Float -> Float
forall a. Num a => a -> a -> a
*Float
sin60)
(Float
h6x,Float
h6y) = (Float
0.5 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
hexRFloat -> Float -> Float
forall a. Num a => a -> a -> a
*Float
cos60 , Float
apt Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
h Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
hexRFloat -> Float -> Float
forall a. Num a => a -> a -> a
*Float
sin60)
hexagonDirs :: AttributeValue
hexagonDirs =
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
h1x Float
h1y
Float -> Float -> Path
forall a. Show a => a -> a -> Path
l Float
h2x Float
h2y
Float -> Float -> Path
forall a. Show a => a -> a -> Path
l Float
h3x Float
h3y
Float -> Float -> Path
forall a. Show a => a -> a -> Path
l Float
h4x Float
h4y
Float -> Float -> Path
forall a. Show a => a -> a -> Path
l Float
h5x Float
h5y
Float -> Float -> Path
forall a. Show a => a -> a -> Path
l Float
h6x Float
h6y
Path
S.z
upperBird :: AttributeValue
upperBird =
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
ax Float
ay
Float -> Float -> Float -> Bool -> Bool -> Float -> Float -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
apt Float
apt Float
0 Bool
False Bool
True (Float -> Float -> Float
forall a. Fractional a => a -> a -> a
mid Float
ax Float
bx) (Float -> Float -> Float
forall a. Fractional a => a -> a -> a
mid Float
ay Float
by)
Float -> Float -> Float -> Bool -> Bool -> Float -> Float -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
apt Float
apt Float
0 Bool
False Bool
False Float
bx Float
by
Float -> Float -> Float -> Bool -> Bool -> Float -> Float -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
apt Float
apt Float
0 Bool
False Bool
True (Float -> Float -> Float
forall a. Fractional a => a -> a -> a
mid Float
bx Float
cx) (Float -> Float -> Float
forall a. Fractional a => a -> a -> a
mid Float
by Float
cy)
Float -> Float -> Float -> Bool -> Bool -> Float -> Float -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
apt Float
apt Float
0 Bool
False Bool
False Float
cx Float
cy
Float -> Float -> Float -> Bool -> Bool -> Float -> Float -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
apt Float
apt Float
0 Bool
False Bool
True (Float -> Float -> Float
forall a. Fractional a => a -> a -> a
mid Float
ax Float
cx) (Float -> Float -> Float
forall a. Fractional a => a -> a -> a
mid Float
ay Float
cy)
Float -> Float -> Float -> Bool -> Bool -> Float -> Float -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
apt Float
apt Float
0 Bool
False Bool
False Float
ax Float
ay
lowerBird :: AttributeValue
lowerBird =
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
bx Float
by
Float -> Float -> Float -> Bool -> Bool -> Float -> Float -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
apt Float
apt Float
0 Bool
False Bool
True (Float -> Float -> Float
forall a. Fractional a => a -> a -> a
mid Float
bx Float
dx) (Float -> Float -> Float
forall a. Fractional a => a -> a -> a
mid Float
by Float
dy)
Float -> Float -> Float -> Bool -> Bool -> Float -> Float -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
apt Float
apt Float
0 Bool
False Bool
False Float
dx Float
dy
Float -> Float -> Float -> Bool -> Bool -> Float -> Float -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
apt Float
apt Float
0 Bool
False Bool
True (Float -> Float -> Float
forall a. Fractional a => a -> a -> a
mid Float
cx Float
dx) (Float -> Float -> Float
forall a. Fractional a => a -> a -> a
mid Float
cy Float
dy)
Float -> Float -> Float -> Bool -> Bool -> Float -> Float -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
apt Float
apt Float
0 Bool
False Bool
False Float
cx Float
cy
Float -> Float -> Float -> Bool -> Bool -> Float -> Float -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
apt Float
apt Float
0 Bool
False Bool
True (Float -> Float -> Float
forall a. Fractional a => a -> a -> a
mid Float
bx Float
cx) (Float -> Float -> Float
forall a. Fractional a => a -> a -> a
mid Float
by Float
cy)
Float -> Float -> Float -> Bool -> Bool -> Float -> Float -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Float
apt Float
apt Float
0 Bool
False Bool
False Float
bx Float
by
Path
S.z
hexagonsMosaic :: String -> String -> Svg
hexagonsMosaic :: [Char] -> [Char] -> Svg
hexagonsMosaic [Char]
strkColor [Char]
fillColor = do
Svg -> Svg
S.svg
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__hexagonsMosaic"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue ([Char] -> AttributeValue) -> [Char] -> AttributeValue
forall a b. (a -> b) -> a -> b
$ [Char]
"0 0 1 " [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ Double -> [Char]
forall a. Show a => a -> [Char]
show (Double
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
rad))
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width AttributeValue
"300px"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue ([Char] -> AttributeValue) -> [Char] -> AttributeValue
forall a b. (a -> b) -> a -> b
$ (Double -> [Char]
forall a. Show a => a -> [Char]
show (Double -> [Char]) -> Double -> [Char]
forall a b. (a -> b) -> a -> b
$ Double
300 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sqrt Double
3) [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ [Char]
"px")
(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.strokeLinecap AttributeValue
"round"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0.05"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
strkColor)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
fillColor)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
hexagonDirs
where
apt :: Double
apt = Double
0.5
rad :: Double
rad = (Double
2 Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double -> Double
forall a. Floating a => a -> a
sqrt Double
3) Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
apt
aux :: Double
aux = Double -> Double
forall a. Floating a => a -> a
sqrt (Double -> Double) -> Double -> Double
forall a b. (a -> b) -> a -> b
$ Double
rad Double -> Integer -> Double
forall a b. (Num a, Integral b) => a -> b -> a
^ Integer
2 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
apt Double -> Integer -> Double
forall a b. (Num a, Integral b) => a -> b -> a
^ Integer
2
hexagonDirs :: AttributeValue
hexagonDirs = 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
0.5 ( Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
rad Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
0.05)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.5 (Double
2.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
rad)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.5 Double
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.5 (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
rad)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0 (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
rad Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
aux)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0 (Double
1.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
rad Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
aux)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.5 (Double
2.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
rad)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
1 (Double
1.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
rad Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
aux)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
1 (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
rad Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
aux)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.5 (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
rad)
beehiveMosaic :: Svg
beehiveMosaic :: Svg
beehiveMosaic = do
Svg -> Svg
S.svg
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__beehiveMosaic"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue ([Char] -> AttributeValue) -> [Char] -> AttributeValue
forall a b. (a -> b) -> a -> b
$ [Char]
"0 0 1 " [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ Double -> [Char]
forall a. Show a => a -> [Char]
show (Double
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
rad))
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width AttributeValue
"300px"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue ([Char] -> AttributeValue) -> [Char] -> AttributeValue
forall a b. (a -> b) -> a -> b
$ (Double -> [Char]
forall a. Show a => a -> [Char]
show (Double -> [Char]) -> Double -> [Char]
forall a b. (a -> b) -> a -> b
$ Double
300 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sqrt Double
3) [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ [Char]
"px")
(Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg -> Svg
defs Svg
honeyGradient
Svg
hexagon
where
apt :: Double
apt = Double
0.5
rad :: Double
rad = (Double
2 Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double -> Double
forall a. Floating a => a -> a
sqrt Double
3) Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
apt
aux :: Double
aux = Double -> Double
forall a. Floating a => a -> a
sqrt (Double -> Double) -> Double -> Double
forall a b. (a -> b) -> a -> b
$ Double
rad Double -> Integer -> Double
forall a b. (Num a, Integral b) => a -> b -> a
^ Integer
2 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
apt Double -> Integer -> Double
forall a b. (Num a, Integral b) => a -> b -> a
^ Integer
2
hexagon :: Svg
hexagon =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeLinecap AttributeValue
"round"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0.05"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"rgb(255,255,155)"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"url(#svg-honey-gradient)"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
hexagonDirs
hexagonDirs :: AttributeValue
hexagonDirs =
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
0.5 ( Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
rad Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
0.05)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.5 (Double
2.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
rad)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.5 Double
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.5 (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
rad)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0 (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
rad Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
aux)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0 (Double
1.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
rad Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
aux)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.5 (Double
2.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
rad)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
1 (Double
1.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
rad Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
aux)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
1 (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
rad Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
aux)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.5 (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
rad)
honeyGradient :: Svg
honeyGradient =
Svg -> Svg
radialgradient
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.cx AttributeValue
"30%"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.cy AttributeValue
"70%"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.r AttributeValue
"50%"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fx AttributeValue
"50%"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fy AttributeValue
"60%"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.id_ AttributeValue
"svg-honey-gradient"
(Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg
stop
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.offset AttributeValue
"0%"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.style AttributeValue
"stop-color: rgba(255,255,255,0.3)"
Svg
stop
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.offset AttributeValue
"25%"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.style AttributeValue
"stop-color: rgba(255,255,0,0.4)"
Svg
stop
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.offset AttributeValue
"50%"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.style AttributeValue
"stop-color: rgba(255,215,0,0.4)"
Svg
stop
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.offset AttributeValue
"100%"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.style AttributeValue
"stop-color: rgba(255,140,0,0.4)"
lemonsMosaic :: String -> Svg
lemonsMosaic :: [Char] -> Svg
lemonsMosaic [Char]
fillColor =
Svg -> Svg
svg
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__lemonsMosaic"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0.15 0 0.85 1"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"300px"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue ([Char] -> AttributeValue) -> [Char] -> AttributeValue
forall a b. (a -> b) -> a -> b
$ Double -> [Char]
forall a. Show a => a -> [Char]
show (Double
0.85 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
300) [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ [Char]
"px")
(Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg -> Svg
defs (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$
Svg
lemon Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.id_ AttributeValue
"HaskellSvgIcons-lemonTile"
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
iD Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform ( Double -> Double -> Double -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround Double
29 Double
0.5 Double
0.5)
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
iD 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 (-Double
0.5) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Double -> Double -> Double -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround Double
29 Double
0.5 Double
0.5)
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
iD 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 Double
0.5 AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Double -> Double -> Double -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround Double
29 Double
0.5 Double
0.5)
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
iD 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.43 (-Double
0.25) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Double -> Double -> Double -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround (-Double
29) Double
0.5 Double
0.5)
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
iD 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.43 Double
0.25 AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Double -> Double -> Double -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround (-Double
29) Double
0.5 Double
0.5)
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
iD 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.43 Double
0.75 AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Double -> Double -> Double -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround (-Double
29) Double
0.5 Double
0.5)
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
iD 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.43) (-Double
0.75) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Double -> Double -> Double -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround (-Double
29) Double
0.5 Double
0.5)
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
iD 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.43) (-Double
0.25) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Double -> Double -> Double -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround (-Double
29) Double
0.5 Double
0.5)
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
iD 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.43) Double
0.25 AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Double -> Double -> Double -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround (-Double
29) Double
0.5 Double
0.5)
where
iD :: AttributeValue
iD = AttributeValue
"#HaskellSvgIcons-lemonTile"
r1 :: Double
r1 = Double
0.24
r2 :: Double
r2 = Double
r1
k :: Double
k = Double
0.2
x0 :: Double
x0 = Double
0.5
y0 :: Double
y0 = Double
0.5
y1 :: Double
y1 = Double
y0 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
k
y2 :: Double
y2 = Double
y0 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
k
f1 :: Double -> Double
f1 Double
y = Double
x0 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double -> Double
forall a. Floating a => a -> a
sqrt(Double
r1Double -> Integer -> Double
forall a b. (Num a, Integral b) => a -> b -> a
^Integer
2 Double -> Double -> Double
forall a. Num a => a -> a -> a
- (Double
y Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
y0)Double -> Integer -> Double
forall a b. (Num a, Integral b) => a -> b -> a
^Integer
2)
f2 :: Double -> Double
f2 Double
y = Double
x0 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double -> Double
forall a. Floating a => a -> a
sqrt(Double
r1Double -> Integer -> Double
forall a b. (Num a, Integral b) => a -> b -> a
^Integer
2 Double -> Double -> Double
forall a. Num a => a -> a -> a
- (Double
y Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
y0)Double -> Integer -> Double
forall a b. (Num a, Integral b) => a -> b -> a
^Integer
2)
lemon :: Svg
lemon =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.strokeWidth (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
fillColor)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
lemonDirs
lemonDirs :: AttributeValue
lemonDirs = 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
0.5 Double
0.15
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
False Bool
True (Double -> Double
f1 Double
y1) 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
False Bool
False (Double -> Double
f1 Double
y2) 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
False Bool
True Double
0.5 Double
0.85
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
False Bool
True (Double -> Double
f2 Double
y2) 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 -> Double
f2 Double
y1) 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
False Bool
True Double
0.5 Double
0.15
Path
S.z
arabicMosaic :: String -> String -> Svg
arabicMosaic :: [Char] -> [Char] -> Svg
arabicMosaic [Char]
c1 [Char]
c2 =
Svg -> Svg
svg
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__arabicMosaic"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"-1 -1 2 2"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width AttributeValue
"300px"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"300px"
(Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg -> Svg
defs (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$
Svg
corner Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.id_ AttributeValue
"HaskellSvgIcons-arabicTile"
Svg -> Svg
S.g (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
iD
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
iD 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
180 Integer
0 Integer
0 )
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
iD Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate (-Integer
1) Integer
0 AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Double -> Double -> Double -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround Double
270 Double
0.5 Double
0.5)
Svg
use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
xlinkHref AttributeValue
iD Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate Integer
0 (-Integer
1) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Double -> Double -> Double -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround Double
90 Double
0.5 Double
0.5)
where
color1 :: AttributeValue
color1 = [Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
c1
color2 :: AttributeValue
color2 = [Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
c2
iD :: AttributeValue
iD = AttributeValue
"#HaskellSvgIcons-arabicTile"
s :: Float
s = Float
0.05
k1 :: Float
k1 = Float
0.16
k2 :: Float
k2 = (Float
1Float -> Float -> Float
forall a. Fractional a => a -> a -> a
/Float
3) Float -> Float -> Float
forall a. Num a => a -> a -> a
* (Float
0.5 Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
k1 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
s)
(Float
ax, Float
ay) = (Float
0.5 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
k1, Float
0.5 Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
k1)
(Float
bx, Float
by) = (Float
0.5 Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
k1, Float
0.5 Float -> Float -> Float
forall a. Num a => a -> a -> a
+ Float
k1)
corner :: Svg
corner =
Svg -> Svg
S.g
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.strokeWidth (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
2Float -> Float -> Float
forall a. Num a => a -> a -> a
*Float
s)
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeLinecap AttributeValue
"round"
(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.stroke AttributeValue
color1 Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
dirs1
Svg
S.path Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
color2 Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
dirs2
Svg
S.path Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
color1 Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
dirs3
Svg
S.rect
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.x (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
ax Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
s)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.y (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
ay Float -> Float -> Float
forall a. Num a => a -> a -> a
- Float
s)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.width (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
2Float -> Float -> Float
forall a. Num a => a -> a -> a
*Float
s)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.height (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
2Float -> Float -> Float
forall a. Num a => a -> a -> a
*Float
s)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
color1
dirs1 :: AttributeValue
dirs1 = 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
0.5 Double
1
Float -> Float -> Path
forall a. Show a => a -> a -> Path
l Float
ax (Float
1Float -> Float -> Float
forall a. Num a => a -> a -> a
-Float
k2)
Float -> Float -> Path
forall a. Show a => a -> a -> Path
l Float
ax Float
ay
dirs2 :: AttributeValue
dirs2 = 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
1 Double
0.5
Float -> Float -> Path
forall a. Show a => a -> a -> Path
l (Float
1Float -> Float -> Float
forall a. Num a => a -> a -> a
-Float
k2) Float
by
Float -> Float -> Path
forall a. Show a => a -> a -> Path
l Float
bx Float
by
Float -> Float -> Path
forall a. Show a => a -> a -> Path
l Float
bx Float
k2
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.5 Double
0
dirs3 :: AttributeValue
dirs3 = 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
ax Float
ay
Float -> Float -> Path
forall a. Show a => a -> a -> Path
l Float
k2 Float
ay
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0 Double
0.5
cloudsMosaic :: String -> String -> Svg
cloudsMosaic :: [Char] -> [Char] -> Svg
cloudsMosaic [Char]
strkColor [Char]
fillColor =
Svg -> Svg
S.svg
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__cloudsMosaic"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"-1 -1 2 2"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"300"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width AttributeValue
"300"
(Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ Svg -> Svg
S.g (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg
part1
Svg
part1 Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform AttributeValue
horizontalMirrorMatrix
where
part1 :: Svg
part1 = Svg -> Svg
S.g (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg
mainLine
Svg
mainLine Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate Integer
1 Integer
1)
mainLine :: Svg
mainLine =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
fillColor)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
strkColor)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! (AttributeValue -> Attribute
A.strokeWidth (AttributeValue -> Attribute) -> Float -> Attribute
.: Float
0.05)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
mainPath
mainPath :: AttributeValue
mainPath = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m Integer
0 (-Integer
1)
Double -> Double -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> a -> Path
q (-Double
0.6) (-Double
0.8) (-Double
0.4) (-Double
0.5)
Double -> Double -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> a -> Path
q (-Double
1) (-Double
0.6) (-Double
1) Double
0
hexMosaic :: String -> Svg
hexMosaic :: [Char] -> Svg
hexMosaic [Char]
strkColor =
Svg -> Svg
S.svg
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__hexMosaic"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue ([Char] -> AttributeValue) -> [Char] -> AttributeValue
forall a b. (a -> b) -> a -> b
$ [[Char]] -> [Char]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat ([[Char]] -> [Char]) -> [[Char]] -> [Char]
forall a b. (a -> b) -> a -> b
$ [Char] -> [[Char]] -> [[Char]]
forall a. a -> [a] -> [a]
intersperse [Char]
" " ([[Char]] -> [[Char]]) -> [[Char]] -> [[Char]]
forall a b. (a -> b) -> a -> b
$ (Double -> [Char]) -> [Double] -> [[Char]]
forall a b. (a -> b) -> [a] -> [b]
map Double -> [Char]
forall a. Show a => a -> [Char]
show [Double
vbX, Double
vbY, Double
vbW, Double
vbH])
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"300px"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue ([Char] -> AttributeValue) -> [Char] -> AttributeValue
forall a b. (a -> b) -> a -> b
$ Double -> [Char]
forall a. Show a => a -> [Char]
show (Double
300 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sqrt Double
3) [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ [Char]
"px")
(Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg -> Svg
S.defs (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$
Svg
baseHexDef
Svg -> Svg
S.g (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg
baseHex 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 ((-Double
3) Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k))
Svg
baseTile
Svg
baseTile 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
3) Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
cos30) ((-Double
3) Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
sin30))
Svg
baseTile 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
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
cos30) ((-Double
3) Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
sin30))
Svg
baseTile 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
3) Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
cos30) ( Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
sin30))
Svg
baseTile 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
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
cos30) ( Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
sin30))
where
vbX :: Double
vbX = (-Double
1) Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
vbW
vbY :: Double
vbY = (-Double
1) Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
vbH
vbW :: Double
vbW = Double
6 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
cos30
vbH :: Double
vbH = Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k
k :: Double
k = Double
1
cos30 :: Double
cos30 = Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sqrt Double
3
sin30 :: Double
sin30 = Double
0.5
baseHex :: Svg
baseHex = Svg
S.use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.xlinkHref AttributeValue
"#HaskellSvgIcons-hexTile"
baseTile :: Svg
baseTile =
Svg -> Svg
S.g (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg
baseHex
Svg
baseHex 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
120 Integer
0 Integer
0)
Svg
baseHex 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
240 Integer
0 Integer
0)
baseHexDef :: Svg
baseHexDef =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.id_ AttributeValue
"HaskellSvgIcons-hexTile"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
strkColor)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0.05"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeLinecap AttributeValue
"round"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeLinejoin AttributeValue
"round"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
baseHexDirs
baseHexDirs :: AttributeValue
baseHexDirs = Path -> AttributeValue
S.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
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
cos30) (Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
sin30)
Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l Integer
0 Integer
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0 Double
k
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr ( Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
cos30) (Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
sin30)
Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m Integer
0 Integer
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (-Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
cos30) (Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
sin30)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr Double
0 Double
k
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr ( Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
cos30) (Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
sin30)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m ( Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
cos30) ( Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
sin30 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
1Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (Double
1Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
cos30) (Double
1Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
sin30 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
1Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (Double
1Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
cos30) (Double
1Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
sin30 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
2Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l ( Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
cos30) ( Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
sin30 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
2Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m (Double
2Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
cos30) (Double
2Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
sin30 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
4Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr ( -Double
1 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
cos30) ( -Double
1 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
sin30 )
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr Double
0 (Double
2Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* (-Double
1) )
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr (Double
1Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
cos30 Double -> Double -> Double
forall a. Num a => a -> a -> a
* (-Double
1)) (Double
1Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
sin30 )
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr Double
0 (Double
2Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
3 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k )
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr ( Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
cos30) ( Double
k Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
sin30)
arrowsMosaic :: String -> Svg
arrowsMosaic :: [Char] -> Svg
arrowsMosaic [Char]
strkColor =
Svg -> Svg
S.svg
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__arrowsMosaic"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue ([Char] -> AttributeValue) -> [Char] -> AttributeValue
forall a b. (a -> b) -> a -> b
$ [Char]
"0 0 1 " [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ Double -> [Char]
forall a. Show a => a -> [Char]
show (Double
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h))
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width AttributeValue
"300px"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue ([Char] -> AttributeValue) -> [Char] -> AttributeValue
forall a b. (a -> b) -> a -> b
$ Double -> [Char]
forall a. Show a => a -> [Char]
show (Double
300 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sqrt Double
3) [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ [Char]
"px")
(Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg -> Svg
defs (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$
Svg
basePath Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.id_ AttributeValue
"HaskellSvgIcons-arrowTile"
Svg
arrowTile
Svg
arrowTile Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate Integer
1 Integer
0 )
Svg
arrowTile 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.5) Double
h )
Svg
arrowTile 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.5 Double
h )
Svg
arrowTile 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.5) (-Double
h))
Svg
arrowTile Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform ( AttributeValue
mirror)
Svg
arrowTile Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer -> Integer -> AttributeValue
forall a. Show a => a -> a -> AttributeValue
translate (-Integer
1) Integer
0 AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> AttributeValue
mirror)
Svg
arrowTile 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.5) (-Double
h) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> AttributeValue
mirror)
Svg
arrowTile 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.5 (-Double
h) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> AttributeValue
mirror)
Svg
arrowTile 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.5 Double
h AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> AttributeValue
mirror)
where
h :: Double
h = Double
sin60
sin60 :: Double
sin60 = Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sqrt Double
3
cos60 :: Double
cos60 = Double
0.5
tan60 :: Double
tan60 = Double
sin60 Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double
cos60
tan60' :: Double
tan60' = Double
cos60 Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double
sin60
k :: Double
k = (Double
1Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
6) Double -> Double -> Double
forall a. Num a => a -> a -> a
* (Double
cos60 Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double
sin60)
(Double
ax,Double
ay) = (Double
tan60' Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
k , Double
h Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
k )
(Double
bx,Double
by) = (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
kDouble -> Double -> Double
forall a. Num a => a -> a -> a
*Double
tan60' , Double
h Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
k )
(Double
cx,Double
cy) = (Double
0.5 , Double
h Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
k )
(Double
dx,Double
dy) = (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
kDouble -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
sin60 , Double
h Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
k )
(Double
ex,Double
ey) = (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
kDouble -> Double -> Double
forall a. Num a => a -> a -> a
*Double
tan60' , Double
k )
(Double
fx,Double
fy) = (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
kDouble -> Double -> Double
forall a. Num a => a -> a -> a
*Double
tan60' , Double
h Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
k )
(Double
gx,Double
gy) = (Double
1 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
kDouble -> Double -> Double
forall a. Num a => a -> a -> a
*Double
tan60' , Double
h )
arrowTile :: Svg
arrowTile =
Svg
S.use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.xlinkHref AttributeValue
"#HaskellSvgIcons-arrowTile"
mirror :: AttributeValue
mirror = Double
-> Double -> Double -> Double -> Double -> Double -> AttributeValue
forall a. Show a => a -> a -> a -> a -> a -> a -> AttributeValue
S.matrix Double
1 Double
0 Double
0 (-Double
1) Double
0 (Double
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h)
basePath :: Svg
basePath =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
d AttributeValue
baseDirections
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
fill AttributeValue
"none"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
strokeWidth AttributeValue
"0.03"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
stroke ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
strkColor)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
strokeLinecap AttributeValue
"round"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
strokeLinejoin AttributeValue
"round"
baseDirections :: AttributeValue
baseDirections = 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
cx Double
cy
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
bx Double
by
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
ax Double
ay
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
cx Double
cy
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
dx Double
dy
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
ex Double
ey
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
cx Double
cy
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
fx Double
fy
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
gx Double
gy
wiresMosaic :: String -> Svg
wiresMosaic :: [Char] -> Svg
wiresMosaic [Char]
strkColor =
Svg -> Svg
S.svg
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__wiresMosaic"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 1 1"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"300px"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width AttributeValue
"300px"
(Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg -> Svg
defs (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$
Svg
topLeftCorner Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.id_ AttributeValue
"HaskellSvgIcons-wireTile"
Svg
corner
Svg
corner Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> AttributeValue
forall a. Show a => a -> a -> a -> a -> a -> a -> AttributeValue
matrix Integer
1 Integer
0 Integer
0 (-Integer
1) Integer
0 Integer
1)
Svg
corner Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> AttributeValue
forall a. Show a => a -> a -> a -> a -> a -> a -> AttributeValue
matrix (-Integer
1) Integer
0 Integer
0 Integer
1 Integer
1 Integer
0)
Svg
corner Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform (Double -> Double -> Double -> AttributeValue
forall a. Show a => a -> a -> a -> AttributeValue
rotateAround Double
180 Double
0.5 Double
0.5)
where
oct :: a -> a
oct a
k = (a
k a -> a -> a
forall a. Num a => a -> a -> a
* a -> a
forall a. Floating a => a -> a
sqrt a
2) a -> a -> a
forall a. Fractional a => a -> a -> a
/ (a
2 a -> a -> a
forall a. Num a => a -> a -> a
+ a -> a
forall a. Floating a => a -> a
sqrt a
2)
corner :: Svg
corner =
Svg
S.use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.xlinkHref AttributeValue
"#HaskellSvgIcons-wireTile"
topLeftCorner :: Svg
topLeftCorner =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0.002"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
strkColor)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
topLeftDirections
topLeftDirections :: AttributeValue
topLeftDirections = 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
0.49 Double
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.49 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.48 Double
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.48 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.47 Double
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.47 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.435 Double
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.435 Double
0.07
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.42 Double
0.12
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.42 Double
0.15
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.42 Double
0.12
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.428 Double
0.13
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.428 Double
0.15
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.435 Double
0.07
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.45 Double
0.12
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.45 Double
0.22
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.45 Double
0.12
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.44 Double
0.15
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.44 Double
0.18
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.4 Double
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.4 Double
0.15
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.45 Double
0.3
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.45 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.39 Double
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.39 Double
0.15
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.44 Double
0.3
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.44 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.38 Double
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.38 Double
0.15
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.43 Double
0.3
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.43 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.025
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.14 Double
0.025
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.18 Double
0.045
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.035
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.14 Double
0.035
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.18 Double
0.045
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.045
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.18 Double
0.045
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.055
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.14 Double
0.055
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.18 Double
0.045
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.065
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.14 Double
0.065
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.18 Double
0.045
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.125
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.14 Double
0.125
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.18 Double
0.145
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.135
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.14 Double
0.135
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.18 Double
0.145
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.145
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.18 Double
0.145
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.155
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.14 Double
0.155
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.18 Double
0.145
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.165
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.14 Double
0.165
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.18 Double
0.145
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.225
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.14 Double
0.225
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.18 Double
0.245
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.235
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.14 Double
0.235
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.18 Double
0.245
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.245
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.18 Double
0.245
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.255
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.14 Double
0.255
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.18 Double
0.245
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.265
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.14 Double
0.265
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.18 Double
0.245
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.18 Double
0.045
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.22 Double
0.045
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.27 Double
0.095
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.3 Double
0.095
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.3 Double
0.3
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.4 Double
0.35
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.4 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.18 Double
0.145
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.22 Double
0.145
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.25 Double
0.175
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.28 Double
0.175
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.28 Double
0.3
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.38 Double
0.35
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.38 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.18 Double
0.245
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.22 Double
0.245
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.23 Double
0.255
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.26 Double
0.255
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.26 Double
0.3
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.36 Double
0.35
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.36 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.5 Double
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.35 Double
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.25 Double
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.25 Double
0.05
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.3 Double
0.05
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.35 Double
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.35 Double
0.05
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.3 Double
0.05
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.3 Double
0.07
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.35 Double
0.07
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.35 Double
0.25
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.33 Double
0.23
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.33 Double
0.21
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.33 Double
0.23
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.31 Double
0.23
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.35 Double
0.25
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.38 Double
0.25
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.35 Double
0.25
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.32 Double
0.27
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.32 Double
0.29
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.34 Double
0.30
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.35 Double
0.25
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.35 Double
0.27
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.34 Double
0.28
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.35 Double
0.27
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.36 Double
0.28
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.36 Double
0.3
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.35 Double
0.25
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.38 Double
0.27
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.38 Double
0.29
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.415 Double
0.31
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.415 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.35 Double
0.25
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.37 Double
0.23
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.37 Double
0.21
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.37 Double
0.23
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.39 Double
0.23
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.49
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.01 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.47
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.03 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.45
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.05 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.43
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.07 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.4
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (Double -> Double
forall a. Floating a => a -> a
oct Double
0.1) Double
0.4
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.1 (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double -> Double
forall a. Floating a => a -> a
oct Double
0.1)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.1 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.38
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (Double -> Double
forall a. Floating a => a -> a
oct Double
0.12) Double
0.38
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.12 (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double -> Double
forall a. Floating a => a -> a
oct Double
0.12)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.12 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.36
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (Double -> Double
forall a. Floating a => a -> a
oct Double
0.14) Double
0.36
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.14 (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double -> Double
forall a. Floating a => a -> a
oct Double
0.14)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.14 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.34
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (Double -> Double
forall a. Floating a => a -> a
oct Double
0.16) Double
0.34
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.16 (Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double -> Double
forall a. Floating a => a -> a
oct Double
0.16)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.16 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.3
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.2 Double
0.3
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.2 Double
0.3
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.2 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.2 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.415 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.2 Double
0.475
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.36 Double
0.475
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.2 Double
0.45
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.36 Double
0.45
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.28 Double
0.45
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.28 Double
0.39
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.25 Double
0.39
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.28 Double
0.39
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.31 Double
0.39
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.28 Double
0.39
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.28 Double
0.36
curvesMosaic :: Svg
curvesMosaic :: Svg
curvesMosaic =
Svg -> Svg
S.svg
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__curvesMosaic"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 1 1"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"300px"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width AttributeValue
"300px"
(Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg
curve1
Svg
curve2
Svg
curve3
Svg
curve4
Svg
curve5
Svg
curve6
Svg
curve7
Svg
littleCircle
where
littleCircle :: Svg
littleCircle = do
Svg
S.circle Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"purple" Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.r AttributeValue
"0.03" Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.cx AttributeValue
"0" Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.cy AttributeValue
"0"
Svg
S.circle Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"purple" Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.r AttributeValue
"0.03" Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.cx AttributeValue
"1" Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.cy AttributeValue
"0"
Svg
S.circle Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"purple" Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.r AttributeValue
"0.03" Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.cx AttributeValue
"0" Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.cy AttributeValue
"1"
Svg
S.circle Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"purple" Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.r AttributeValue
"0.03" Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.cx AttributeValue
"1" Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.cy AttributeValue
"1"
curve1 :: Svg
curve1 =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"orchid"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0.03"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeLinecap AttributeValue
"round"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
curve1Dirs
curve1Dirs :: AttributeValue
curve1Dirs = 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
0 Double
0.25
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.2 Double
0.2 Double
0 Bool
True Bool
True Double
0.3 Double
0.7
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.2 Double
0.2 Double
0 Bool
True Bool
True Double
0.7 Double
0.7
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.2 Double
0.2 Double
0 Bool
True Bool
True Double
1 Double
0.25
curve2 :: Svg
curve2 =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"crimson"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0.015"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
curve2Dirs
curve2Dirs :: AttributeValue
curve2Dirs = 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
0 Double
0.25
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.125 Double
0.125 Double
0 Bool
True Bool
True Double
1 Double
0.5
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.125 Double
0.125 Double
0 Bool
True Bool
True Double
0 Double
0.75
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.125 Double
0.125 Double
0 Bool
True Bool
True Double
1 Double
1
curve3 :: Svg
curve3 =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"green"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0.015"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeLinecap AttributeValue
"round"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
curve3Dirs
curve3Dirs :: AttributeValue
curve3Dirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m Integer
0 Integer
0
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.1 Double
0.1 Double
0 Bool
True Bool
True Double
0 Double
0.125
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
1 Double
0.125
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.1 Double
0.1 Double
0 Bool
True Bool
False Double
1 Double
0.25
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.25
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.1 Double
0.1 Double
0 Bool
True Bool
True Double
0 Double
0.375
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
1 Double
0.375
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.1 Double
0.1 Double
0 Bool
True Bool
False Double
1 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.5
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.1 Double
0.1 Double
0 Bool
True Bool
True Double
0 Double
0.625
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
1 Double
0.625
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.1 Double
0.1 Double
0 Bool
True Bool
False Double
1 Double
0.75
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0 Double
0.75
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.1 Double
0.1 Double
0 Bool
True Bool
True Double
0 Double
0.875
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
1 Double
0.875
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.1 Double
0.1 Double
0 Bool
True Bool
False Double
1 Double
1
curve4 :: Svg
curve4 =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"gold"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0.02"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeLinecap AttributeValue
"round"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
curve4Dirs
curve4Dirs :: AttributeValue
curve4Dirs = 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
0.5 Double
0
Double -> Double -> Double -> Double -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> a -> a -> a -> Path
c Double
0.1 Double
0.1 Double
0.8 Double
0.1 Double
0.5 Double
0.25
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.5 Double
0.7
Double -> Double -> Double -> Double -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> a -> a -> a -> Path
c Double
0.9 Double
0.8 Double
0.1 Double
0.9 Double
0.5 Double
0.9
Double -> Double -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> a -> Path
q Double
0.7 Double
0.9 Double
0.5 Double
0.98
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.5 Double
1
curve5 :: Svg
curve5 =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"teal"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0.025"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeLinecap AttributeValue
"round"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
curve5Dirs
curve5Dirs :: AttributeValue
curve5Dirs = 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
0.3 Double
0
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.2 Double
0.2 Double
0 Bool
True Bool
False Double
0.7 Double
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.3 Double
1
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.2 Double
0.2 Double
0 Bool
True Bool
True Double
0.7 Double
1
curve6 :: Svg
curve6 =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"deepskyblue"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"skyblue"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0.01"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeLinecap AttributeValue
"round"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
curve6Dirs
curve6Dirs :: AttributeValue
curve6Dirs = 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
0.47 Double
0
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.03 Double
0.03 Double
0 Bool
True Bool
False Double
0.53 Double
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.47 Double
1
Double
-> Double -> Double -> Bool -> Bool -> Double -> Double -> Path
forall a. Show a => a -> a -> a -> Bool -> Bool -> a -> a -> Path
aa Double
0.03 Double
0.03 Double
0 Bool
True Bool
True Double
0.53 Double
1
curve7 :: Svg
curve7 =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill AttributeValue
"none"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"deeppink"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0.03"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeLinecap AttributeValue
"round"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
curve7Dirs
curve7Dirs :: AttributeValue
curve7Dirs = 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
0.25 Double
0.8
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.25 Double
0.85
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.75 Double
0.8
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.75 Double
0.85
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.25 Double
0.1
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.25 Double
0.15
Double -> Double -> Path
forall a. Show a => a -> a -> Path
m Double
0.75 Double
0.1
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
0.75 Double
0.15
airplaneMosaic :: String -> Svg
airplaneMosaic :: [Char] -> Svg
airplaneMosaic [Char]
fillColor =
Svg -> Svg
S.svg
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__airplaneMosaic"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 2 2"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"300px"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width AttributeValue
"300px"
(Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg -> Svg
defs (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$
Svg
basicPlane Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.id_ AttributeValue
"HaskellSvgIcons-planeTile"
Svg
plane 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
1 (-Double
0.5))
Svg
plane 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 Double
0.5 )
Svg
plane 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
1 Double
1.5 )
Svg
plane 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 (-Double
0.5) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> AttributeValue
forall a. Show a => a -> a -> a -> a -> a -> a -> AttributeValue
S.matrix Integer
1 Integer
0 Integer
0 (-Integer
1) Integer
0 Integer
1)
Svg
plane 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
1 Double
0.5 AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> AttributeValue
forall a. Show a => a -> a -> a -> a -> a -> a -> AttributeValue
S.matrix Integer
1 Integer
0 Integer
0 (-Integer
1) Integer
0 Integer
1)
Svg
plane 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 Double
1.5 AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> Integer
-> AttributeValue
forall a. Show a => a -> a -> a -> a -> a -> a -> AttributeValue
S.matrix Integer
1 Integer
0 Integer
0 (-Integer
1) Integer
0 Integer
1)
where
r1 :: Double
r1 = Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sqrt Double
2
y1 :: Double
y1 = Double
1.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
0.5 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sqrt Double
2
plane :: Svg
plane =
Svg
S.use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.xlinkHref AttributeValue
"#HaskellSvgIcons-planeTile"
basicPlane :: Svg
basicPlane =
Svg
S.path
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke AttributeValue
"none"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
fillColor)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
basicPlaneDirs
basicPlaneDirs :: AttributeValue
basicPlaneDirs = 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
0 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l (Double
1 Double -> Double -> Double
forall a. Num a => a -> a -> a
- Double
r1) Double
0.5
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
True Double
0.5 Double
0
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
True Double
r1 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
1 Double
0.5
Double -> Double -> Path
forall a. Show a => a -> a -> Path
l Double
1 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
False Bool
False Double
0.5 Double
1
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
0 Double
y1
Path
S.z
octagonsMosaic :: String -> String -> Svg
octagonsMosaic :: [Char] -> [Char] -> Svg
octagonsMosaic [Char]
fillColor [Char]
strkColor =
Svg -> Svg
svg
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__octagonsMosaic"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox AttributeValue
"0 0 4 4"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"300px"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width AttributeValue
"300px"
(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.strokeWidth AttributeValue
"0.2"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
strkColor)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.fill ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
fillColor)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
dirs
where
dirs :: AttributeValue
dirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m Integer
1 Integer
1
Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l Integer
3 Integer
1
Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l Integer
3 Integer
3
Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l Integer
1 Integer
3
Path
S.z
Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m Integer
1 Integer
1
Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l Integer
0 Integer
0
Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m Integer
3 Integer
3
Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l Integer
4 Integer
4
Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m Integer
3 Integer
1
Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l Integer
4 Integer
0
Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m Integer
1 Integer
3
Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
l Integer
0 Integer
4
pentagonsMosaic :: String -> String -> Svg
pentagonsMosaic :: [Char] -> [Char] -> Svg
pentagonsMosaic [Char]
fillColor [Char]
strkColor =
Svg -> Svg
svg
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__pentagonsMosaic"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.viewbox ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue ([Char] -> AttributeValue) -> [Char] -> AttributeValue
forall a b. (a -> b) -> a -> b
$ [Char]
"0 0 " [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ (Double -> [Char]
forall a. Show a => a -> [Char]
show Double
x0) [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ [Char]
" " [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ (Double -> [Char]
forall a. Show a => a -> [Char]
show Double
y0))
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.height AttributeValue
"300px"
(Svg -> Svg) -> Attribute -> Svg -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.width ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue ([Char] -> AttributeValue) -> [Char] -> AttributeValue
forall a b. (a -> b) -> a -> b
$ (Double -> [Char]
forall a. Show a => a -> [Char]
show (Double -> [Char]) -> Double -> [Char]
forall a b. (a -> b) -> a -> b
$ Double
300 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sqrt Double
3) [Char] -> [Char] -> [Char]
forall a. [a] -> [a] -> [a]
++ [Char]
"px")
(Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg -> Svg
S.defs (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.fill ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
fillColor)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeWidth AttributeValue
"0.15"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.stroke ([Char] -> AttributeValue
forall a. ToValue a => a -> AttributeValue
S.toValue [Char]
strkColor)
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.strokeLinejoin AttributeValue
"round"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.id_ AttributeValue
"HaskellSvgIcons-pentagonTile"
Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
pentagonDirs
Svg -> Svg
S.g (Svg -> Svg) -> Svg -> Svg
forall a b. (a -> b) -> a -> b
$ do
Svg
pentagon
Svg
pentagon 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
h0 ( Double
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
120)
Svg
pentagon 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
h0 ( Double
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
60)
Svg
pentagon 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
h0) ( Double
9Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
240)
Svg
pentagon 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
h0) ( Double
9Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
300)
Svg
pentagon 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 ( Double
7Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
180)
Svg
pentagon Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.transform ( Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
300)
Svg
pentagon 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
h0 ( Double
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
180)
Svg
pentagon 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
h0 ( Double
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) )
Svg
pentagon 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
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
120)
Svg
pentagon 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
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
60)
Svg
pentagon 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 ( Double
7Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
240)
Svg
pentagon 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
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
120)
Svg
pentagon 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
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
60)
Svg
pentagon 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
h0 ( Double
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
240)
Svg
pentagon 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
h0 ( Double
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
300)
Svg
pentagon 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
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
180)
Svg
pentagon 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
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) )
Svg
pentagon 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
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) (Double
15Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
120)
Svg
pentagon 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
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
180)
Svg
pentagon 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
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) )
Svg
pentagon 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
4Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
120)
Svg
pentagon 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
4Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
60)
Svg
pentagon 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
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
240)
Svg
pentagon 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
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
300)
Svg
pentagon 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
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) (Double
15Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
180)
Svg
pentagon 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
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
240)
Svg
pentagon 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
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
300)
Svg
pentagon 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
4Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
180)
Svg
pentagon 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
4Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) )
Svg
pentagon 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
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) (Double
11Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
120)
Svg
pentagon 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
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) (Double
11Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
60)
Svg
pentagon 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
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) (Double
15Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
240)
Svg
pentagon 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
6Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
120)
Svg
pentagon 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
6Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
60)
Svg
pentagon 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
4Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
240)
Svg
pentagon 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
4Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
300)
Svg
pentagon 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
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) (Double
11Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
180)
Svg
pentagon 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
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) (Double
11Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) )
Svg
pentagon 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
6Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
180)
Svg
pentagon 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
6Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
l0 )) )
Svg
pentagon 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
7Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
7Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
120)
Svg
pentagon 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
7Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
7Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
60)
Svg
pentagon 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
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) (Double
11Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
240)
Svg
pentagon 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
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) (Double
11Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
300)
Svg
pentagon 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
6Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
8Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
180)
Svg
pentagon 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
6Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
240)
Svg
pentagon 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
6Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
300)
Svg
pentagon 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
7Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
7Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
180)
Svg
pentagon 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
7Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
7Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) )
Svg
pentagon 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
8Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
6Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
120)
Svg
pentagon 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
8Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
6Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
60)
Svg
pentagon 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
8Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( -Double
l0 )) )
Svg
pentagon 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
9Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
120)
Svg
pentagon 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
9Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
60)
Svg
pentagon 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
7Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
7Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
240)
Svg
pentagon 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
7Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
7Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
300)
Svg
pentagon 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
8Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
6Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
180)
Svg
pentagon 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
8Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
6Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) )
Svg
pentagon 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
9Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
180)
Svg
pentagon 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
9Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) )
Svg
pentagon 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
10Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
4Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
120)
Svg
pentagon 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
10Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
4Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
60)
Svg
pentagon 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
8Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
6Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
240)
Svg
pentagon 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
8Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
6Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
300)
Svg
pentagon 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
11Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( -Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
60)
Svg
pentagon 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
9Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
240)
Svg
pentagon 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
9Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
3Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
300)
Svg
pentagon 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
10Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
4Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
180)
Svg
pentagon 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
10Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
4Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) )
Svg
pentagon 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
11Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) (Double
13Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
120)
Svg
pentagon 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
11Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) (Double
13Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
60)
Svg
pentagon 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
11Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( -Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) )
Svg
pentagon 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
12Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
120)
Svg
pentagon 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
12Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
60)
Svg
pentagon 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
10Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
4Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
240)
Svg
pentagon 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
10Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
4Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
300)
Svg
pentagon 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
11Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) (Double
13Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
180)
Svg
pentagon 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
11Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) (Double
13Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) )
Svg
pentagon 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
11Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( -Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
300)
Svg
pentagon 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
12Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
180)
Svg
pentagon 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
12Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) )
Svg
pentagon 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
13Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
9Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
120)
Svg
pentagon 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
13Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
9Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
60)
Svg
pentagon 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
11Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) (Double
13Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
240)
Svg
pentagon 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
11Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) (Double
13Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
300)
Svg
pentagon 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
14Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
0Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
60)
Svg
pentagon 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
12Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
240)
Svg
pentagon 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
12Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
2Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
300)
Svg
pentagon 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
13Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
9Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
180)
Svg
pentagon 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
13Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
9Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) )
Svg
pentagon 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
14Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
7Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
120)
Svg
pentagon 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
14Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
0Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) )
Svg
pentagon 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
15Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
120)
Svg
pentagon 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
15Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
5Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
60)
Svg
pentagon 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
13Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
9Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
240)
Svg
pentagon 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
13Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
9Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
300)
Svg
pentagon 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
14Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
h0) ( Double
7Double -> Double -> Double
forall a. Num a => a -> a -> a
*Double
l0 )) AttributeValue -> AttributeValue -> AttributeValue
forall a. Semigroup a => a -> a -> a
<> Integer -> AttributeValue
forall a. Show a => a -> AttributeValue
S.rotate Integer
180)
where
pentagon :: Svg
pentagon =
Svg
S.use Svg -> Attribute -> Svg
forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.xlinkHref AttributeValue
"#HaskellSvgIcons-pentagonTile"
r0 :: Double
r0 = Double
1
a0 :: Double
a0 = Double
r0 Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/ Double
2
l0 :: Double
l0 = Double
r0 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sqrt Double
3
h0 :: Double
h0 = Double
r0 Double -> Double -> Double
forall a. Num a => a -> a -> a
+ Double
a0
y0 :: Double
y0 = Double
l0 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double
7
x0 :: Double
x0 = Double
y0 Double -> Double -> Double
forall a. Num a => a -> a -> a
* Double -> Double
forall a. Floating a => a -> a
sqrt Double
3
pentagonDirs :: AttributeValue
pentagonDirs = Path -> AttributeValue
mkPath (Path -> AttributeValue) -> Path -> AttributeValue
forall a b. (a -> b) -> a -> b
$ do
Integer -> Integer -> Path
forall a. Show a => a -> a -> Path
m Integer
0 Integer
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr (-Double
r0) Double
l0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr Double
a0 (Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr Double
r0 Double
0
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr Double
a0 (-Double
l0Double -> Double -> Double
forall a. Fractional a => a -> a -> a
/Double
2)
Double -> Double -> Path
forall a. Show a => a -> a -> Path
lr (-Double
r0) (-Double
l0)
Path
S.z