packages feed

gi-webkit2webextension-0.2.10.13: GI/WebKit2WebExtension/Objects/DOMMouseEvent.hs


{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}

module GI.WebKit2WebExtension.Objects.DOMMouseEvent
    ( 

-- * Exported types
    DOMMouseEvent(..)                       ,
    DOMMouseEventK                          ,
    toDOMMouseEvent                         ,
    noDOMMouseEvent                         ,


 -- * Methods
-- ** dOMMouseEventGetAltKey
    DOMMouseEventGetAltKeyMethodInfo        ,
    dOMMouseEventGetAltKey                  ,


-- ** dOMMouseEventGetButton
    DOMMouseEventGetButtonMethodInfo        ,
    dOMMouseEventGetButton                  ,


-- ** dOMMouseEventGetClientX
    DOMMouseEventGetClientXMethodInfo       ,
    dOMMouseEventGetClientX                 ,


-- ** dOMMouseEventGetClientY
    DOMMouseEventGetClientYMethodInfo       ,
    dOMMouseEventGetClientY                 ,


-- ** dOMMouseEventGetCtrlKey
    DOMMouseEventGetCtrlKeyMethodInfo       ,
    dOMMouseEventGetCtrlKey                 ,


-- ** dOMMouseEventGetFromElement
    DOMMouseEventGetFromElementMethodInfo   ,
    dOMMouseEventGetFromElement             ,


-- ** dOMMouseEventGetMetaKey
    DOMMouseEventGetMetaKeyMethodInfo       ,
    dOMMouseEventGetMetaKey                 ,


-- ** dOMMouseEventGetOffsetX
    DOMMouseEventGetOffsetXMethodInfo       ,
    dOMMouseEventGetOffsetX                 ,


-- ** dOMMouseEventGetOffsetY
    DOMMouseEventGetOffsetYMethodInfo       ,
    dOMMouseEventGetOffsetY                 ,


-- ** dOMMouseEventGetRelatedTarget
    DOMMouseEventGetRelatedTargetMethodInfo ,
    dOMMouseEventGetRelatedTarget           ,


-- ** dOMMouseEventGetScreenX
    DOMMouseEventGetScreenXMethodInfo       ,
    dOMMouseEventGetScreenX                 ,


-- ** dOMMouseEventGetScreenY
    DOMMouseEventGetScreenYMethodInfo       ,
    dOMMouseEventGetScreenY                 ,


-- ** dOMMouseEventGetShiftKey
    DOMMouseEventGetShiftKeyMethodInfo      ,
    dOMMouseEventGetShiftKey                ,


-- ** dOMMouseEventGetToElement
    DOMMouseEventGetToElementMethodInfo     ,
    dOMMouseEventGetToElement               ,


-- ** dOMMouseEventGetX
    DOMMouseEventGetXMethodInfo             ,
    dOMMouseEventGetX                       ,


-- ** dOMMouseEventGetY
    DOMMouseEventGetYMethodInfo             ,
    dOMMouseEventGetY                       ,


-- ** dOMMouseEventInitMouseEvent
    DOMMouseEventInitMouseEventMethodInfo   ,
    dOMMouseEventInitMouseEvent             ,




 -- * Properties
-- ** AltKey
    DOMMouseEventAltKeyPropertyInfo         ,
    getDOMMouseEventAltKey                  ,


-- ** Button
    DOMMouseEventButtonPropertyInfo         ,
    getDOMMouseEventButton                  ,


-- ** ClientX
    DOMMouseEventClientXPropertyInfo        ,
    getDOMMouseEventClientX                 ,


-- ** ClientY
    DOMMouseEventClientYPropertyInfo        ,
    getDOMMouseEventClientY                 ,


-- ** CtrlKey
    DOMMouseEventCtrlKeyPropertyInfo        ,
    getDOMMouseEventCtrlKey                 ,


-- ** FromElement
    DOMMouseEventFromElementPropertyInfo    ,
    getDOMMouseEventFromElement             ,


-- ** MetaKey
    DOMMouseEventMetaKeyPropertyInfo        ,
    getDOMMouseEventMetaKey                 ,


-- ** MovementX
    DOMMouseEventMovementXPropertyInfo      ,
    getDOMMouseEventMovementX               ,


-- ** MovementY
    DOMMouseEventMovementYPropertyInfo      ,
    getDOMMouseEventMovementY               ,


-- ** OffsetX
    DOMMouseEventOffsetXPropertyInfo        ,
    getDOMMouseEventOffsetX                 ,


-- ** OffsetY
    DOMMouseEventOffsetYPropertyInfo        ,
    getDOMMouseEventOffsetY                 ,


-- ** RelatedTarget
    DOMMouseEventRelatedTargetPropertyInfo  ,
    getDOMMouseEventRelatedTarget           ,


-- ** ScreenX
    DOMMouseEventScreenXPropertyInfo        ,
    getDOMMouseEventScreenX                 ,


-- ** ScreenY
    DOMMouseEventScreenYPropertyInfo        ,
    getDOMMouseEventScreenY                 ,


-- ** ShiftKey
    DOMMouseEventShiftKeyPropertyInfo       ,
    getDOMMouseEventShiftKey                ,


-- ** ToElement
    DOMMouseEventToElementPropertyInfo      ,
    getDOMMouseEventToElement               ,


-- ** X
    DOMMouseEventXPropertyInfo              ,
    getDOMMouseEventX                       ,


-- ** Y
    DOMMouseEventYPropertyInfo              ,
    getDOMMouseEventY                       ,




    ) where

import Prelude ()
import Data.GI.Base.ShortPrelude

import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map

import GI.WebKit2WebExtension.Types
import GI.WebKit2WebExtension.Callbacks
import qualified GI.GObject as GObject

newtype DOMMouseEvent = DOMMouseEvent (ForeignPtr DOMMouseEvent)
foreign import ccall "webkit_dom_mouse_event_get_type"
    c_webkit_dom_mouse_event_get_type :: IO GType

