module Data.DOM.MouseEvent (initMouseEvent, get'screenX, getm'screenX, get'screenY, getm'screenY, get'clientX, getm'clientX, get'clientY, getm'clientY, get'ctrlKey, getm'ctrlKey, get'shiftKey, getm'shiftKey, get'altKey, getm'altKey, get'metaKey, getm'metaKey, get'button, getm'button, get'relatedTarget, getm'relatedTarget) where import Data.DOM.Events import Control.Monad import BrownPLT.JavaScript import Data.DOM.WBTypes import Data.DOM.Views import Data.DOM.Dom import Data.DOM.Document (createElement) initMouseEvent :: (Monad mn, CMouseEvent this, CAbstractView viewArg, CEventTarget relatedTargetArg) => Expression String -> Expression Bool -> Expression Bool -> Expression viewArg -> Expression Double -> Expression Double -> Expression Double -> Expression Double -> Expression Double -> Expression Bool -> Expression Bool -> Expression Bool -> Expression Bool -> Expression Double -> Expression relatedTargetArg -> Expression this -> mn (Expression ()) initMouseEvent a b c d e f g h i j k l m n o thisp = do let et = undefined :: () let r = DotRef et (thisp /\ et) (Id et "initMouseEvent") return (CallExpr et r [a /\ et, b /\ et, c /\ et, d /\ et, e /\ et, f /\ et, g /\ et, h /\ et, i /\ et, j /\ et, k /\ et, l /\ et, m /\ et, n /\ et, o /\ et]) get'screenX :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression Double) get'screenX thisp = do let et = undefined :: Double let r = DotRef et (thisp /\ et) (Id et "screenX") return r getm'screenX :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression Double) getm'screenX = get'screenX get'screenY :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression Double) get'screenY thisp = do let et = undefined :: Double let r = DotRef et (thisp /\ et) (Id et "screenY") return r getm'screenY :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression Double) getm'screenY = get'screenY get'clientX :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression Double) get'clientX thisp = do let et = undefined :: Double let r = DotRef et (thisp /\ et) (Id et "clientX") return r getm'clientX :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression Double) getm'clientX = get'clientX get'clientY :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression Double) get'clientY thisp = do let et = undefined :: Double let r = DotRef et (thisp /\ et) (Id et "clientY") return r getm'clientY :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression Double) getm'clientY = get'clientY get'ctrlKey :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression Bool) get'ctrlKey thisp = do let et = undefined :: Bool let r = DotRef et (thisp /\ et) (Id et "ctrlKey") return r getm'ctrlKey :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression Bool) getm'ctrlKey = get'ctrlKey get'shiftKey :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression Bool) get'shiftKey thisp = do let et = undefined :: Bool let r = DotRef et (thisp /\ et) (Id et "shiftKey") return r getm'shiftKey :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression Bool) getm'shiftKey = get'shiftKey get'altKey :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression Bool) get'altKey thisp = do let et = undefined :: Bool let r = DotRef et (thisp /\ et) (Id et "altKey") return r getm'altKey :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression Bool) getm'altKey = get'altKey get'metaKey :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression Bool) get'metaKey thisp = do let et = undefined :: Bool let r = DotRef et (thisp /\ et) (Id et "metaKey") return r getm'metaKey :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression Bool) getm'metaKey = get'metaKey get'button :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression Double) get'button thisp = do let et = undefined :: Double let r = DotRef et (thisp /\ et) (Id et "button") return r getm'button :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression Double) getm'button = get'button get'relatedTarget :: (Monad mn, CMouseEvent this, CEventTarget zz) => Expression this -> mn (Expression zz) get'relatedTarget thisp = do let et = undefined :: zz let r = DotRef et (thisp /\ et) (Id et "relatedTarget") return r getm'relatedTarget :: (Monad mn, CMouseEvent this) => Expression this -> mn (Expression TEventTarget) getm'relatedTarget = get'relatedTarget