module GHCJS.DOM.JSFFI.Generated.DeviceMotionEvent
(js_initDeviceMotionEvent, initDeviceMotionEvent,
js_getAcceleration, getAcceleration, getAccelerationUnsafe,
getAccelerationUnchecked, js_getAccelerationIncludingGravity,
getAccelerationIncludingGravity,
getAccelerationIncludingGravityUnsafe,
getAccelerationIncludingGravityUnchecked, js_getRotationRate,
getRotationRate, getRotationRateUnsafe, getRotationRateUnchecked,
js_getInterval, getInterval, DeviceMotionEvent(..),
gTypeDeviceMotionEvent)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord)
import qualified Prelude (error)
import Data.Typeable (Typeable)
import GHCJS.Types (JSVal(..), JSString)
import GHCJS.Foreign (jsNull)
import GHCJS.Foreign.Callback (syncCallback, asyncCallback, syncCallback1, asyncCallback1, syncCallback2, asyncCallback2, OnBlocked(..))
import GHCJS.Marshal (ToJSVal(..), FromJSVal(..))
import GHCJS.Marshal.Pure (PToJSVal(..), PFromJSVal(..))
import Control.Monad (void)
import Control.Monad.IO.Class (MonadIO(..))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import Data.Maybe (fromJust)
import GHCJS.DOM.Types
import Control.Applicative ((<$>))
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName)
import GHCJS.DOM.JSFFI.Generated.Enums
foreign import javascript unsafe
"$1[\"initDeviceMotionEvent\"]($2,\n$3, $4, $5, $6, $7, $8)"
js_initDeviceMotionEvent ::
DeviceMotionEvent ->
JSString ->
Bool ->
Bool ->
Nullable Acceleration ->
Nullable Acceleration -> Nullable RotationRate -> Double -> IO ()
initDeviceMotionEvent ::
(MonadIO m, ToJSString type', IsAcceleration acceleration,
IsAcceleration accelerationIncludingGravity,
IsRotationRate rotationRate) =>
DeviceMotionEvent ->
type' ->
Bool ->
Bool ->
Maybe acceleration ->
Maybe accelerationIncludingGravity ->
Maybe rotationRate -> Double -> m ()
initDeviceMotionEvent self type' bubbles cancelable acceleration
accelerationIncludingGravity rotationRate interval
= liftIO
(js_initDeviceMotionEvent (self) (toJSString type') bubbles
cancelable
(maybeToNullable (fmap toAcceleration acceleration))
(maybeToNullable
(fmap toAcceleration accelerationIncludingGravity))
(maybeToNullable (fmap toRotationRate rotationRate))
interval)
foreign import javascript unsafe "$1[\"acceleration\"]"
js_getAcceleration ::
DeviceMotionEvent -> IO (Nullable Acceleration)
getAcceleration ::
(MonadIO m) => DeviceMotionEvent -> m (Maybe Acceleration)
getAcceleration self
= liftIO (nullableToMaybe <$> (js_getAcceleration (self)))
getAccelerationUnsafe ::
(MonadIO m, HasCallStack) => DeviceMotionEvent -> m Acceleration
getAccelerationUnsafe self
= liftIO
((nullableToMaybe <$> (js_getAcceleration (self))) >>=
maybe (Prelude.error "Nothing to return") return)
getAccelerationUnchecked ::
(MonadIO m) => DeviceMotionEvent -> m Acceleration
getAccelerationUnchecked self
= liftIO
(fromJust . nullableToMaybe <$> (js_getAcceleration (self)))
foreign import javascript unsafe
"$1[\"accelerationIncludingGravity\"]"
js_getAccelerationIncludingGravity ::
DeviceMotionEvent -> IO (Nullable Acceleration)
getAccelerationIncludingGravity ::
(MonadIO m) => DeviceMotionEvent -> m (Maybe Acceleration)
getAccelerationIncludingGravity self
= liftIO
(nullableToMaybe <$> (js_getAccelerationIncludingGravity (self)))
getAccelerationIncludingGravityUnsafe ::
(MonadIO m, HasCallStack) =>
DeviceMotionEvent -> m Acceleration
getAccelerationIncludingGravityUnsafe self
= liftIO
((nullableToMaybe <$> (js_getAccelerationIncludingGravity (self)))
>>= maybe (Prelude.error "Nothing to return") return)
getAccelerationIncludingGravityUnchecked ::
(MonadIO m) => DeviceMotionEvent -> m Acceleration
getAccelerationIncludingGravityUnchecked self
= liftIO
(fromJust . nullableToMaybe <$>
(js_getAccelerationIncludingGravity (self)))
foreign import javascript unsafe "$1[\"rotationRate\"]"
js_getRotationRate ::
DeviceMotionEvent -> IO (Nullable RotationRate)
getRotationRate ::
(MonadIO m) => DeviceMotionEvent -> m (Maybe RotationRate)
getRotationRate self
= liftIO (nullableToMaybe <$> (js_getRotationRate (self)))
getRotationRateUnsafe ::
(MonadIO m, HasCallStack) => DeviceMotionEvent -> m RotationRate
getRotationRateUnsafe self
= liftIO
((nullableToMaybe <$> (js_getRotationRate (self))) >>=
maybe (Prelude.error "Nothing to return") return)
getRotationRateUnchecked ::
(MonadIO m) => DeviceMotionEvent -> m RotationRate
getRotationRateUnchecked self
= liftIO
(fromJust . nullableToMaybe <$> (js_getRotationRate (self)))
foreign import javascript unsafe "$1[\"interval\"]" js_getInterval
:: DeviceMotionEvent -> IO Double
getInterval :: (MonadIO m) => DeviceMotionEvent -> m Double
getInterval self = liftIO (js_getInterval (self))