type instance ParentTypes DOMMouseEvent = DOMMouseEventParentTypes
type DOMMouseEventParentTypes = '[DOMUIEvent, DOMEvent, DOMObject, GObject.Object]

instance GObject DOMMouseEvent where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_webkit_dom_mouse_event_get_type
    

class GObject o => DOMMouseEventK o
instance (GObject o, IsDescendantOf DOMMouseEvent o) => DOMMouseEventK o

toDOMMouseEvent :: DOMMouseEventK o => o -> IO DOMMouseEvent
toDOMMouseEvent = unsafeCastTo DOMMouseEvent

noDOMMouseEvent :: Maybe DOMMouseEvent
noDOMMouseEvent = Nothing

type family ResolveDOMMouseEventMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMMouseEventMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
    ResolveDOMMouseEventMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
    ResolveDOMMouseEventMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
    ResolveDOMMouseEventMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
    ResolveDOMMouseEventMethod "initEvent" o = DOMEventInitEventMethodInfo
    ResolveDOMMouseEventMethod "initMouseEvent" o = DOMMouseEventInitMouseEventMethodInfo
    ResolveDOMMouseEventMethod "initUiEvent" o = DOMUIEventInitUiEventMethodInfo
    ResolveDOMMouseEventMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
    ResolveDOMMouseEventMethod "notify" o = GObject.ObjectNotifyMethodInfo
    ResolveDOMMouseEventMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
    ResolveDOMMouseEventMethod "preventDefault" o = DOMEventPreventDefaultMethodInfo
    ResolveDOMMouseEventMethod "ref" o = GObject.ObjectRefMethodInfo
    ResolveDOMMouseEventMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
    ResolveDOMMouseEventMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
    ResolveDOMMouseEventMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
    ResolveDOMMouseEventMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
    ResolveDOMMouseEventMethod "stealData" o = GObject.ObjectStealDataMethodInfo
    ResolveDOMMouseEventMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
    ResolveDOMMouseEventMethod "stopPropagation" o = DOMEventStopPropagationMethodInfo
    ResolveDOMMouseEventMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
    ResolveDOMMouseEventMethod "unref" o = GObject.ObjectUnrefMethodInfo
    ResolveDOMMouseEventMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
    ResolveDOMMouseEventMethod "getAltKey" o = DOMMouseEventGetAltKeyMethodInfo
    ResolveDOMMouseEventMethod "getBubbles" o = DOMEventGetBubblesMethodInfo
    ResolveDOMMouseEventMethod "getButton" o = DOMMouseEventGetButtonMethodInfo
    ResolveDOMMouseEventMethod "getCancelBubble" o = DOMEventGetCancelBubbleMethodInfo
    ResolveDOMMouseEventMethod "getCancelable" o = DOMEventGetCancelableMethodInfo
    ResolveDOMMouseEventMethod "getCharCode" o = DOMUIEventGetCharCodeMethodInfo
    ResolveDOMMouseEventMethod "getClientX" o = DOMMouseEventGetClientXMethodInfo
    ResolveDOMMouseEventMethod "getClientY" o = DOMMouseEventGetClientYMethodInfo
    ResolveDOMMouseEventMethod "getCtrlKey" o = DOMMouseEventGetCtrlKeyMethodInfo
    ResolveDOMMouseEventMethod "getCurrentTarget" o = DOMEventGetCurrentTargetMethodInfo
    ResolveDOMMouseEventMethod "getData" o = GObject.ObjectGetDataMethodInfo
    ResolveDOMMouseEventMethod "getDetail" o = DOMUIEventGetDetailMethodInfo
    ResolveDOMMouseEventMethod "getEventPhase" o = DOMEventGetEventPhaseMethodInfo
    ResolveDOMMouseEventMethod "getEventType" o = DOMEventGetEventTypeMethodInfo
    ResolveDOMMouseEventMethod "getFromElement" o = DOMMouseEventGetFromElementMethodInfo
    ResolveDOMMouseEventMethod "getKeyCode" o = DOMUIEventGetKeyCodeMethodInfo
    ResolveDOMMouseEventMethod "getLayerX" o = DOMUIEventGetLayerXMethodInfo
    ResolveDOMMouseEventMethod "getLayerY" o = DOMUIEventGetLayerYMethodInfo
    ResolveDOMMouseEventMethod "getMetaKey" o = DOMMouseEventGetMetaKeyMethodInfo
    ResolveDOMMouseEventMethod "getOffsetX" o = DOMMouseEventGetOffsetXMethodInfo
    ResolveDOMMouseEventMethod "getOffsetY" o = DOMMouseEventGetOffsetYMethodInfo
    ResolveDOMMouseEventMethod "getPageX" o = DOMUIEventGetPageXMethodInfo
    ResolveDOMMouseEventMethod "getPageY" o = DOMUIEventGetPageYMethodInfo
    ResolveDOMMouseEventMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
    ResolveDOMMouseEventMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
    ResolveDOMMouseEventMethod "getRelatedTarget" o = DOMMouseEventGetRelatedTargetMethodInfo
    ResolveDOMMouseEventMethod "getReturnValue" o = DOMEventGetReturnValueMethodInfo
    ResolveDOMMouseEventMethod "getScreenX" o = DOMMouseEventGetScreenXMethodInfo
    ResolveDOMMouseEventMethod "getScreenY" o = DOMMouseEventGetScreenYMethodInfo
    ResolveDOMMouseEventMethod "getShiftKey" o = DOMMouseEventGetShiftKeyMethodInfo
    ResolveDOMMouseEventMethod "getSrcElement" o = DOMEventGetSrcElementMethodInfo
    ResolveDOMMouseEventMethod "getTarget" o = DOMEventGetTargetMethodInfo
    ResolveDOMMouseEventMethod "getTimeStamp" o = DOMEventGetTimeStampMethodInfo
    ResolveDOMMouseEventMethod "getToElement" o = DOMMouseEventGetToElementMethodInfo
    ResolveDOMMouseEventMethod "getView" o = DOMUIEventGetViewMethodInfo
    ResolveDOMMouseEventMethod "getX" o = DOMMouseEventGetXMethodInfo
    ResolveDOMMouseEventMethod "getY" o = DOMMouseEventGetYMethodInfo
    ResolveDOMMouseEventMethod "setCancelBubble" o = DOMEventSetCancelBubbleMethodInfo
    ResolveDOMMouseEventMethod "setData" o = GObject.ObjectSetDataMethodInfo
    ResolveDOMMouseEventMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
    ResolveDOMMouseEventMethod "setReturnValue" o = DOMEventSetReturnValueMethodInfo
    ResolveDOMMouseEventMethod l o = MethodResolutionFailed l o

