jsaddle-dom-0.10.0.0: src/JSDOM/Generated/Segment.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from mediacapture-extensions (webref). Do not edit.
module JSDOM.Generated.Segment
(newSegment, setType, getType, setId, getId, setPartOf, getPartOf, getPartOfUnsafe, getPartOfUnchecked, setProbability, getProbability, setCenterPoint, getCenterPoint, getCenterPointUnsafe, getCenterPointUnchecked, setBoundingBox, getBoundingBox, getBoundingBoxUnsafe, getBoundingBoxUnchecked, Segment(..), gTypeSegment)
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://w3c.github.io/mediacapture-extensions/#dom-segment Segment specification>
newSegment :: (MonadDOM m) => SegmentType -> Int -> Float -> m Segment
newSegment type' id probability = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "type" (toJSVal type')) P.>> (o ^. jss "id" (toJSVal id)) P.>> (o ^. jss "probability" (toJSVal probability)) P.>> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-extensions/#dom-segment-type Segment.type specification>
setType :: (MonadDOM m) => Segment -> SegmentType -> m ()
setType self val = liftDOM (void (self ^. jss "type" (toJSVal val)))
-- | <https://w3c.github.io/mediacapture-extensions/#dom-segment-type Segment.type specification>
getType :: (MonadDOM m) => Segment -> m SegmentType
getType self = liftDOM (((self ^. js "type") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-extensions/#dom-segment-id Segment.id specification>
setId :: (MonadDOM m) => Segment -> Int -> m ()
setId self val = liftDOM (void (self ^. jss "id" (toJSVal val)))
-- | <https://w3c.github.io/mediacapture-extensions/#dom-segment-id Segment.id specification>
getId :: (MonadDOM m) => Segment -> m Int
getId self = liftDOM ((P.round <$> ((self ^. js "id") >>= valToNumber)))
-- | <https://w3c.github.io/mediacapture-extensions/#dom-segment-partof Segment.partOf specification>
setPartOf :: (MonadDOM m) => Segment -> Int -> m ()
setPartOf self val = liftDOM (void (self ^. jss "partOf" (toJSVal val)))
-- | <https://w3c.github.io/mediacapture-extensions/#dom-segment-partof Segment.partOf specification>
getPartOf :: (MonadDOM m) => Segment -> m (Maybe Int)
getPartOf self = liftDOM (((self ^. js "partOf") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-extensions/#dom-segment-partof Segment.partOf specification>
getPartOfUnsafe :: (MonadDOM m, HasCallStack) => Segment -> m Int
getPartOfUnsafe self = liftDOM ((((self ^. js "partOf") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediacapture-extensions/#dom-segment-partof Segment.partOf specification>
getPartOfUnchecked :: (MonadDOM m) => Segment -> m Int
getPartOfUnchecked self = liftDOM ((P.round <$> ((self ^. js "partOf") >>= valToNumber)))
-- | <https://w3c.github.io/mediacapture-extensions/#dom-segment-probability Segment.probability specification>
setProbability :: (MonadDOM m) => Segment -> Float -> m ()
setProbability self val = liftDOM (void (self ^. jss "probability" (toJSVal val)))
-- | <https://w3c.github.io/mediacapture-extensions/#dom-segment-probability Segment.probability specification>
getProbability :: (MonadDOM m) => Segment -> m Float
getProbability self = liftDOM ((P.realToFrac <$> ((self ^. js "probability") >>= valToNumber)))
-- | <https://w3c.github.io/mediacapture-extensions/#dom-segment-centerpoint Segment.centerPoint specification>
setCenterPoint :: (MonadDOM m) => Segment -> Point2D -> m ()
setCenterPoint self val = liftDOM (void (self ^. jss "centerPoint" (toJSVal val)))
-- | <https://w3c.github.io/mediacapture-extensions/#dom-segment-centerpoint Segment.centerPoint specification>
getCenterPoint :: (MonadDOM m) => Segment -> m (Maybe Point2D)
getCenterPoint self = liftDOM (((self ^. js "centerPoint") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-extensions/#dom-segment-centerpoint Segment.centerPoint specification>
getCenterPointUnsafe :: (MonadDOM m, HasCallStack) => Segment -> m Point2D
getCenterPointUnsafe self = liftDOM ((((self ^. js "centerPoint") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediacapture-extensions/#dom-segment-centerpoint Segment.centerPoint specification>
getCenterPointUnchecked :: (MonadDOM m) => Segment -> m Point2D
getCenterPointUnchecked self = liftDOM (((self ^. js "centerPoint") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-extensions/#dom-segment-boundingbox Segment.boundingBox specification>
setBoundingBox :: (MonadDOM m) => Segment -> DOMRectInit -> m ()
setBoundingBox self val = liftDOM (void (self ^. jss "boundingBox" (toJSVal val)))
-- | <https://w3c.github.io/mediacapture-extensions/#dom-segment-boundingbox Segment.boundingBox specification>
getBoundingBox :: (MonadDOM m) => Segment -> m (Maybe DOMRectInit)
getBoundingBox self = liftDOM (((self ^. js "boundingBox") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/mediacapture-extensions/#dom-segment-boundingbox Segment.boundingBox specification>
getBoundingBoxUnsafe :: (MonadDOM m, HasCallStack) => Segment -> m DOMRectInit
getBoundingBoxUnsafe self = liftDOM ((((self ^. js "boundingBox") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/mediacapture-extensions/#dom-segment-boundingbox Segment.boundingBox specification>
getBoundingBoxUnchecked :: (MonadDOM m) => Segment -> m DOMRectInit
getBoundingBoxUnchecked self = liftDOM (((self ^. js "boundingBox") >>= fromJSValUnchecked))