{- |
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.DOMWheelEvent
    ( 

-- * Exported types
    DOMWheelEvent(..)                       ,
    IsDOMWheelEvent                         ,
    toDOMWheelEvent                         ,
    noDOMWheelEvent                         ,


 -- * Methods
-- ** getWheelDelta #method:getWheelDelta#
    DOMWheelEventGetWheelDeltaMethodInfo    ,
    dOMWheelEventGetWheelDelta              ,


-- ** getWheelDeltaX #method:getWheelDeltaX#
    DOMWheelEventGetWheelDeltaXMethodInfo   ,
    dOMWheelEventGetWheelDeltaX             ,


-- ** getWheelDeltaY #method:getWheelDeltaY#
    DOMWheelEventGetWheelDeltaYMethodInfo   ,
    dOMWheelEventGetWheelDeltaY             ,


-- ** initWheelEvent #method:initWheelEvent#
    DOMWheelEventInitWheelEventMethodInfo   ,
    dOMWheelEventInitWheelEvent             ,




 -- * Properties
-- ** wheelDelta #attr:wheelDelta#
    DOMWheelEventWheelDeltaPropertyInfo     ,
    dOMWheelEventWheelDelta                 ,
    getDOMWheelEventWheelDelta              ,


-- ** wheelDeltaX #attr:wheelDeltaX#
    DOMWheelEventWheelDeltaXPropertyInfo    ,
    dOMWheelEventWheelDeltaX                ,
    getDOMWheelEventWheelDeltaX             ,


-- ** wheelDeltaY #attr:wheelDeltaY#
    DOMWheelEventWheelDeltaYPropertyInfo    ,
    dOMWheelEventWheelDeltaY                ,
    getDOMWheelEventWheelDeltaY             ,




    ) where

import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P

import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP

import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMDOMWindow as WebKit2WebExtension.DOMDOMWindow
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMEvent as WebKit2WebExtension.DOMEvent
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMMouseEvent as WebKit2WebExtension.DOMMouseEvent
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMObject as WebKit2WebExtension.DOMObject
import {-# SOURCE #-} qualified GI.WebKit2WebExtension.Objects.DOMUIEvent as WebKit2WebExtension.DOMUIEvent

newtype DOMWheelEvent = DOMWheelEvent (ManagedPtr DOMWheelEvent)
foreign import ccall "webkit_dom_wheel_event_get_type"
    c_webkit_dom_wheel_event_get_type :: IO GType

instance GObject DOMWheelEvent where
    gobjectType _ = c_webkit_dom_wheel_event_get_type
    

class GObject o => IsDOMWheelEvent o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError DOMWheelEvent a) =>
    IsDOMWheelEvent a
#endif
instance IsDOMWheelEvent DOMWheelEvent
instance WebKit2WebExtension.DOMMouseEvent.IsDOMMouseEvent DOMWheelEvent
instance WebKit2WebExtension.DOMUIEvent.IsDOMUIEvent DOMWheelEvent
instance WebKit2WebExtension.DOMEvent.IsDOMEvent DOMWheelEvent
instance WebKit2WebExtension.DOMObject.IsDOMObject DOMWheelEvent
instance GObject.Object.IsObject DOMWheelEvent

toDOMWheelEvent :: IsDOMWheelEvent o => o -> IO DOMWheelEvent
toDOMWheelEvent = unsafeCastTo DOMWheelEvent

noDOMWheelEvent :: Maybe DOMWheelEvent
noDOMWheelEvent = Nothing

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

instance (info ~ ResolveDOMWheelEventMethod t DOMWheelEvent, O.MethodInfo info DOMWheelEvent p) => O.IsLabelProxy t (DOMWheelEvent -> p) where
    fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)

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

-- VVV Prop "wheel-delta"
   -- Type: TBasicType TLong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMWheelEventWheelDelta :: (MonadIO m, IsDOMWheelEvent o) => o -> m CLong
getDOMWheelEventWheelDelta obj = liftIO $ getObjectPropertyLong obj "wheel-delta"

data DOMWheelEventWheelDeltaPropertyInfo
instance AttrInfo DOMWheelEventWheelDeltaPropertyInfo where
    type AttrAllowedOps DOMWheelEventWheelDeltaPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMWheelEventWheelDeltaPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMWheelEventWheelDeltaPropertyInfo = IsDOMWheelEvent
    type AttrGetType DOMWheelEventWheelDeltaPropertyInfo = CLong
    type AttrLabel DOMWheelEventWheelDeltaPropertyInfo = "wheel-delta"
    type AttrOrigin DOMWheelEventWheelDeltaPropertyInfo = DOMWheelEvent
    attrGet _ = getDOMWheelEventWheelDelta
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "wheel-delta-x"
   -- Type: TBasicType TLong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMWheelEventWheelDeltaX :: (MonadIO m, IsDOMWheelEvent o) => o -> m CLong