instance (info ~ ResolveDOMMouseEventMethod t DOMMouseEvent, MethodInfo info DOMMouseEvent p) => IsLabelProxy t (DOMMouseEvent -> p) where
    fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)

#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveDOMMouseEventMethod t DOMMouseEvent, MethodInfo info DOMMouseEvent p) => IsLabel t (DOMMouseEvent -> p) where
    fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif

-- VVV Prop "alt-key"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMMouseEventAltKey :: (MonadIO m, DOMMouseEventK o) => o -> m Bool
getDOMMouseEventAltKey obj = liftIO $ getObjectPropertyBool obj "alt-key"

data DOMMouseEventAltKeyPropertyInfo
instance AttrInfo DOMMouseEventAltKeyPropertyInfo where
    type AttrAllowedOps DOMMouseEventAltKeyPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMMouseEventAltKeyPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMMouseEventAltKeyPropertyInfo = DOMMouseEventK
    type AttrGetType DOMMouseEventAltKeyPropertyInfo = Bool
    type AttrLabel DOMMouseEventAltKeyPropertyInfo = "alt-key"
    attrGet _ = getDOMMouseEventAltKey
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "button"
   -- Type: TBasicType TUInt32
   -- Flags: [PropertyReadable]

getDOMMouseEventButton :: (MonadIO m, DOMMouseEventK o) => o -> m Word32
getDOMMouseEventButton obj = liftIO $ getObjectPropertyCUInt obj "button"

data DOMMouseEventButtonPropertyInfo
instance AttrInfo DOMMouseEventButtonPropertyInfo where
    type AttrAllowedOps DOMMouseEventButtonPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMMouseEventButtonPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMMouseEventButtonPropertyInfo = DOMMouseEventK
    type AttrGetType DOMMouseEventButtonPropertyInfo = Word32
    type AttrLabel DOMMouseEventButtonPropertyInfo = "button"
    attrGet _ = getDOMMouseEventButton
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "client-x"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable]

getDOMMouseEventClientX :: (MonadIO m, DOMMouseEventK o) => o -> m Int64
getDOMMouseEventClientX obj = liftIO $ getObjectPropertyInt64 obj "client-x"

data DOMMouseEventClientXPropertyInfo
instance AttrInfo DOMMouseEventClientXPropertyInfo where
    type AttrAllowedOps DOMMouseEventClientXPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMMouseEventClientXPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMMouseEventClientXPropertyInfo = DOMMouseEventK
    type AttrGetType DOMMouseEventClientXPropertyInfo = Int64
    type AttrLabel DOMMouseEventClientXPropertyInfo = "client-x"
    attrGet _ = getDOMMouseEventClientX
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "client-y"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable]

getDOMMouseEventClientY :: (MonadIO m, DOMMouseEventK o) => o -> m Int64
getDOMMouseEventClientY obj = liftIO $ getObjectPropertyInt64 obj "client-y"

data DOMMouseEventClientYPropertyInfo
instance AttrInfo DOMMouseEventClientYPropertyInfo where
    type AttrAllowedOps DOMMouseEventClientYPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMMouseEventClientYPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMMouseEventClientYPropertyInfo = DOMMouseEventK
    type AttrGetType DOMMouseEventClientYPropertyInfo = Int64
    type AttrLabel DOMMouseEventClientYPropertyInfo = "client-y"
    attrGet _ = getDOMMouseEventClientY
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "ctrl-key"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMMouseEventCtrlKey :: (MonadIO m, DOMMouseEventK o) => o -> m Bool
getDOMMouseEventCtrlKey obj = liftIO $ getObjectPropertyBool obj "ctrl-key"

data DOMMouseEventCtrlKeyPropertyInfo
instance AttrInfo DOMMouseEventCtrlKeyPropertyInfo where
    type AttrAllowedOps DOMMouseEventCtrlKeyPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMMouseEventCtrlKeyPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMMouseEventCtrlKeyPropertyInfo = DOMMouseEventK
    type AttrGetType DOMMouseEventCtrlKeyPropertyInfo = Bool
    type AttrLabel DOMMouseEventCtrlKeyPropertyInfo = "ctrl-key"
    attrGet _ = getDOMMouseEventCtrlKey
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "from-element"
   -- Type: TInterface "WebKit2WebExtension" "DOMNode"
   -- Flags: [PropertyReadable]

getDOMMouseEventFromElement :: (MonadIO m, DOMMouseEventK o) => o -> m DOMNode
getDOMMouseEventFromElement obj = liftIO $ getObjectPropertyObject obj "from-element" DOMNode

data DOMMouseEventFromElementPropertyInfo
instance AttrInfo DOMMouseEventFromElementPropertyInfo where
    type AttrAllowedOps DOMMouseEventFromElementPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMMouseEventFromElementPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMMouseEventFromElementPropertyInfo = DOMMouseEventK
    type AttrGetType DOMMouseEventFromElementPropertyInfo = DOMNode
    type AttrLabel DOMMouseEventFromElementPropertyInfo = "from-element"
    attrGet _ = getDOMMouseEventFromElement
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "meta-key"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMMouseEventMetaKey :: (MonadIO m, DOMMouseEventK o) => o -> m Bool
getDOMMouseEventMetaKey obj = liftIO $ getObjectPropertyBool obj "meta-key"

