jsaddle-dom-0.10.0.0: src/JSDOM/Generated/WheelEvent.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from pointerevents4 (webref). Do not edit.
module JSDOM.Generated.WheelEvent
(newWheelEvent, getDeltaX, getDeltaY, getDeltaZ, getDeltaMode, pattern DOM_DELTA_PIXEL, pattern DOM_DELTA_LINE, pattern DOM_DELTA_PAGE, WheelEvent(..), gTypeWheelEvent)
where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle (JSM, JSVal, JSString, toJSVal, valToBool, valToNumber, js, jss, jsf, jsg, new, function, asyncFunction, jsUndefined, jsNull)
import JSDOM.Types
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums
-- | <https://developer.mozilla.org/docs/Web/API/WheelEvent/WheelEvent MDN WheelEvent. documentation>
newWheelEvent :: (MonadDOM m, ToJSString type') => type' -> Maybe WheelEventInit -> m WheelEvent
newWheelEvent type' eventInitDict = liftDOM (((new (jsg "WheelEvent") [toJSVal type', P.maybe (P.return jsUndefined) toJSVal eventInitDict]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/WheelEvent/deltaX MDN WheelEvent.deltaX documentation>
getDeltaX :: (MonadDOM m) => WheelEvent -> m Double
getDeltaX self = liftDOM (((self ^. js "deltaX") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/WheelEvent/deltaY MDN WheelEvent.deltaY documentation>
getDeltaY :: (MonadDOM m) => WheelEvent -> m Double
getDeltaY self = liftDOM (((self ^. js "deltaY") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/WheelEvent/deltaZ MDN WheelEvent.deltaZ documentation>
getDeltaZ :: (MonadDOM m) => WheelEvent -> m Double
getDeltaZ self = liftDOM (((self ^. js "deltaZ") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/WheelEvent/deltaMode MDN WheelEvent.deltaMode documentation>
getDeltaMode :: (MonadDOM m) => WheelEvent -> m Word
getDeltaMode self = liftDOM ((P.round <$> ((self ^. js "deltaMode") >>= valToNumber)))
pattern DOM_DELTA_PIXEL = 0x00
pattern DOM_DELTA_LINE = 0x01
pattern DOM_DELTA_PAGE = 0x02