getDOMWheelEventWheelDeltaX obj = liftIO $ getObjectPropertyLong obj "wheel-delta-x"

data DOMWheelEventWheelDeltaXPropertyInfo
instance AttrInfo DOMWheelEventWheelDeltaXPropertyInfo where
    type AttrAllowedOps DOMWheelEventWheelDeltaXPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMWheelEventWheelDeltaXPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMWheelEventWheelDeltaXPropertyInfo = IsDOMWheelEvent
    type AttrGetType DOMWheelEventWheelDeltaXPropertyInfo = CLong
    type AttrLabel DOMWheelEventWheelDeltaXPropertyInfo = "wheel-delta-x"
    type AttrOrigin DOMWheelEventWheelDeltaXPropertyInfo = DOMWheelEvent
    attrGet _ = getDOMWheelEventWheelDeltaX
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "wheel-delta-y"
   -- Type: TBasicType TLong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMWheelEventWheelDeltaY :: (MonadIO m, IsDOMWheelEvent o) => o -> m CLong
getDOMWheelEventWheelDeltaY obj = liftIO $ getObjectPropertyLong obj "wheel-delta-y"

data DOMWheelEventWheelDeltaYPropertyInfo
instance AttrInfo DOMWheelEventWheelDeltaYPropertyInfo where
    type AttrAllowedOps DOMWheelEventWheelDeltaYPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMWheelEventWheelDeltaYPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMWheelEventWheelDeltaYPropertyInfo = IsDOMWheelEvent
    type AttrGetType DOMWheelEventWheelDeltaYPropertyInfo = CLong
    type AttrLabel DOMWheelEventWheelDeltaYPropertyInfo = "wheel-delta-y"
    type AttrOrigin DOMWheelEventWheelDeltaYPropertyInfo = DOMWheelEvent
    attrGet _ = getDOMWheelEventWheelDeltaY
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

instance O.HasAttributeList DOMWheelEvent
type instance O.AttributeList DOMWheelEvent = DOMWheelEventAttributeList
type DOMWheelEventAttributeList = ('[ '("altKey", WebKit2WebExtension.DOMMouseEvent.DOMMouseEventAltKeyPropertyInfo), '("bubbles", WebKit2WebExtension.DOMEvent.DOMEventBubblesPropertyInfo), '("button", WebKit2WebExtension.DOMMouseEvent.DOMMouseEventButtonPropertyInfo), '("cancelBubble", WebKit2WebExtension.DOMEvent.DOMEventCancelBubblePropertyInfo), '("cancelable", WebKit2WebExtension.DOMEvent.DOMEventCancelablePropertyInfo), '("charCode", WebKit2WebExtension.DOMUIEvent.DOMUIEventCharCodePropertyInfo), '("clientX", WebKit2WebExtension.DOMMouseEvent.DOMMouseEventClientXPropertyInfo), '("clientY", WebKit2WebExtension.DOMMouseEvent.DOMMouseEventClientYPropertyInfo), '("coreObject", WebKit2WebExtension.DOMObject.DOMObjectCoreObjectPropertyInfo), '("ctrlKey", WebKit2WebExtension.DOMMouseEvent.DOMMouseEventCtrlKeyPropertyInfo), '("currentTarget", WebKit2WebExtension.DOMEvent.DOMEventCurrentTargetPropertyInfo), '("detail", WebKit2WebExtension.DOMUIEvent.DOMUIEventDetailPropertyInfo), '("eventPhase", WebKit2WebExtension.DOMEvent.DOMEventEventPhasePropertyInfo), '("fromElement", WebKit2WebExtension.DOMMouseEvent.DOMMouseEventFromElementPropertyInfo), '("keyCode", WebKit2WebExtension.DOMUIEvent.DOMUIEventKeyCodePropertyInfo), '("layerX", WebKit2WebExtension.DOMUIEvent.DOMUIEventLayerXPropertyInfo), '("layerY", WebKit2WebExtension.DOMUIEvent.DOMUIEventLayerYPropertyInfo), '("metaKey", WebKit2WebExtension.DOMMouseEvent.DOMMouseEventMetaKeyPropertyInfo), '("offsetX", WebKit2WebExtension.DOMMouseEvent.DOMMouseEventOffsetXPropertyInfo), '("offsetY", WebKit2WebExtension.DOMMouseEvent.DOMMouseEventOffsetYPropertyInfo), '("pageX", WebKit2WebExtension.DOMUIEvent.DOMUIEventPageXPropertyInfo), '("pageY", WebKit2WebExtension.DOMUIEvent.DOMUIEventPageYPropertyInfo), '("relatedTarget", WebKit2WebExtension.DOMMouseEvent.DOMMouseEventRelatedTargetPropertyInfo), '("returnValue", WebKit2WebExtension.DOMEvent.DOMEventReturnValuePropertyInfo), '("screenX", WebKit2WebExtension.DOMMouseEvent.DOMMouseEventScreenXPropertyInfo), '("screenY", WebKit2WebExtension.DOMMouseEvent.DOMMouseEventScreenYPropertyInfo), '("shiftKey", WebKit2WebExtension.DOMMouseEvent.DOMMouseEventShiftKeyPropertyInfo), '("srcElement", WebKit2WebExtension.DOMEvent.DOMEventSrcElementPropertyInfo), '("target", WebKit2WebExtension.DOMEvent.DOMEventTargetPropertyInfo), '("timeStamp", WebKit2WebExtension.DOMEvent.DOMEventTimeStampPropertyInfo), '("toElement", WebKit2WebExtension.DOMMouseEvent.DOMMouseEventToElementPropertyInfo), '("type", WebKit2WebExtension.DOMEvent.DOMEventTypePropertyInfo), '("view", WebKit2WebExtension.DOMUIEvent.DOMUIEventViewPropertyInfo), '("wheelDelta", DOMWheelEventWheelDeltaPropertyInfo), '("wheelDeltaX", DOMWheelEventWheelDeltaXPropertyInfo), '("wheelDeltaY", DOMWheelEventWheelDeltaYPropertyInfo), '("x", WebKit2WebExtension.DOMMouseEvent.DOMMouseEventXPropertyInfo), '("y", WebKit2WebExtension.DOMMouseEvent.DOMMouseEventYPropertyInfo)] :: [(Symbol, *)])

dOMWheelEventWheelDelta :: AttrLabelProxy "wheelDelta"
dOMWheelEventWheelDelta = AttrLabelProxy

dOMWheelEventWheelDeltaX :: AttrLabelProxy "wheelDeltaX"
dOMWheelEventWheelDeltaX = AttrLabelProxy

dOMWheelEventWheelDeltaY :: AttrLabelProxy "wheelDeltaY"
dOMWheelEventWheelDeltaY = AttrLabelProxy

type instance O.SignalList DOMWheelEvent = DOMWheelEventSignalList
type DOMWheelEventSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])