data DOMMouseEventMetaKeyPropertyInfo
instance AttrInfo DOMMouseEventMetaKeyPropertyInfo where
    type AttrAllowedOps DOMMouseEventMetaKeyPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMMouseEventMetaKeyPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMMouseEventMetaKeyPropertyInfo = DOMMouseEventK
    type AttrGetType DOMMouseEventMetaKeyPropertyInfo = Bool
    type AttrLabel DOMMouseEventMetaKeyPropertyInfo = "meta-key"
    attrGet _ = getDOMMouseEventMetaKey
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "movement-x"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable]

getDOMMouseEventMovementX :: (MonadIO m, DOMMouseEventK o) => o -> m Int64
getDOMMouseEventMovementX obj = liftIO $ getObjectPropertyInt64 obj "movement-x"

data DOMMouseEventMovementXPropertyInfo
instance AttrInfo DOMMouseEventMovementXPropertyInfo where
    type AttrAllowedOps DOMMouseEventMovementXPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMMouseEventMovementXPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMMouseEventMovementXPropertyInfo = DOMMouseEventK
    type AttrGetType DOMMouseEventMovementXPropertyInfo = Int64
    type AttrLabel DOMMouseEventMovementXPropertyInfo = "movement-x"
    attrGet _ = getDOMMouseEventMovementX
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "movement-y"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable]

getDOMMouseEventMovementY :: (MonadIO m, DOMMouseEventK o) => o -> m Int64
getDOMMouseEventMovementY obj = liftIO $ getObjectPropertyInt64 obj "movement-y"

data DOMMouseEventMovementYPropertyInfo
instance AttrInfo DOMMouseEventMovementYPropertyInfo where
    type AttrAllowedOps DOMMouseEventMovementYPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMMouseEventMovementYPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMMouseEventMovementYPropertyInfo = DOMMouseEventK
    type AttrGetType DOMMouseEventMovementYPropertyInfo = Int64
    type AttrLabel DOMMouseEventMovementYPropertyInfo = "movement-y"
    attrGet _ = getDOMMouseEventMovementY
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "offset-x"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable]

getDOMMouseEventOffsetX :: (MonadIO m, DOMMouseEventK o) => o -> m Int64
getDOMMouseEventOffsetX obj = liftIO $ getObjectPropertyInt64 obj "offset-x"

data DOMMouseEventOffsetXPropertyInfo
instance AttrInfo DOMMouseEventOffsetXPropertyInfo where
    type AttrAllowedOps DOMMouseEventOffsetXPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMMouseEventOffsetXPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMMouseEventOffsetXPropertyInfo = DOMMouseEventK
    type AttrGetType DOMMouseEventOffsetXPropertyInfo = Int64
    type AttrLabel DOMMouseEventOffsetXPropertyInfo = "offset-x"
    attrGet _ = getDOMMouseEventOffsetX
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "offset-y"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable]

getDOMMouseEventOffsetY :: (MonadIO m, DOMMouseEventK o) => o -> m Int64
getDOMMouseEventOffsetY obj = liftIO $ getObjectPropertyInt64 obj "offset-y"

data DOMMouseEventOffsetYPropertyInfo
instance AttrInfo DOMMouseEventOffsetYPropertyInfo where
    type AttrAllowedOps DOMMouseEventOffsetYPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMMouseEventOffsetYPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMMouseEventOffsetYPropertyInfo = DOMMouseEventK
    type AttrGetType DOMMouseEventOffsetYPropertyInfo = Int64
    type AttrLabel DOMMouseEventOffsetYPropertyInfo = "offset-y"
    attrGet _ = getDOMMouseEventOffsetY
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "related-target"
   -- Type: TInterface "WebKit2WebExtension" "DOMEventTarget"
   -- Flags: [PropertyReadable]

getDOMMouseEventRelatedTarget :: (MonadIO m, DOMMouseEventK o) => o -> m DOMEventTarget
getDOMMouseEventRelatedTarget obj = liftIO $ getObjectPropertyObject obj "related-target" DOMEventTarget

data DOMMouseEventRelatedTargetPropertyInfo
instance AttrInfo DOMMouseEventRelatedTargetPropertyInfo where
    type AttrAllowedOps DOMMouseEventRelatedTargetPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMMouseEventRelatedTargetPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMMouseEventRelatedTargetPropertyInfo = DOMMouseEventK
    type AttrGetType DOMMouseEventRelatedTargetPropertyInfo = DOMEventTarget
    type AttrLabel DOMMouseEventRelatedTargetPropertyInfo = "related-target"
    attrGet _ = getDOMMouseEventRelatedTarget
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "screen-x"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable]

getDOMMouseEventScreenX :: (MonadIO m, DOMMouseEventK o) => o -> m Int64
getDOMMouseEventScreenX obj = liftIO $ getObjectPropertyInt64 obj "screen-x"

data DOMMouseEventScreenXPropertyInfo
instance AttrInfo DOMMouseEventScreenXPropertyInfo where
    type AttrAllowedOps DOMMouseEventScreenXPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMMouseEventScreenXPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMMouseEventScreenXPropertyInfo = DOMMouseEventK
    type AttrGetType DOMMouseEventScreenXPropertyInfo = Int64
    type AttrLabel DOMMouseEventScreenXPropertyInfo = "screen-x"
    attrGet _ = getDOMMouseEventScreenX
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "screen-y"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable]

getDOMMouseEventScreenY :: (MonadIO m, DOMMouseEventK o) => o -> m Int64
getDOMMouseEventScreenY obj = liftIO $ getObjectPropertyInt64 obj "screen-y"

data DOMMouseEventScreenYPropertyInfo
instance AttrInfo DOMMouseEventScreenYPropertyInfo where
    type AttrAllowedOps DOMMouseEventScreenYPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMMouseEventScreenYPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMMouseEventScreenYPropertyInfo = DOMMouseEventK
    type AttrGetType DOMMouseEventScreenYPropertyInfo = Int64
    type AttrLabel DOMMouseEventScreenYPropertyInfo = "screen-y"
    attrGet _ = getDOMMouseEventScreenY
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "shift-key"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMMouseEventShiftKey :: (MonadIO m, DOMMouseEventK o) => o -> m Bool
getDOMMouseEventShiftKey obj = liftIO $ getObjectPropertyBool obj "shift-key"

