{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)

/No description available in the introspection data./
-}

#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
       && !defined(__HADDOCK_VERSION__))

module GI.WebKit2WebExtension.Objects.DOMWheelEvent
    (

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


 -- * Methods
-- ** getWheelDelta #method:getWheelDelta#

#if ENABLE_OVERLOADING
    DOMWheelEventGetWheelDeltaMethodInfo    ,
#endif
    dOMWheelEventGetWheelDelta              ,


-- ** getWheelDeltaX #method:getWheelDeltaX#

#if ENABLE_OVERLOADING
    DOMWheelEventGetWheelDeltaXMethodInfo   ,
#endif
    dOMWheelEventGetWheelDeltaX             ,


-- ** getWheelDeltaY #method:getWheelDeltaY#

#if ENABLE_OVERLOADING
    DOMWheelEventGetWheelDeltaYMethodInfo   ,
#endif
    dOMWheelEventGetWheelDeltaY             ,


-- ** initWheelEvent #method:initWheelEvent#

#if ENABLE_OVERLOADING
    DOMWheelEventInitWheelEventMethodInfo   ,
#endif
    dOMWheelEventInitWheelEvent             ,




 -- * Properties
-- ** wheelDelta #attr:wheelDelta#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMWheelEventWheelDeltaPropertyInfo     ,
#endif
#if ENABLE_OVERLOADING
    dOMWheelEventWheelDelta                 ,
#endif
    getDOMWheelEventWheelDelta              ,


-- ** wheelDeltaX #attr:wheelDeltaX#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMWheelEventWheelDeltaXPropertyInfo    ,
#endif
#if ENABLE_OVERLOADING
    dOMWheelEventWheelDeltaX                ,
#endif
    getDOMWheelEventWheelDeltaX             ,


-- ** wheelDeltaY #attr:wheelDeltaY#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    DOMWheelEventWheelDeltaYPropertyInfo    ,
#endif
#if ENABLE_OVERLOADING
    dOMWheelEventWheelDeltaY                ,
#endif
    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.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
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 GHC.OverloadedLabels as OL

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

-- | Memory-managed wrapper type.
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


-- | Type class for types which can be safely cast to `DOMWheelEvent`, for instance with `toDOMWheelEvent`.
class (GObject o, O.IsDescendantOf DOMWheelEvent o) => IsDOMWheelEvent o
instance (GObject o, O.IsDescendantOf DOMWheelEvent o) => IsDOMWheelEvent o

instance O.HasParentTypes DOMWheelEvent
type instance O.ParentTypes DOMWheelEvent = '[WebKit2WebExtension.DOMMouseEvent.DOMMouseEvent, WebKit2WebExtension.DOMUIEvent.DOMUIEvent, WebKit2WebExtension.DOMEvent.DOMEvent, WebKit2WebExtension.DOMObject.DOMObject, GObject.Object.Object]

-- | Cast to `DOMWheelEvent`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toDOMWheelEvent :: (MonadIO m, IsDOMWheelEvent o) => o -> m DOMWheelEvent
toDOMWheelEvent = liftIO . unsafeCastTo DOMWheelEvent

-- | A convenience alias for `Nothing` :: `Maybe` `DOMWheelEvent`.
noDOMWheelEvent :: Maybe DOMWheelEvent
noDOMWheelEvent = Nothing

#if ENABLE_OVERLOADING
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 "getv" o = GObject.Object.ObjectGetvMethodInfo
    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 "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) => OL.IsLabel t (DOMWheelEvent -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif

#endif

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

{- |
Get the value of the “@wheel-delta@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMWheelEvent #wheelDelta
@
-}
getDOMWheelEventWheelDelta :: (MonadIO m, IsDOMWheelEvent o) => o -> m CLong
getDOMWheelEventWheelDelta obj = liftIO $ B.Properties.getObjectPropertyLong obj "wheel-delta"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@wheel-delta-x@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMWheelEvent #wheelDeltaX
@
-}
getDOMWheelEventWheelDeltaX :: (MonadIO m, IsDOMWheelEvent o) => o -> m CLong
getDOMWheelEventWheelDeltaX obj = liftIO $ B.Properties.getObjectPropertyLong obj "wheel-delta-x"

#if ENABLE_OVERLOADING
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
#endif

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

{- |
Get the value of the “@wheel-delta-y@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' dOMWheelEvent #wheelDeltaY
@
-}
getDOMWheelEventWheelDeltaY :: (MonadIO m, IsDOMWheelEvent o) => o -> m CLong
getDOMWheelEventWheelDeltaY obj = liftIO $ B.Properties.getObjectPropertyLong obj "wheel-delta-y"

#if ENABLE_OVERLOADING
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
#endif

#if ENABLE_OVERLOADING
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, *)])
#endif

#if ENABLE_OVERLOADING
dOMWheelEventWheelDelta :: AttrLabelProxy "wheelDelta"
dOMWheelEventWheelDelta = AttrLabelProxy

dOMWheelEventWheelDeltaX :: AttrLabelProxy "wheelDeltaX"
dOMWheelEventWheelDeltaX = AttrLabelProxy

dOMWheelEventWheelDeltaY :: AttrLabelProxy "wheelDeltaY"
dOMWheelEventWheelDeltaY = AttrLabelProxy

#endif

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

#endif

-- 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

{-# DEPRECATED dOMWheelEventGetWheelDelta ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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

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

#endif

-- 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

{-# DEPRECATED dOMWheelEventGetWheelDeltaX ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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

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

#endif

-- 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

{-# DEPRECATED dOMWheelEventGetWheelDeltaY ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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

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

#endif

-- 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 ()

{-# DEPRECATED dOMWheelEventInitWheelEvent ["(Since version 2.22)","Use JavaScriptCore API instead"] #-}
{- |
/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 ()

#if ENABLE_OVERLOADING
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

#endif