{-# LANGUAGE     OverloadedStrings       #-}



module SvgIcons.Icons.Outdoors
  ( svgOutdoors
  , flag
  ) where

import           Text.Blaze.Svg11 ((!))
import           Text.Blaze.Svg11 as S
import           Text.Blaze.Svg11.Attributes as A

import SvgIcons.Core.Utils


{- |
A list with all the icons of this module, 
together with appropriate names.

>svgOutdoors :: [ (String , S.Svg) ]
>svgOutdoors =
>  [ (,) "flag" flag
>  ]
-}
svgOutdoors :: [ (String , S.Svg) ]
svgOutdoors :: [(String, Svg)]
svgOutdoors =
  [ (,) String
"flag" Svg
flag
  ]


--------------------------------------------------------------------------------



{- |
![fill style](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/icons/outdoors/flag_fill.svg)

![fill and stroke](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/icons/outdoors/flag_full.svg)

![stroke style](https://raw.githubusercontent.com/RamiroPastor/SvgIcons/main/svg/icons/outdoors/flag_strk.svg)
-}
flag :: Svg
flag :: Svg
flag =
    Svg -> Svg
S.g 
      forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.class_ AttributeValue
"HaskellSvgIcons__flag"
      forall a b. (a -> b) -> a -> b
$ do
        Svg
S.path 
          forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
staff
        Svg
S.path
          forall h. Attributable h => h -> Attribute -> h
! AttributeValue -> Attribute
A.d AttributeValue
field
  where
    x1 :: Double
x1  = -Double
0.85
    x2 :: Double
x2  = -Double
0.7
    y1 :: Double
y1  = -Double
0.9
    y2 :: Double
y2  = -Double
y1
    x3 :: Double
x3  =  Double
0.75
    x13 :: Double
x13 =  Double
x2 forall a. Num a => a -> a -> a
+     (Double
x3 forall a. Num a => a -> a -> a
- Double
x2) forall a. Fractional a => a -> a -> a
/ Double
3
    x23 :: Double
x23 =  Double
x2 forall a. Num a => a -> a -> a
+ Double
2 forall a. Num a => a -> a -> a
* (Double
x3 forall a. Num a => a -> a -> a
- Double
x2) forall a. Fractional a => a -> a -> a
/ Double
3
    y3 :: Double
y3  = -Double
0.7
    y4 :: Double
y4  =  Double
0.2
    ky :: Double
ky  =  Double
0.3
    staff :: AttributeValue
staff = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
      forall a. Show a => a -> a -> Path
m   Double
x1   Double
y1
      forall a. Show a => a -> a -> Path
l   Double
x1   Double
y2
      forall a. Show a => a -> a -> Path
l   Double
x2   Double
y2
      forall a. Show a => a -> a -> Path
l   Double
x2   Double
y1
      Path
S.z
    field :: AttributeValue
field = Path -> AttributeValue
mkPath forall a b. (a -> b) -> a -> b
$ do
      forall a. Show a => a -> a -> Path
m   Double
x2    Double
y3
      forall a. Show a => a -> a -> a -> a -> a -> a -> Path
c   Double
x13  (Double
y3 forall a. Num a => a -> a -> a
- Double
ky)  Double
x23  (Double
y3 forall a. Num a => a -> a -> a
+ Double
ky)  Double
x3   Double
y3
      forall a. Show a => a -> a -> Path
l   Double
x3    Double
y4
      forall a. Show a => a -> a -> a -> a -> a -> a -> Path
c   Double
x23  (Double
y4 forall a. Num a => a -> a -> a
+ Double
ky)  Double
x13  (Double
y4 forall a. Num a => a -> a -> a
- Double
ky)  Double
x2   Double
y4
      Path
S.z