data DOMMouseEventShiftKeyPropertyInfo
instance AttrInfo DOMMouseEventShiftKeyPropertyInfo where
    type AttrAllowedOps DOMMouseEventShiftKeyPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMMouseEventShiftKeyPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMMouseEventShiftKeyPropertyInfo = DOMMouseEventK
    type AttrGetType DOMMouseEventShiftKeyPropertyInfo = Bool
    type AttrLabel DOMMouseEventShiftKeyPropertyInfo = "shift-key"
    attrGet _ = getDOMMouseEventShiftKey
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "to-element"
   -- Type: TInterface "WebKit2WebExtension" "DOMNode"
   -- Flags: [PropertyReadable]

getDOMMouseEventToElement :: (MonadIO m, DOMMouseEventK o) => o -> m DOMNode
getDOMMouseEventToElement obj = liftIO $ getObjectPropertyObject obj "to-element" DOMNode

data DOMMouseEventToElementPropertyInfo
instance AttrInfo DOMMouseEventToElementPropertyInfo where
    type AttrAllowedOps DOMMouseEventToElementPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMMouseEventToElementPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMMouseEventToElementPropertyInfo = DOMMouseEventK
    type AttrGetType DOMMouseEventToElementPropertyInfo = DOMNode
    type AttrLabel DOMMouseEventToElementPropertyInfo = "to-element"
    attrGet _ = getDOMMouseEventToElement
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "x"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable]

getDOMMouseEventX :: (MonadIO m, DOMMouseEventK o) => o -> m Int64
getDOMMouseEventX obj = liftIO $ getObjectPropertyInt64 obj "x"

data DOMMouseEventXPropertyInfo
instance AttrInfo DOMMouseEventXPropertyInfo where
    type AttrAllowedOps DOMMouseEventXPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMMouseEventXPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMMouseEventXPropertyInfo = DOMMouseEventK
    type AttrGetType DOMMouseEventXPropertyInfo = Int64
    type AttrLabel DOMMouseEventXPropertyInfo = "x"
    attrGet _ = getDOMMouseEventX
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "y"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable]

getDOMMouseEventY :: (MonadIO m, DOMMouseEventK o) => o -> m Int64
getDOMMouseEventY obj = liftIO $ getObjectPropertyInt64 obj "y"

data DOMMouseEventYPropertyInfo
instance AttrInfo DOMMouseEventYPropertyInfo where
    type AttrAllowedOps DOMMouseEventYPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMMouseEventYPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMMouseEventYPropertyInfo = DOMMouseEventK
    type AttrGetType DOMMouseEventYPropertyInfo = Int64
    type AttrLabel DOMMouseEventYPropertyInfo = "y"
    attrGet _ = getDOMMouseEventY
    attrSet _ = undefined
    attrConstruct _ = undefined

type instance AttributeList DOMMouseEvent = DOMMouseEventAttributeList
type DOMMouseEventAttributeList = ('[ '("altKey", DOMMouseEventAltKeyPropertyInfo), '("bubbles", DOMEventBubblesPropertyInfo), '("button", DOMMouseEventButtonPropertyInfo), '("cancelBubble", DOMEventCancelBubblePropertyInfo), '("cancelable", DOMEventCancelablePropertyInfo), '("charCode", DOMUIEventCharCodePropertyInfo), '("clientX", DOMMouseEventClientXPropertyInfo), '("clientY", DOMMouseEventClientYPropertyInfo), '("coreObject", DOMObjectCoreObjectPropertyInfo), '("ctrlKey", DOMMouseEventCtrlKeyPropertyInfo), '("currentTarget", DOMEventCurrentTargetPropertyInfo), '("defaultPrevented", DOMEventDefaultPreventedPropertyInfo), '("detail", DOMUIEventDetailPropertyInfo), '("eventPhase", DOMEventEventPhasePropertyInfo), '("fromElement", DOMMouseEventFromElementPropertyInfo), '("keyCode", DOMUIEventKeyCodePropertyInfo), '("layerX", DOMUIEventLayerXPropertyInfo), '("layerY", DOMUIEventLayerYPropertyInfo), '("metaKey", DOMMouseEventMetaKeyPropertyInfo), '("movementX", DOMMouseEventMovementXPropertyInfo), '("movementY", DOMMouseEventMovementYPropertyInfo), '("offsetX", DOMMouseEventOffsetXPropertyInfo), '("offsetY", DOMMouseEventOffsetYPropertyInfo), '("pageX", DOMUIEventPageXPropertyInfo), '("pageY", DOMUIEventPageYPropertyInfo), '("relatedTarget", DOMMouseEventRelatedTargetPropertyInfo), '("returnValue", DOMEventReturnValuePropertyInfo), '("screenX", DOMMouseEventScreenXPropertyInfo), '("screenY", DOMMouseEventScreenYPropertyInfo), '("shiftKey", DOMMouseEventShiftKeyPropertyInfo), '("srcElement", DOMEventSrcElementPropertyInfo), '("target", DOMEventTargetPropertyInfo), '("timeStamp", DOMEventTimeStampPropertyInfo), '("toElement", DOMMouseEventToElementPropertyInfo), '("type", DOMEventTypePropertyInfo), '("view", DOMUIEventViewPropertyInfo), '("which", DOMUIEventWhichPropertyInfo), '("x", DOMMouseEventXPropertyInfo), '("y", DOMMouseEventYPropertyInfo)] :: [(Symbol, *)])

type instance SignalList DOMMouseEvent = DOMMouseEventSignalList
type DOMMouseEventSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])

-- method DOMMouseEvent::get_alt_key
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMMouseEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_mouse_event_get_alt_key" webkit_dom_mouse_event_get_alt_key :: 
    Ptr DOMMouseEvent ->                    -- _obj : TInterface "WebKit2WebExtension" "DOMMouseEvent"
    IO CInt


dOMMouseEventGetAltKey ::
    (MonadIO m, DOMMouseEventK a) =>
    a                                       -- _obj
    -> m Bool                               -- result
