{-# LANGUAGE PatternSynonyms #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} module JSDOM.Generated.OverflowEvent (newOverflowEvent, pattern HORIZONTAL, pattern VERTICAL, pattern BOTH, getOrient, getHorizontalOverflow, getVerticalOverflow, OverflowEvent(..), gTypeOverflowEvent) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..)) import qualified Prelude (error) import Data.Typeable (Typeable) import Data.Traversable (mapM) import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!)) import Data.Int (Int64) import Data.Word (Word, Word64) import JSDOM.Types import Control.Applicative ((<$>)) import Control.Monad (void) import Control.Lens.Operators ((^.)) import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync) import JSDOM.Enums -- | newOverflowEvent :: (MonadDOM m, ToJSString type') => type' -> Maybe OverflowEventInit -> m OverflowEvent newOverflowEvent type' eventInitDict = liftDOM (OverflowEvent <$> new (jsg "OverflowEvent") [toJSVal type', toJSVal eventInitDict]) pattern HORIZONTAL = 0 pattern VERTICAL = 1 pattern BOTH = 2 -- | getOrient :: (MonadDOM m) => OverflowEvent -> m Word getOrient self = liftDOM (round <$> ((self ^. js "orient") >>= valToNumber)) -- | getHorizontalOverflow :: (MonadDOM m) => OverflowEvent -> m Bool getHorizontalOverflow self = liftDOM ((self ^. js "horizontalOverflow") >>= valToBool) -- | getVerticalOverflow :: (MonadDOM m) => OverflowEvent -> m Bool getVerticalOverflow self = liftDOM ((self ^. js "verticalOverflow") >>= valToBool)