-- method DOMWheelEvent::get_wheel_delta
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMWheelEvent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMWheelEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TLong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_wheel_event_get_wheel_delta" webkit_dom_wheel_event_get_wheel_delta :: 
    Ptr DOMWheelEvent ->                    -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMWheelEvent"})
    IO CLong

{- |
/No description available in the introspection data./
-}
dOMWheelEventGetWheelDelta ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMWheelEvent a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMWheelEvent.DOMWheelEvent' -}
    -> m CLong
    {- ^ __Returns:__ A @/glong/@ -}
dOMWheelEventGetWheelDelta self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_wheel_event_get_wheel_delta self'
    touchManagedPtr self
    return result

data DOMWheelEventGetWheelDeltaMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMWheelEvent a) => O.MethodInfo DOMWheelEventGetWheelDeltaMethodInfo a signature where
    overloadedMethod _ = dOMWheelEventGetWheelDelta

-- method DOMWheelEvent::get_wheel_delta_x
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMWheelEvent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMWheelEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TLong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_wheel_event_get_wheel_delta_x" webkit_dom_wheel_event_get_wheel_delta_x :: 
    Ptr DOMWheelEvent ->                    -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMWheelEvent"})
    IO CLong

{- |
/No description available in the introspection data./
-}
dOMWheelEventGetWheelDeltaX ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMWheelEvent a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMWheelEvent.DOMWheelEvent' -}
    -> m CLong
    {- ^ __Returns:__ A @/glong/@ -}
dOMWheelEventGetWheelDeltaX self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_wheel_event_get_wheel_delta_x self'
    touchManagedPtr self
    return result

data DOMWheelEventGetWheelDeltaXMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMWheelEvent a) => O.MethodInfo DOMWheelEventGetWheelDeltaXMethodInfo a signature where
    overloadedMethod _ = dOMWheelEventGetWheelDeltaX

-- method DOMWheelEvent::get_wheel_delta_y
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMWheelEvent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMWheelEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TLong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_wheel_event_get_wheel_delta_y" webkit_dom_wheel_event_get_wheel_delta_y :: 
    Ptr DOMWheelEvent ->                    -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMWheelEvent"})
    IO CLong