dOMMouseEventGetAltKey _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_mouse_event_get_alt_key _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

data DOMMouseEventGetAltKeyMethodInfo
instance (signature ~ (m Bool), MonadIO m, DOMMouseEventK a) => MethodInfo DOMMouseEventGetAltKeyMethodInfo a signature where
    overloadedMethod _ = dOMMouseEventGetAltKey

-- method DOMMouseEvent::get_button
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMMouseEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUInt16
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_mouse_event_get_button" webkit_dom_mouse_event_get_button :: 
    Ptr DOMMouseEvent ->                    -- _obj : TInterface "WebKit2WebExtension" "DOMMouseEvent"
    IO Word16


dOMMouseEventGetButton ::
    (MonadIO m, DOMMouseEventK a) =>
    a                                       -- _obj
    -> m Word16                             -- result
dOMMouseEventGetButton _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_mouse_event_get_button _obj'
    touchManagedPtr _obj
    return result

data DOMMouseEventGetButtonMethodInfo
instance (signature ~ (m Word16), MonadIO m, DOMMouseEventK a) => MethodInfo DOMMouseEventGetButtonMethodInfo a signature where
    overloadedMethod _ = dOMMouseEventGetButton

-- method DOMMouseEvent::get_client_x
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMMouseEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_mouse_event_get_client_x" webkit_dom_mouse_event_get_client_x :: 
    Ptr DOMMouseEvent ->                    -- _obj : TInterface "WebKit2WebExtension" "DOMMouseEvent"
    IO Int64


dOMMouseEventGetClientX ::
    (MonadIO m, DOMMouseEventK a) =>
    a                                       -- _obj
    -> m Int64                              -- result
dOMMouseEventGetClientX _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_mouse_event_get_client_x _obj'
    touchManagedPtr _obj
    return result

data DOMMouseEventGetClientXMethodInfo
instance (signature ~ (m Int64), MonadIO m, DOMMouseEventK a) => MethodInfo DOMMouseEventGetClientXMethodInfo a signature where
    overloadedMethod _ = dOMMouseEventGetClientX

-- method DOMMouseEvent::get_client_y
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMMouseEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_mouse_event_get_client_y" webkit_dom_mouse_event_get_client_y :: 
    Ptr DOMMouseEvent ->                    -- _obj : TInterface "WebKit2WebExtension" "DOMMouseEvent"
    IO Int64


dOMMouseEventGetClientY ::
    (MonadIO m, DOMMouseEventK a) =>
    a                                       -- _obj
    -> m Int64                              -- result
dOMMouseEventGetClientY _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_mouse_event_get_client_y _obj'
    touchManagedPtr _obj
    return result

data DOMMouseEventGetClientYMethodInfo
instance (signature ~ (m Int64), MonadIO m, DOMMouseEventK a) => MethodInfo DOMMouseEventGetClientYMethodInfo a signature where
    overloadedMethod _ = dOMMouseEventGetClientY

-- method DOMMouseEvent::get_ctrl_key
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMMouseEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_mouse_event_get_ctrl_key" webkit_dom_mouse_event_get_ctrl_key :: 
    Ptr DOMMouseEvent ->                    -- _obj : TInterface "WebKit2WebExtension" "DOMMouseEvent"
    IO CInt


dOMMouseEventGetCtrlKey ::
    (MonadIO m, DOMMouseEventK a) =>
    a                                       -- _obj
    -> m Bool                               -- result
dOMMouseEventGetCtrlKey _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_mouse_event_get_ctrl_key _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

data DOMMouseEventGetCtrlKeyMethodInfo
instance (signature ~ (m Bool), MonadIO m, DOMMouseEventK a) => MethodInfo DOMMouseEventGetCtrlKeyMethodInfo a signature where
    overloadedMethod _ = dOMMouseEventGetCtrlKey

-- method DOMMouseEvent::get_from_element
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMMouseEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "WebKit2WebExtension" "DOMNode"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_mouse_event_get_from_element" webkit_dom_mouse_event_get_from_element :: 
    Ptr DOMMouseEvent ->                    -- _obj : TInterface "WebKit2WebExtension" "DOMMouseEvent"
    IO (Ptr DOMNode)


dOMMouseEventGetFromElement ::
    (MonadIO m, DOMMouseEventK a) =>
    a                                       -- _obj
    -> m DOMNode                            -- result
dOMMouseEventGetFromElement _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_mouse_event_get_from_element _obj'
    checkUnexpectedReturnNULL "webkit_dom_mouse_event_get_from_element" result
    result' <- (newObject DOMNode) result
    touchManagedPtr _obj
    return result'

data DOMMouseEventGetFromElementMethodInfo
instance (signature ~ (m DOMNode), MonadIO m, DOMMouseEventK a) => MethodInfo DOMMouseEventGetFromElementMethodInfo a signature where
    overloadedMethod _ = dOMMouseEventGetFromElement

-- method DOMMouseEvent::get_meta_key
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMMouseEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_mouse_event_get_meta_key" webkit_dom_mouse_event_get_meta_key :: 
    Ptr DOMMouseEvent ->                    -- _obj : TInterface "WebKit2WebExtension" "DOMMouseEvent"
    IO CInt


dOMMouseEventGetMetaKey ::
    (MonadIO m, DOMMouseEventK a) =>
    a                                       -- _obj
    -> m Bool                               -- result
dOMMouseEventGetMetaKey _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_mouse_event_get_meta_key _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

data DOMMouseEventGetMetaKeyMethodInfo
instance (signature ~ (m Bool), MonadIO m, DOMMouseEventK a) => MethodInfo DOMMouseEventGetMetaKeyMethodInfo a signature where
    overloadedMethod _ = dOMMouseEventGetMetaKey

-- method DOMMouseEvent::get_offset_x
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMMouseEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_mouse_event_get_offset_x" webkit_dom_mouse_event_get_offset_x :: 
    Ptr DOMMouseEvent ->                    -- _obj : TInterface "WebKit2WebExtension" "DOMMouseEvent"
    IO Int64


