{-# LANGUAGE PatternSynonyms #-} module Language.Javascript.JSaddle.DOM.Generated.WheelEvent (initWebKitWheelEvent, pattern DOM_DELTA_PIXEL, pattern DOM_DELTA_LINE, pattern DOM_DELTA_PAGE, getDeltaX, getDeltaY, getDeltaZ, getDeltaMode, getWheelDeltaX, getWheelDeltaY, getWheelDelta, getWebkitDirectionInvertedFromDevice, WheelEvent, castToWheelEvent, gTypeWheelEvent) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..)) import Data.Typeable (Typeable) import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, new, array) import Data.Int (Int64) import Data.Word (Word, Word64) import Language.Javascript.JSaddle.DOM.Types import Control.Applicative ((<$>)) import Control.Monad (void) import Control.Lens.Operators ((^.)) import Language.Javascript.JSaddle.DOM.EventTargetClosures (EventName, unsafeEventName) import Language.Javascript.JSaddle.DOM.Enums -- | initWebKitWheelEvent :: (MonadDOM m) => WheelEvent -> Int -> Int -> Maybe Window -> Int -> Int -> Int -> Int -> Bool -> Bool -> Bool -> Bool -> m () initWebKitWheelEvent self wheelDeltaX wheelDeltaY view screenX screenY clientX clientY ctrlKey altKey shiftKey metaKey = liftDOM (void (self ^. jsf "initWebKitWheelEvent" [toJSVal wheelDeltaX, toJSVal wheelDeltaY, toJSVal view, toJSVal screenX, toJSVal screenY, toJSVal clientX, toJSVal clientY, toJSVal ctrlKey, toJSVal altKey, toJSVal shiftKey, toJSVal metaKey])) pattern DOM_DELTA_PIXEL = 0 pattern DOM_DELTA_LINE = 1 pattern DOM_DELTA_PAGE = 2 -- | getDeltaX :: (MonadDOM m) => WheelEvent -> m Double getDeltaX self = liftDOM ((self ^. js "deltaX") >>= valToNumber) -- | getDeltaY :: (MonadDOM m) => WheelEvent -> m Double getDeltaY self = liftDOM ((self ^. js "deltaY") >>= valToNumber) -- | getDeltaZ :: (MonadDOM m) => WheelEvent -> m Double getDeltaZ self = liftDOM ((self ^. js "deltaZ") >>= valToNumber) -- | getDeltaMode :: (MonadDOM m) => WheelEvent -> m Word getDeltaMode self = liftDOM (round <$> ((self ^. js "deltaMode") >>= valToNumber)) -- | getWheelDeltaX :: (MonadDOM m) => WheelEvent -> m Int getWheelDeltaX self = liftDOM (round <$> ((self ^. js "wheelDeltaX") >>= valToNumber)) -- | getWheelDeltaY :: (MonadDOM m) => WheelEvent -> m Int getWheelDeltaY self = liftDOM (round <$> ((self ^. js "wheelDeltaY") >>= valToNumber)) -- | getWheelDelta :: (MonadDOM m) => WheelEvent -> m Int getWheelDelta self = liftDOM (round <$> ((self ^. js "wheelDelta") >>= valToNumber)) -- | getWebkitDirectionInvertedFromDevice :: (MonadDOM m) => WheelEvent -> m Bool getWebkitDirectionInvertedFromDevice self = liftDOM ((self ^. js "webkitDirectionInvertedFromDevice") >>= valToBool)