{-# LANGUAGE PatternSynonyms, ForeignFunctionInterface, JavaScriptFFI #-} module GHCJS.DOM.JSFFI.Generated.DeviceMotionEvent (js_initDeviceMotionEvent, initDeviceMotionEvent, js_getAcceleration, getAcceleration, js_getAccelerationIncludingGravity, getAccelerationIncludingGravity, js_getRotationRate, getRotationRate, js_getInterval, getInterval, DeviceMotionEvent, castToDeviceMotionEvent, gTypeDeviceMotionEvent) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord) import Data.Typeable (Typeable) import GHCJS.Types (JSRef(..), JSString, castRef) import GHCJS.Foreign (jsNull) import GHCJS.Foreign.Callback (syncCallback, asyncCallback, syncCallback1, asyncCallback1, syncCallback2, asyncCallback2, OnBlocked(..)) import GHCJS.Marshal (ToJSRef(..), FromJSRef(..)) import GHCJS.Marshal.Pure (PToJSRef(..), PFromJSRef(..)) import Control.Monad.IO.Class (MonadIO(..)) import Data.Int (Int64) import Data.Word (Word, Word64) import GHCJS.DOM.Types import Control.Applicative ((<$>)) import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName) import GHCJS.DOM.Enums foreign import javascript unsafe "$1[\"initDeviceMotionEvent\"]($2,\n$3, $4, $5, $6, $7, $8)" js_initDeviceMotionEvent :: JSRef DeviceMotionEvent -> JSString -> Bool -> Bool -> JSRef Acceleration -> JSRef Acceleration -> JSRef 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 (unDeviceMotionEvent self) (toJSString type') bubbles cancelable (maybe jsNull (unAcceleration . toAcceleration) acceleration) (maybe jsNull (unAcceleration . toAcceleration) accelerationIncludingGravity) (maybe jsNull (unRotationRate . toRotationRate) rotationRate) interval) foreign import javascript unsafe "$1[\"acceleration\"]" js_getAcceleration :: JSRef DeviceMotionEvent -> IO (JSRef Acceleration) -- | getAcceleration :: (MonadIO m) => DeviceMotionEvent -> m (Maybe Acceleration) getAcceleration self = liftIO ((js_getAcceleration (unDeviceMotionEvent self)) >>= fromJSRef) foreign import javascript unsafe "$1[\"accelerationIncludingGravity\"]" js_getAccelerationIncludingGravity :: JSRef DeviceMotionEvent -> IO (JSRef Acceleration) -- | getAccelerationIncludingGravity :: (MonadIO m) => DeviceMotionEvent -> m (Maybe Acceleration) getAccelerationIncludingGravity self = liftIO ((js_getAccelerationIncludingGravity (unDeviceMotionEvent self)) >>= fromJSRef) foreign import javascript unsafe "$1[\"rotationRate\"]" js_getRotationRate :: JSRef DeviceMotionEvent -> IO (JSRef RotationRate) -- | getRotationRate :: (MonadIO m) => DeviceMotionEvent -> m (Maybe RotationRate) getRotationRate self = liftIO ((js_getRotationRate (unDeviceMotionEvent self)) >>= fromJSRef) foreign import javascript unsafe "$1[\"interval\"]" js_getInterval :: JSRef DeviceMotionEvent -> IO Double -- | getInterval :: (MonadIO m) => DeviceMotionEvent -> m Double getInterval self = liftIO (js_getInterval (unDeviceMotionEvent self))