dOMMouseEventGetOffsetX ::
    (MonadIO m, DOMMouseEventK a) =>
    a                                       -- _obj
    -> m Int64                              -- result
dOMMouseEventGetOffsetX _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_mouse_event_get_offset_x _obj'
    touchManagedPtr _obj
    return result

data DOMMouseEventGetOffsetXMethodInfo
instance (signature ~ (m Int64), MonadIO m, DOMMouseEventK a) => MethodInfo DOMMouseEventGetOffsetXMethodInfo a signature where
    overloadedMethod _ = dOMMouseEventGetOffsetX

-- method DOMMouseEvent::get_offset_y
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMMouseEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_mouse_event_get_offset_y" webkit_dom_mouse_event_get_offset_y :: 
    Ptr DOMMouseEvent ->                    -- _obj : TInterface "WebKit2WebExtension" "DOMMouseEvent"
    IO Int64


dOMMouseEventGetOffsetY ::
    (MonadIO m, DOMMouseEventK a) =>
    a                                       -- _obj
    -> m Int64                              -- result
dOMMouseEventGetOffsetY _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_mouse_event_get_offset_y _obj'
    touchManagedPtr _obj
    return result

data DOMMouseEventGetOffsetYMethodInfo
instance (signature ~ (m Int64), MonadIO m, DOMMouseEventK a) => MethodInfo DOMMouseEventGetOffsetYMethodInfo a signature where
    overloadedMethod _ = dOMMouseEventGetOffsetY

-- method DOMMouseEvent::get_related_target
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMMouseEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "WebKit2WebExtension" "DOMEventTarget"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_mouse_event_get_related_target" webkit_dom_mouse_event_get_related_target :: 
    Ptr DOMMouseEvent ->                    -- _obj : TInterface "WebKit2WebExtension" "DOMMouseEvent"
    IO (Ptr DOMEventTarget)


dOMMouseEventGetRelatedTarget ::
    (MonadIO m, DOMMouseEventK a) =>
    a                                       -- _obj
    -> m DOMEventTarget                     -- result
dOMMouseEventGetRelatedTarget _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_mouse_event_get_related_target _obj'
    checkUnexpectedReturnNULL "webkit_dom_mouse_event_get_related_target" result
    result' <- (wrapObject DOMEventTarget) result
    touchManagedPtr _obj
    return result'

data DOMMouseEventGetRelatedTargetMethodInfo
instance (signature ~ (m DOMEventTarget), MonadIO m, DOMMouseEventK a) => MethodInfo DOMMouseEventGetRelatedTargetMethodInfo a signature where
    overloadedMethod _ = dOMMouseEventGetRelatedTarget

-- method DOMMouseEvent::get_screen_x
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMMouseEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_mouse_event_get_screen_x" webkit_dom_mouse_event_get_screen_x :: 
    Ptr DOMMouseEvent ->                    -- _obj : TInterface "WebKit2WebExtension" "DOMMouseEvent"
    IO Int64


dOMMouseEventGetScreenX ::
    (MonadIO m, DOMMouseEventK a) =>
    a                                       -- _obj
    -> m Int64                              -- result
dOMMouseEventGetScreenX _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_mouse_event_get_screen_x _obj'
    touchManagedPtr _obj
    return result

data DOMMouseEventGetScreenXMethodInfo
instance (signature ~ (m Int64), MonadIO m, DOMMouseEventK a) => MethodInfo DOMMouseEventGetScreenXMethodInfo a signature where
    overloadedMethod _ = dOMMouseEventGetScreenX

-- method DOMMouseEvent::get_screen_y
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMMouseEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_mouse_event_get_screen_y" webkit_dom_mouse_event_get_screen_y :: 
    Ptr DOMMouseEvent ->                    -- _obj : TInterface "WebKit2WebExtension" "DOMMouseEvent"
    IO Int64


dOMMouseEventGetScreenY ::
    (MonadIO m, DOMMouseEventK a) =>
    a                                       -- _obj
    -> m Int64                              -- result
dOMMouseEventGetScreenY _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_mouse_event_get_screen_y _obj'
    touchManagedPtr _obj
    return result

data DOMMouseEventGetScreenYMethodInfo
instance (signature ~ (m Int64), MonadIO m, DOMMouseEventK a) => MethodInfo DOMMouseEventGetScreenYMethodInfo a signature where
    overloadedMethod _ = dOMMouseEventGetScreenY

-- method DOMMouseEvent::get_shift_key
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMMouseEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_mouse_event_get_shift_key" webkit_dom_mouse_event_get_shift_key :: 
    Ptr DOMMouseEvent ->                    -- _obj : TInterface "WebKit2WebExtension" "DOMMouseEvent"
    IO CInt


dOMMouseEventGetShiftKey ::
    (MonadIO m, DOMMouseEventK a) =>
    a                                       -- _obj
    -> m Bool                               -- result
dOMMouseEventGetShiftKey _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_mouse_event_get_shift_key _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

data DOMMouseEventGetShiftKeyMethodInfo
instance (signature ~ (m Bool), MonadIO m, DOMMouseEventK a) => MethodInfo DOMMouseEventGetShiftKeyMethodInfo a signature where
    overloadedMethod _ = dOMMouseEventGetShiftKey

-- method DOMMouseEvent::get_to_element
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMMouseEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "WebKit2WebExtension" "DOMNode"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_mouse_event_get_to_element" webkit_dom_mouse_event_get_to_element :: 
    Ptr DOMMouseEvent ->                    -- _obj : TInterface "WebKit2WebExtension" "DOMMouseEvent"
    IO (Ptr DOMNode)


dOMMouseEventGetToElement ::
    (MonadIO m, DOMMouseEventK a) =>
    a                                       -- _obj
    -> m DOMNode                            -- result
dOMMouseEventGetToElement _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_mouse_event_get_to_element _obj'
    checkUnexpectedReturnNULL "webkit_dom_mouse_event_get_to_element" result
    result' <- (newObject DOMNode) result
    touchManagedPtr _obj
    return result'

