-----------------------------------------------------------------------------
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DerivingVia #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE OverloadedStrings #-}
-----------------------------------------------------------------------------
module THREE.FramebufferTexture
  ( -- * Types
    FramebufferTexture (..)
    -- * Constructors
  , THREE.FramebufferTexture.new
  ) where
-----------------------------------------------------------------------------
import           Miso
-----------------------------------------------------------------------------
import           THREE.EventDispatcher
import           THREE.Internal as THREE
import           THREE.Texture
-----------------------------------------------------------------------------
-- | https://threejs.org/docs/#api/en/textures/FramebufferTexture
newtype FramebufferTexture
  = FramebufferTexture
  { FramebufferTexture -> JSVal
unFramebufferTexture :: JSVal
  } deriving newtype (FramebufferTexture -> IO [JSVal]
(FramebufferTexture -> IO [JSVal]) -> ToArgs FramebufferTexture
forall args. (args -> IO [JSVal]) -> ToArgs args
$ctoArgs :: FramebufferTexture -> IO [JSVal]
toArgs :: FramebufferTexture -> IO [JSVal]
ToArgs, FramebufferTexture -> IO Object
(FramebufferTexture -> IO Object) -> ToObject FramebufferTexture
forall a. (a -> IO Object) -> ToObject a
$ctoObject :: FramebufferTexture -> IO Object
toObject :: FramebufferTexture -> IO Object
ToObject, FramebufferTexture -> IO JSVal
(FramebufferTexture -> IO JSVal) -> ToJSVal FramebufferTexture
forall a. (a -> IO JSVal) -> ToJSVal a
$ctoJSVal :: FramebufferTexture -> IO JSVal
toJSVal :: FramebufferTexture -> IO JSVal
ToJSVal)
    deriving anyclass (ToObject FramebufferTexture
ToJSVal FramebufferTexture
Method FramebufferTexture (MisoString, Function) ()
Method FramebufferTexture Object ()
(ToObject FramebufferTexture, ToJSVal FramebufferTexture) =>
Method FramebufferTexture (MisoString, Function) ()
-> Method FramebufferTexture (MisoString, Function) ()
-> Method FramebufferTexture (MisoString, Function) ()
-> Method FramebufferTexture Object ()
-> EventDispatcher FramebufferTexture
forall object.
(ToObject object, ToJSVal object) =>
Method object (MisoString, Function) ()
-> Method object (MisoString, Function) ()
-> Method object (MisoString, Function) ()
-> Method object Object ()
-> EventDispatcher object
$caddEventListener :: Method FramebufferTexture (MisoString, Function) ()
addEventListener :: Method FramebufferTexture (MisoString, Function) ()
$chasEventListener :: Method FramebufferTexture (MisoString, Function) ()
hasEventListener :: Method FramebufferTexture (MisoString, Function) ()
$cremoveEventListener :: Method FramebufferTexture (MisoString, Function) ()
removeEventListener :: Method FramebufferTexture (MisoString, Function) ()
$cdispatchEvent :: Method FramebufferTexture Object ()
dispatchEvent :: Method FramebufferTexture Object ()
EventDispatcher, Property FramebufferTexture Bool
Property FramebufferTexture Double
Property FramebufferTexture Int
Property FramebufferTexture [Object]
Property FramebufferTexture (Maybe Function)
Property FramebufferTexture MisoString
Property FramebufferTexture Object
Property FramebufferTexture ColorSpace
Property FramebufferTexture Formats
Property FramebufferTexture InternalFormats
Property FramebufferTexture MappingModes
Property FramebufferTexture Types
Property FramebufferTexture UvChannel
Property FramebufferTexture WrappingModes
Property FramebufferTexture MagnificationFilters
Property FramebufferTexture MinificationFilters
Property FramebufferTexture Matrix3
Property FramebufferTexture Source
Property FramebufferTexture Vector2
ReadOnly FramebufferTexture Int
ReadOnly FramebufferTexture MisoString
EventDispatcher FramebufferTexture
Method FramebufferTexture () ()
Method FramebufferTexture Object Object
FromJSVal FramebufferTexture =>
Method FramebufferTexture () FramebufferTexture
EventDispatcher FramebufferTexture =>
ReadOnly FramebufferTexture Int
-> ReadOnly FramebufferTexture MisoString
-> Property FramebufferTexture MisoString
-> Property FramebufferTexture Object
-> Property FramebufferTexture [Object]
-> Property FramebufferTexture MappingModes
-> Property FramebufferTexture UvChannel
-> Property FramebufferTexture WrappingModes
-> Property FramebufferTexture WrappingModes
-> Property FramebufferTexture MagnificationFilters
-> Property FramebufferTexture MinificationFilters
-> Property FramebufferTexture Double
-> Property FramebufferTexture Formats
-> Property FramebufferTexture InternalFormats
-> Property FramebufferTexture Types
-> Property FramebufferTexture Vector2
-> Property FramebufferTexture Vector2
-> Property FramebufferTexture Double
-> Property FramebufferTexture Vector2
-> Property FramebufferTexture Bool
-> Property FramebufferTexture Matrix3
-> Property FramebufferTexture Bool
-> Property FramebufferTexture Bool
-> Property FramebufferTexture Bool
-> Property FramebufferTexture Int
-> Property FramebufferTexture ColorSpace
-> Property FramebufferTexture Int
-> Property FramebufferTexture (Maybe Function)
-> Property FramebufferTexture Bool
-> Property FramebufferTexture Object
-> Property FramebufferTexture Source
-> Method FramebufferTexture () ()
-> (FromJSVal FramebufferTexture =>
    Method FramebufferTexture () FramebufferTexture)
-> Method FramebufferTexture Object Object
-> Method FramebufferTexture () ()
-> Method FramebufferTexture Vector2 Vector2
-> TextureClass FramebufferTexture
Method FramebufferTexture Vector2 Vector2
forall texture.
EventDispatcher texture =>
ReadOnly texture Int
-> ReadOnly texture MisoString
-> Property texture MisoString
-> Property texture Object
-> Property texture [Object]
-> Property texture MappingModes
-> Property texture UvChannel
-> Property texture WrappingModes
-> Property texture WrappingModes
-> Property texture MagnificationFilters
-> Property texture MinificationFilters
-> Property texture Double
-> Property texture Formats
-> Property texture InternalFormats
-> Property texture Types
-> Property texture Vector2
-> Property texture Vector2
-> Property texture Double
-> Property texture Vector2
-> Property texture Bool
-> Property texture Matrix3
-> Property texture Bool
-> Property texture Bool
-> Property texture Bool
-> Property texture Int
-> Property texture ColorSpace
-> Property texture Int
-> Property texture (Maybe Function)
-> Property texture Bool
-> Property texture Object
-> Property texture Source
-> Method texture () ()
-> (FromJSVal texture => Method texture () texture)
-> Method texture Object Object
-> Method texture () ()
-> Method texture Vector2 Vector2
-> TextureClass texture
$cid :: ReadOnly FramebufferTexture Int
id :: ReadOnly FramebufferTexture Int
$cuuid :: ReadOnly FramebufferTexture MisoString
uuid :: ReadOnly FramebufferTexture MisoString
$cname :: Property FramebufferTexture MisoString
name :: Property FramebufferTexture MisoString
$cimage :: Property FramebufferTexture Object
image :: Property FramebufferTexture Object
$cmipmaps :: Property FramebufferTexture [Object]
mipmaps :: Property FramebufferTexture [Object]
$cmapping :: Property FramebufferTexture MappingModes
mapping :: Property FramebufferTexture MappingModes
$cchannel :: Property FramebufferTexture UvChannel
channel :: Property FramebufferTexture UvChannel
$cwrapS :: Property FramebufferTexture WrappingModes
wrapS :: Property FramebufferTexture WrappingModes
$cwrapT :: Property FramebufferTexture WrappingModes
wrapT :: Property FramebufferTexture WrappingModes
$cmagFilter :: Property FramebufferTexture MagnificationFilters
magFilter :: Property FramebufferTexture MagnificationFilters
$cminFilter :: Property FramebufferTexture MinificationFilters
minFilter :: Property FramebufferTexture MinificationFilters
$canisotropy :: Property FramebufferTexture Double
anisotropy :: Property FramebufferTexture Double
$cformat :: Property FramebufferTexture Formats
format :: Property FramebufferTexture Formats
$cinternalFormat :: Property FramebufferTexture InternalFormats
internalFormat :: Property FramebufferTexture InternalFormats
$ctype_ :: Property FramebufferTexture Types
type_ :: Property FramebufferTexture Types
$coffset :: Property FramebufferTexture Vector2
offset :: Property FramebufferTexture Vector2
$crepeat :: Property FramebufferTexture Vector2
repeat :: Property FramebufferTexture Vector2
$crotation :: Property FramebufferTexture Double
rotation :: Property FramebufferTexture Double
$ccenter :: Property FramebufferTexture Vector2
center :: Property FramebufferTexture Vector2
$cmatrixAutoUpdate :: Property FramebufferTexture Bool
matrixAutoUpdate :: Property FramebufferTexture Bool
$cmatrix :: Property FramebufferTexture Matrix3
matrix :: Property FramebufferTexture Matrix3
$cgenerateMipmaps :: Property FramebufferTexture Bool
generateMipmaps :: Property FramebufferTexture Bool
$cpremultiplyAlpha :: Property FramebufferTexture Bool
premultiplyAlpha :: Property FramebufferTexture Bool
$cflipY :: Property FramebufferTexture Bool
flipY :: Property FramebufferTexture Bool
$cunpackAlignment :: Property FramebufferTexture Int
unpackAlignment :: Property FramebufferTexture Int
$ccolorSpace :: Property FramebufferTexture ColorSpace
colorSpace :: Property FramebufferTexture ColorSpace
$cversion :: Property FramebufferTexture Int
version :: Property FramebufferTexture Int
$conUpdate :: Property FramebufferTexture (Maybe Function)
onUpdate :: Property FramebufferTexture (Maybe Function)
$cneedsUpdate :: Property FramebufferTexture Bool
needsUpdate :: Property FramebufferTexture Bool
$cuserData :: Property FramebufferTexture Object
userData :: Property FramebufferTexture Object
$csource :: Property FramebufferTexture Source
source :: Property FramebufferTexture Source
$cupdateMatrix :: Method FramebufferTexture () ()
updateMatrix :: Method FramebufferTexture () ()
$cclone :: FromJSVal FramebufferTexture =>
Method FramebufferTexture () FramebufferTexture
clone :: FromJSVal FramebufferTexture =>
Method FramebufferTexture () FramebufferTexture
$ctoJSON :: Method FramebufferTexture Object Object
toJSON :: Method FramebufferTexture Object Object
$cdispose :: Method FramebufferTexture () ()
dispose :: Method FramebufferTexture () ()
$ctransformUv :: Method FramebufferTexture Vector2 Vector2
transformUv :: Method FramebufferTexture Vector2 Vector2
TextureClass)

