{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE OverloadedStrings #-}
module THREE.FogExp2
(
FogExp2 (..)
, THREE.FogExp2.new
, isFogExp2
, name
, color
, density
) where
import Miso
import THREE.Color
import THREE.Internal as THREE
newtype FogExp2
= FogExp2
{ FogExp2 -> JSVal
unFogExp2 :: JSVal
} deriving newtype (FogExp2 -> IO [JSVal]
(FogExp2 -> IO [JSVal]) -> ToArgs FogExp2
forall args. (args -> IO [JSVal]) -> ToArgs args
$ctoArgs :: FogExp2 -> IO [JSVal]
toArgs :: FogExp2 -> IO [JSVal]
ToArgs, FogExp2 -> IO Object
(FogExp2 -> IO Object) -> ToObject FogExp2
forall a. (a -> IO Object) -> ToObject a
$ctoObject :: FogExp2 -> IO Object
toObject :: FogExp2 -> IO Object
ToObject, FogExp2 -> IO JSVal
(FogExp2 -> IO JSVal) -> ToJSVal FogExp2
forall a. (a -> IO JSVal) -> ToJSVal a
$ctoJSVal :: FogExp2 -> IO JSVal
toJSVal :: FogExp2 -> IO JSVal
ToJSVal)
instance FromJSVal FogExp2 where
fromJSVal :: JSVal -> IO (Maybe FogExp2)
fromJSVal = Maybe FogExp2 -> IO (Maybe FogExp2)
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Maybe FogExp2 -> IO (Maybe FogExp2))
-> (JSVal -> Maybe FogExp2) -> JSVal -> IO (Maybe FogExp2)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. FogExp2 -> Maybe FogExp2
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (FogExp2 -> Maybe FogExp2)
-> (JSVal -> FogExp2) -> JSVal -> Maybe FogExp2
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> FogExp2
FogExp2
class FogNewParams a
instance FogNewParams Int
instance FogNewParams (Int, Double)
instance FogNewParams (Int, Double, Double)
new :: (FogNewParams a, ToArgs a) => a -> THREE.Three FogExp2
new :: forall a. (FogNewParams a, ToArgs a) => a -> IO FogExp2
new = (JSVal -> FogExp2) -> MisoString -> a -> IO FogExp2
forall args con.
ToArgs args =>
(JSVal -> con) -> MisoString -> args -> Three con
THREE.new JSVal -> FogExp2
FogExp2 MisoString
"FogExp2"
isFogExp2 :: ReadOnly FogExp2 Bool
isFogExp2 :: ReadOnly FogExp2 Bool
isFogExp2 = MisoString -> ReadOnly FogExp2 Bool
forall object return.
(FromJSVal return, ToObject object) =>
MisoString -> ReadOnly object return
readonly MisoString
"isFogExp2"
name :: Property FogExp2 MisoString
name :: Property FogExp2 MisoString
name = MisoString -> Property FogExp2 MisoString
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"name"
color :: Property FogExp2 Color
color :: Property FogExp2 Color
color = MisoString -> Property FogExp2 Color
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"color"
density :: Property FogExp2 Double
density :: Property FogExp2 Double
density = MisoString -> Property FogExp2 Double
forall object field.
(ToObject object, ToJSVal field, FromJSVal field) =>
MisoString -> Property object field
property MisoString
"density"