{- |
/No description available in the introspection data./
-}
dOMWheelEventGetWheelDeltaY ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMWheelEvent a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMWheelEvent.DOMWheelEvent' -}
    -> m CLong
    {- ^ __Returns:__ A @/glong/@ -}
dOMWheelEventGetWheelDeltaY self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_wheel_event_get_wheel_delta_y self'
    touchManagedPtr self
    return result

data DOMWheelEventGetWheelDeltaYMethodInfo
instance (signature ~ (m CLong), MonadIO m, IsDOMWheelEvent a) => O.MethodInfo DOMWheelEventGetWheelDeltaYMethodInfo a signature where
    overloadedMethod _ = dOMWheelEventGetWheelDeltaY

-- method DOMWheelEvent::init_wheel_event
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMWheelEvent"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMWheelEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wheelDeltaX", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #glong", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wheelDeltaY", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #glong", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "view", argType = TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMDOMWindow"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMDOMWindow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screenX", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #glong", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "screenY", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #glong", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clientX", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #glong", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clientY", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #glong", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ctrlKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gboolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "altKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gboolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "shiftKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gboolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "metaKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gboolean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_wheel_event_init_wheel_event" webkit_dom_wheel_event_init_wheel_event :: 
    Ptr DOMWheelEvent ->                    -- self : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMWheelEvent"})
    CLong ->                                -- wheelDeltaX : TBasicType TLong
    CLong ->                                -- wheelDeltaY : TBasicType TLong
    Ptr WebKit2WebExtension.DOMDOMWindow.DOMDOMWindow -> -- view : TInterface (Name {namespace = "WebKit2WebExtension", name = "DOMDOMWindow"})
    CLong ->                                -- screenX : TBasicType TLong
    CLong ->                                -- screenY : TBasicType TLong
    CLong ->                                -- clientX : TBasicType TLong
    CLong ->                                -- clientY : TBasicType TLong
    CInt ->                                 -- ctrlKey : TBasicType TBoolean
    CInt ->                                 -- altKey : TBasicType TBoolean
    CInt ->                                 -- shiftKey : TBasicType TBoolean
    CInt ->                                 -- metaKey : TBasicType TBoolean
    IO ()

{- |
/No description available in the introspection data./
-}
dOMWheelEventInitWheelEvent ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMWheelEvent a, WebKit2WebExtension.DOMDOMWindow.IsDOMDOMWindow b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit2WebExtension.Objects.DOMWheelEvent.DOMWheelEvent' -}
    -> CLong
    {- ^ /@wheelDeltaX@/: A @/glong/@ -}
    -> CLong
    {- ^ /@wheelDeltaY@/: A @/glong/@ -}
    -> b
    {- ^ /@view@/: A 'GI.WebKit2WebExtension.Objects.DOMDOMWindow.DOMDOMWindow' -}
    -> CLong
    {- ^ /@screenX@/: A @/glong/@ -}
    -> CLong
    {- ^ /@screenY@/: A @/glong/@ -}
    -> CLong
    {- ^ /@clientX@/: A @/glong/@ -}
    -> CLong
    {- ^ /@clientY@/: A @/glong/@ -}
    -> Bool
    {- ^ /@ctrlKey@/: A 'Bool' -}
    -> Bool
    {- ^ /@altKey@/: A 'Bool' -}
    -> Bool
    {- ^ /@shiftKey@/: A 'Bool' -}
    -> Bool
    {- ^ /@metaKey@/: A 'Bool' -}
    -> m ()
dOMWheelEventInitWheelEvent self wheelDeltaX wheelDeltaY view screenX screenY clientX clientY ctrlKey altKey shiftKey metaKey = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    view' <- unsafeManagedPtrCastPtr view
    let ctrlKey' = (fromIntegral . fromEnum) ctrlKey
    let altKey' = (fromIntegral . fromEnum) altKey
    let shiftKey' = (fromIntegral . fromEnum) shiftKey
    let metaKey' = (fromIntegral . fromEnum) metaKey
    webkit_dom_wheel_event_init_wheel_event self' wheelDeltaX wheelDeltaY view' screenX screenY clientX clientY ctrlKey' altKey' shiftKey' metaKey'
    touchManagedPtr self
    touchManagedPtr view
    return ()

data DOMWheelEventInitWheelEventMethodInfo
instance (signature ~ (CLong -> CLong -> b -> CLong -> CLong -> CLong -> CLong -> Bool -> Bool -> Bool -> Bool -> m ()), MonadIO m, IsDOMWheelEvent a, WebKit2WebExtension.DOMDOMWindow.IsDOMDOMWindow b) => O.MethodInfo DOMWheelEventInitWheelEventMethodInfo a signature where
    overloadedMethod _ = dOMWheelEventInitWheelEvent