{-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE JavaScriptFFI #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} module GHCJS.DOM.JSFFI.Generated.Range (js_newRange, newRange, js_setStart, setStart, js_setEnd, setEnd, js_setStartBefore, setStartBefore, js_setStartAfter, setStartAfter, js_setEndBefore, setEndBefore, js_setEndAfter, setEndAfter, js_collapse, collapse, js_selectNode, selectNode, js_selectNodeContents, selectNodeContents, js_compareBoundaryPoints, compareBoundaryPoints, compareBoundaryPoints_, js_deleteContents, deleteContents, js_extractContents, extractContents, extractContents_, js_cloneContents, cloneContents, cloneContents_, js_insertNode, insertNode, js_surroundContents, surroundContents, js_cloneRange, cloneRange, cloneRange_, js_detach, detach, js_isPointInRange, isPointInRange, isPointInRange_, js_comparePoint, comparePoint, comparePoint_, js_intersectsNode, intersectsNode, intersectsNode_, js_toString, toString, toString_, js_getClientRects, getClientRects, getClientRects_, js_getBoundingClientRect, getBoundingClientRect, getBoundingClientRect_, js_createContextualFragment, createContextualFragment, createContextualFragment_, js_expand, expand, js_compareNode, compareNode, compareNode_, pattern START_TO_START, pattern START_TO_END, pattern END_TO_END, pattern END_TO_START, pattern NODE_BEFORE, pattern NODE_AFTER, pattern NODE_BEFORE_AND_AFTER, pattern NODE_INSIDE, js_getStartContainer, getStartContainer, js_getStartOffset, getStartOffset, js_getEndContainer, getEndContainer, js_getEndOffset, getEndOffset, js_getCollapsed, getCollapsed, js_getCommonAncestorContainer, getCommonAncestorContainer, Range(..), gTypeRange) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord) import qualified Prelude (error) import Data.Typeable (Typeable) import GHCJS.Types (JSVal(..), JSString) import GHCJS.Foreign (jsNull, jsUndefined) import GHCJS.Foreign.Callback (syncCallback, asyncCallback, syncCallback1, asyncCallback1, syncCallback2, asyncCallback2, OnBlocked(..)) import GHCJS.Marshal (ToJSVal(..), FromJSVal(..)) import GHCJS.Marshal.Pure (PToJSVal(..), PFromJSVal(..)) import Control.Monad (void) import Control.Monad.IO.Class (MonadIO(..)) import Data.Int (Int64) import Data.Word (Word, Word64) import Data.Maybe (fromJust) import Data.Traversable (mapM) import GHCJS.DOM.Types import Control.Applicative ((<$>)) import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync) import GHCJS.DOM.JSFFI.Generated.Enums foreign import javascript unsafe "new window[\"Range\"]()" js_newRange :: IO Range -- | newRange :: (MonadIO m) => m Range newRange = liftIO (js_newRange) foreign import javascript safe "$1[\"setStart\"]($2, $3)" js_setStart :: Range -> Node -> Word -> IO () -- | setStart :: (MonadIO m, IsNode node) => Range -> node -> Word -> m () setStart self node offset = liftIO (js_setStart self (toNode node) offset) foreign import javascript safe "$1[\"setEnd\"]($2, $3)" js_setEnd :: Range -> Node -> Word -> IO () -- | setEnd :: (MonadIO m, IsNode node) => Range -> node -> Word -> m () setEnd self node offset = liftIO (js_setEnd self (toNode node) offset) foreign import javascript safe "$1[\"setStartBefore\"]($2)" js_setStartBefore :: Range -> Node -> IO () -- | setStartBefore :: (MonadIO m, IsNode node) => Range -> node -> m () setStartBefore self node = liftIO (js_setStartBefore self (toNode node)) foreign import javascript safe "$1[\"setStartAfter\"]($2)" js_setStartAfter :: Range -> Node -> IO () -- | setStartAfter :: (MonadIO m, IsNode node) => Range -> node -> m () setStartAfter self node = liftIO (js_setStartAfter self (toNode node)) foreign import javascript safe "$1[\"setEndBefore\"]($2)" js_setEndBefore :: Range -> Node -> IO () -- | setEndBefore :: (MonadIO m, IsNode node) => Range -> node -> m () setEndBefore self node = liftIO (js_setEndBefore self (toNode node)) foreign import javascript safe "$1[\"setEndAfter\"]($2)" js_setEndAfter :: Range -> Node -> IO () -- | setEndAfter :: (MonadIO m, IsNode node) => Range -> node -> m () setEndAfter self node = liftIO (js_setEndAfter self (toNode node)) foreign import javascript unsafe "$1[\"collapse\"]($2)" js_collapse :: Range -> Bool -> IO () -- | collapse :: (MonadIO m) => Range -> Bool -> m () collapse self toStart = liftIO (js_collapse self toStart) foreign import javascript safe "$1[\"selectNode\"]($2)" js_selectNode :: Range -> Node -> IO () -- | selectNode :: (MonadIO m, IsNode node) => Range -> node -> m () selectNode self node = liftIO (js_selectNode self (toNode node)) foreign import javascript safe "$1[\"selectNodeContents\"]($2)" js_selectNodeContents :: Range -> Node -> IO () -- | selectNodeContents :: (MonadIO m, IsNode node) => Range -> node -> m () selectNodeContents self node = liftIO (js_selectNodeContents self (toNode node)) foreign import javascript safe "$1[\"compareBoundaryPoints\"]($2,\n$3)" js_compareBoundaryPoints :: Range -> Word -> Range -> IO Int -- | compareBoundaryPoints :: (MonadIO m) => Range -> Word -> Range -> m Int compareBoundaryPoints self how sourceRange = liftIO (js_compareBoundaryPoints self how sourceRange) -- | compareBoundaryPoints_ :: (MonadIO m) => Range -> Word -> Range -> m () compareBoundaryPoints_ self how sourceRange = liftIO (void (js_compareBoundaryPoints self how sourceRange)) foreign import javascript safe "$1[\"deleteContents\"]()" js_deleteContents :: Range -> IO () -- | deleteContents :: (MonadIO m) => Range -> m () deleteContents self = liftIO (js_deleteContents self) foreign import javascript safe "$1[\"extractContents\"]()" js_extractContents :: Range -> IO DocumentFragment -- | extractContents :: (MonadIO m) => Range -> m DocumentFragment extractContents self = liftIO (js_extractContents self) -- | extractContents_ :: (MonadIO m) => Range -> m () extractContents_ self = liftIO (void (js_extractContents self)) foreign import javascript safe "$1[\"cloneContents\"]()" js_cloneContents :: Range -> IO DocumentFragment -- | cloneContents :: (MonadIO m) => Range -> m DocumentFragment cloneContents self = liftIO (js_cloneContents self) -- | cloneContents_ :: (MonadIO m) => Range -> m () cloneContents_ self = liftIO (void (js_cloneContents self)) foreign import javascript safe "$1[\"insertNode\"]($2)" js_insertNode :: Range -> Node -> IO () -- | insertNode :: (MonadIO m, IsNode node) => Range -> node -> m () insertNode self node = liftIO (js_insertNode self (toNode node)) foreign import javascript safe "$1[\"surroundContents\"]($2)" js_surroundContents :: Range -> Node -> IO () -- | surroundContents :: (MonadIO m, IsNode newParent) => Range -> newParent -> m () surroundContents self newParent = liftIO (js_surroundContents self (toNode newParent)) foreign import javascript unsafe "$1[\"cloneRange\"]()" js_cloneRange :: Range -> IO Range -- | cloneRange :: (MonadIO m) => Range -> m Range cloneRange self = liftIO (js_cloneRange self) -- | cloneRange_ :: (MonadIO m) => Range -> m () cloneRange_ self = liftIO (void (js_cloneRange self)) foreign import javascript unsafe "$1[\"detach\"]()" js_detach :: Range -> IO () -- | detach :: (MonadIO m) => Range -> m () detach self = liftIO (js_detach self) foreign import javascript safe "($1[\"isPointInRange\"]($2,\n$3) ? 1 : 0)" js_isPointInRange :: Range -> Node -> Word -> IO Bool -- | isPointInRange :: (MonadIO m, IsNode node) => Range -> node -> Word -> m Bool isPointInRange self node offset = liftIO (js_isPointInRange self (toNode node) offset) -- | isPointInRange_ :: (MonadIO m, IsNode node) => Range -> node -> Word -> m () isPointInRange_ self node offset = liftIO (void (js_isPointInRange self (toNode node) offset)) foreign import javascript safe "$1[\"comparePoint\"]($2, $3)" js_comparePoint :: Range -> Node -> Word -> IO Int -- | comparePoint :: (MonadIO m, IsNode node) => Range -> node -> Word -> m Int comparePoint self node offset = liftIO (js_comparePoint self (toNode node) offset) -- | comparePoint_ :: (MonadIO m, IsNode node) => Range -> node -> Word -> m () comparePoint_ self node offset = liftIO (void (js_comparePoint self (toNode node) offset)) foreign import javascript safe "($1[\"intersectsNode\"]($2) ? 1 : 0)" js_intersectsNode :: Range -> Node -> IO Bool -- | intersectsNode :: (MonadIO m, IsNode node) => Range -> node -> m Bool intersectsNode self node = liftIO (js_intersectsNode self (toNode node)) -- | intersectsNode_ :: (MonadIO m, IsNode node) => Range -> node -> m () intersectsNode_ self node = liftIO (void (js_intersectsNode self (toNode node))) foreign import javascript unsafe "$1[\"toString\"]()" js_toString :: Range -> IO JSString -- | toString :: (MonadIO m, FromJSString result) => Range -> m result toString self = liftIO (fromJSString <$> (js_toString self)) -- | toString_ :: (MonadIO m) => Range -> m () toString_ self = liftIO (void (js_toString self)) foreign import javascript unsafe "$1[\"getClientRects\"]()" js_getClientRects :: Range -> IO JSVal -- | getClientRects :: (MonadIO m) => Range -> m [DOMRect] getClientRects self = liftIO ((js_getClientRects self) >>= fromJSValUnchecked) -- | getClientRects_ :: (MonadIO m) => Range -> m () getClientRects_ self = liftIO (void (js_getClientRects self)) foreign import javascript unsafe "$1[\"getBoundingClientRect\"]()" js_getBoundingClientRect :: Range -> IO DOMRect -- | getBoundingClientRect :: (MonadIO m) => Range -> m DOMRect getBoundingClientRect self = liftIO (js_getBoundingClientRect self) -- | getBoundingClientRect_ :: (MonadIO m) => Range -> m () getBoundingClientRect_ self = liftIO (void (js_getBoundingClientRect self)) foreign import javascript safe "$1[\"createContextualFragment\"]($2)" js_createContextualFragment :: Range -> JSString -> IO DocumentFragment -- | createContextualFragment :: (MonadIO m, ToJSString fragment) => Range -> fragment -> m DocumentFragment createContextualFragment self fragment = liftIO (js_createContextualFragment self (toJSString fragment)) -- | createContextualFragment_ :: (MonadIO m, ToJSString fragment) => Range -> fragment -> m () createContextualFragment_ self fragment = liftIO (void (js_createContextualFragment self (toJSString fragment))) foreign import javascript safe "$1[\"expand\"]($2)" js_expand :: Range -> Optional JSString -> IO () -- | expand :: (MonadIO m, ToJSString unit) => Range -> Maybe unit -> m () expand self unit = liftIO (js_expand self (toOptionalJSString unit)) foreign import javascript safe "$1[\"compareNode\"]($2)" js_compareNode :: Range -> Node -> IO Int -- | compareNode :: (MonadIO m, IsNode node) => Range -> node -> m Int compareNode self node = liftIO (js_compareNode self (toNode node)) -- | compareNode_ :: (MonadIO m, IsNode node) => Range -> node -> m () compareNode_ self node = liftIO (void (js_compareNode self (toNode node))) pattern START_TO_START = 0 pattern START_TO_END = 1 pattern END_TO_END = 2 pattern END_TO_START = 3 pattern NODE_BEFORE = 0 pattern NODE_AFTER = 1 pattern NODE_BEFORE_AND_AFTER = 2 pattern NODE_INSIDE = 3 foreign import javascript unsafe "$1[\"startContainer\"]" js_getStartContainer :: Range -> IO Node -- | getStartContainer :: (MonadIO m) => Range -> m Node getStartContainer self = liftIO (js_getStartContainer self) foreign import javascript unsafe "$1[\"startOffset\"]" js_getStartOffset :: Range -> IO Int -- | getStartOffset :: (MonadIO m) => Range -> m Int getStartOffset self = liftIO (js_getStartOffset self) foreign import javascript unsafe "$1[\"endContainer\"]" js_getEndContainer :: Range -> IO Node -- | getEndContainer :: (MonadIO m) => Range -> m Node getEndContainer self = liftIO (js_getEndContainer self) foreign import javascript unsafe "$1[\"endOffset\"]" js_getEndOffset :: Range -> IO Int -- | getEndOffset :: (MonadIO m) => Range -> m Int getEndOffset self = liftIO (js_getEndOffset self) foreign import javascript unsafe "($1[\"collapsed\"] ? 1 : 0)" js_getCollapsed :: Range -> IO Bool -- | getCollapsed :: (MonadIO m) => Range -> m Bool getCollapsed self = liftIO (js_getCollapsed self) foreign import javascript unsafe "$1[\"commonAncestorContainer\"]" js_getCommonAncestorContainer :: Range -> IO Node -- | getCommonAncestorContainer :: (MonadIO m) => Range -> m Node getCommonAncestorContainer self = liftIO (js_getCommonAncestorContainer self)