data DOMMouseEventGetToElementMethodInfo
instance (signature ~ (m DOMNode), MonadIO m, DOMMouseEventK a) => MethodInfo DOMMouseEventGetToElementMethodInfo a signature where
    overloadedMethod _ = dOMMouseEventGetToElement

-- method DOMMouseEvent::get_x
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMMouseEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_mouse_event_get_x" webkit_dom_mouse_event_get_x :: 
    Ptr DOMMouseEvent ->                    -- _obj : TInterface "WebKit2WebExtension" "DOMMouseEvent"
    IO Int64


dOMMouseEventGetX ::
    (MonadIO m, DOMMouseEventK a) =>
    a                                       -- _obj
    -> m Int64                              -- result
dOMMouseEventGetX _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_mouse_event_get_x _obj'
    touchManagedPtr _obj
    return result

data DOMMouseEventGetXMethodInfo
instance (signature ~ (m Int64), MonadIO m, DOMMouseEventK a) => MethodInfo DOMMouseEventGetXMethodInfo a signature where
    overloadedMethod _ = dOMMouseEventGetX

-- method DOMMouseEvent::get_y
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMMouseEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_mouse_event_get_y" webkit_dom_mouse_event_get_y :: 
    Ptr DOMMouseEvent ->                    -- _obj : TInterface "WebKit2WebExtension" "DOMMouseEvent"
    IO Int64


dOMMouseEventGetY ::
    (MonadIO m, DOMMouseEventK a) =>
    a                                       -- _obj
    -> m Int64                              -- result
dOMMouseEventGetY _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_mouse_event_get_y _obj'
    touchManagedPtr _obj
    return result

data DOMMouseEventGetYMethodInfo
instance (signature ~ (m Int64), MonadIO m, DOMMouseEventK a) => MethodInfo DOMMouseEventGetYMethodInfo a signature where
    overloadedMethod _ = dOMMouseEventGetY

-- method DOMMouseEvent::init_mouse_event
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMMouseEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "canBubble", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancelable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "view", argType = TInterface "WebKit2WebExtension" "DOMDOMWindow", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "detail", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screenX", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screenY", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clientX", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clientY", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ctrlKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "altKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shiftKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "metaKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "button", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relatedTarget", argType = TInterface "WebKit2WebExtension" "DOMEventTarget", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_mouse_event_init_mouse_event" webkit_dom_mouse_event_init_mouse_event :: 
    Ptr DOMMouseEvent ->                    -- _obj : TInterface "WebKit2WebExtension" "DOMMouseEvent"
    CString ->                              -- type : TBasicType TUTF8
    CInt ->                                 -- canBubble : TBasicType TBoolean
    CInt ->                                 -- cancelable : TBasicType TBoolean
    Ptr DOMDOMWindow ->                     -- view : TInterface "WebKit2WebExtension" "DOMDOMWindow"
    Int64 ->                                -- detail : TBasicType TInt64
    Int64 ->                                -- screenX : TBasicType TInt64
    Int64 ->                                -- screenY : TBasicType TInt64
    Int64 ->                                -- clientX : TBasicType TInt64
    Int64 ->                                -- clientY : TBasicType TInt64
    CInt ->                                 -- ctrlKey : TBasicType TBoolean
    CInt ->                                 -- altKey : TBasicType TBoolean
    CInt ->                                 -- shiftKey : TBasicType TBoolean
    CInt ->                                 -- metaKey : TBasicType TBoolean
    Word16 ->                               -- button : TBasicType TUInt16
    Ptr DOMEventTarget ->                   -- relatedTarget : TInterface "WebKit2WebExtension" "DOMEventTarget"
    IO ()


dOMMouseEventInitMouseEvent ::
    (MonadIO m, DOMMouseEventK a, DOMDOMWindowK b, DOMEventTargetK c) =>
    a                                       -- _obj
    -> T.Text                               -- type_
    -> Bool                                 -- canBubble
    -> Bool                                 -- cancelable
    -> b                                    -- view
    -> Int64                                -- detail
    -> Int64                                -- screenX
    -> Int64                                -- screenY
    -> Int64                                -- clientX
    -> Int64                                -- clientY
    -> Bool                                 -- ctrlKey
    -> Bool                                 -- altKey
    -> Bool                                 -- shiftKey
    -> Bool                                 -- metaKey
    -> Word16                               -- button
    -> c                                    -- relatedTarget
    -> m ()                                 -- result
dOMMouseEventInitMouseEvent _obj type_ canBubble cancelable view detail screenX screenY clientX clientY ctrlKey altKey shiftKey metaKey button relatedTarget = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    type_' <- textToCString type_
    let canBubble' = (fromIntegral . fromEnum) canBubble
    let cancelable' = (fromIntegral . fromEnum) cancelable
    let view' = unsafeManagedPtrCastPtr view
    let ctrlKey' = (fromIntegral . fromEnum) ctrlKey
    let altKey' = (fromIntegral . fromEnum) altKey
    let shiftKey' = (fromIntegral . fromEnum) shiftKey
    let metaKey' = (fromIntegral . fromEnum) metaKey
    let relatedTarget' = unsafeManagedPtrCastPtr relatedTarget
    webkit_dom_mouse_event_init_mouse_event _obj' type_' canBubble' cancelable' view' detail screenX screenY clientX clientY ctrlKey' altKey' shiftKey' metaKey' button relatedTarget'
    touchManagedPtr _obj
    touchManagedPtr view
    touchManagedPtr relatedTarget
    freeMem type_'
    return ()

data DOMMouseEventInitMouseEventMethodInfo
instance (signature ~ (T.Text -> Bool -> Bool -> b -> Int64 -> Int64 -> Int64 -> Int64 -> Int64 -> Bool -> Bool -> Bool -> Bool -> Word16 -> c -> m ()), MonadIO m, DOMMouseEventK a, DOMDOMWindowK b, DOMEventTargetK c) => MethodInfo DOMMouseEventInitMouseEventMethodInfo a signature where
    overloadedMethod _ = dOMMouseEventInitMouseEvent