instance FromJSVal FramebufferTexture where
  fromJSVal :: JSVal -> IO (Maybe FramebufferTexture)
fromJSVal = Maybe FramebufferTexture -> IO (Maybe FramebufferTexture)
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Maybe FramebufferTexture -> IO (Maybe FramebufferTexture))
-> (JSVal -> Maybe FramebufferTexture)
-> JSVal
-> IO (Maybe FramebufferTexture)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. FramebufferTexture -> Maybe FramebufferTexture
forall a. a -> Maybe a
Just (FramebufferTexture -> Maybe FramebufferTexture)
-> (JSVal -> FramebufferTexture)
-> JSVal
-> Maybe FramebufferTexture
forall b c a. (b -> c) -> (a -> b) -> a -> c
. JSVal -> FramebufferTexture
FramebufferTexture

-- Constructor

new :: (FramebufferTextureNewParams t, ToArgs t) => t -> THREE.Three FramebufferTexture
new :: forall t.
(FramebufferTextureNewParams t, ToArgs t) =>
t -> IO FramebufferTexture
new = (JSVal -> FramebufferTexture)
-> MisoString -> t -> IO FramebufferTexture
forall args con.
ToArgs args =>
(JSVal -> con) -> MisoString -> args -> Three con
THREE.new JSVal -> FramebufferTexture
FramebufferTexture MisoString
"FramebufferTexture"

class FramebufferTextureNewParams t
instance FramebufferTextureNewParams ()
instance FramebufferTextureNewParams Int
instance FramebufferTextureNewParams (Int, Int)