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

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


 -- * Methods
-- ** dOMWheelEventGetDeltaMode
    dOMWheelEventGetDeltaMode               ,


-- ** dOMWheelEventGetDeltaX
    dOMWheelEventGetDeltaX                  ,


-- ** dOMWheelEventGetDeltaY
    dOMWheelEventGetDeltaY                  ,


-- ** dOMWheelEventGetDeltaZ
    dOMWheelEventGetDeltaZ                  ,


-- ** dOMWheelEventGetWebkitDirectionInvertedFromDevice
    dOMWheelEventGetWebkitDirectionInvertedFromDevice,


-- ** dOMWheelEventGetWheelDelta
    dOMWheelEventGetWheelDelta              ,


-- ** dOMWheelEventGetWheelDeltaX
    dOMWheelEventGetWheelDeltaX             ,


-- ** dOMWheelEventGetWheelDeltaY
    dOMWheelEventGetWheelDeltaY             ,


-- ** dOMWheelEventInitWheelEvent
    dOMWheelEventInitWheelEvent             ,




 -- * Properties
-- ** DeltaMode
    DOMWheelEventDeltaModePropertyInfo      ,
    getDOMWheelEventDeltaMode               ,


-- ** DeltaX
    DOMWheelEventDeltaXPropertyInfo         ,
    getDOMWheelEventDeltaX                  ,


-- ** DeltaY
    DOMWheelEventDeltaYPropertyInfo         ,
    getDOMWheelEventDeltaY                  ,


-- ** DeltaZ
    DOMWheelEventDeltaZPropertyInfo         ,
    getDOMWheelEventDeltaZ                  ,


-- ** WebkitDirectionInvertedFromDevice
    DOMWheelEventWebkitDirectionInvertedFromDevicePropertyInfo,
    getDOMWheelEventWebkitDirectionInvertedFromDevice,


-- ** WheelDelta
    DOMWheelEventWheelDeltaPropertyInfo     ,
    getDOMWheelEventWheelDelta              ,


-- ** WheelDeltaX
    DOMWheelEventWheelDeltaXPropertyInfo    ,
    getDOMWheelEventWheelDeltaX             ,


-- ** WheelDeltaY
    DOMWheelEventWheelDeltaYPropertyInfo    ,
    getDOMWheelEventWheelDeltaY             ,




    ) 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.WebKit.Types
import GI.WebKit.Callbacks
import qualified GI.GObject as GObject

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

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

instance GObject DOMWheelEvent where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_webkit_dom_wheel_event_get_type
    

class GObject o => DOMWheelEventK o
instance (GObject o, IsDescendantOf DOMWheelEvent o) => DOMWheelEventK o

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

noDOMWheelEvent :: Maybe DOMWheelEvent
noDOMWheelEvent = Nothing

-- VVV Prop "delta-mode"
   -- Type: TBasicType TUInt64
   -- Flags: [PropertyReadable]

getDOMWheelEventDeltaMode :: (MonadIO m, DOMWheelEventK o) => o -> m Word64
getDOMWheelEventDeltaMode obj = liftIO $ getObjectPropertyUInt64 obj "delta-mode"

data DOMWheelEventDeltaModePropertyInfo
instance AttrInfo DOMWheelEventDeltaModePropertyInfo where
    type AttrAllowedOps DOMWheelEventDeltaModePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMWheelEventDeltaModePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMWheelEventDeltaModePropertyInfo = DOMWheelEventK
    type AttrGetType DOMWheelEventDeltaModePropertyInfo = Word64
    type AttrLabel DOMWheelEventDeltaModePropertyInfo = "DOMWheelEvent::delta-mode"
    attrGet _ = getDOMWheelEventDeltaMode
    attrSet _ = undefined
    attrConstruct _ = undefined

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

getDOMWheelEventDeltaX :: (MonadIO m, DOMWheelEventK o) => o -> m Double
getDOMWheelEventDeltaX obj = liftIO $ getObjectPropertyDouble obj "delta-x"

data DOMWheelEventDeltaXPropertyInfo
instance AttrInfo DOMWheelEventDeltaXPropertyInfo where
    type AttrAllowedOps DOMWheelEventDeltaXPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMWheelEventDeltaXPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMWheelEventDeltaXPropertyInfo = DOMWheelEventK
    type AttrGetType DOMWheelEventDeltaXPropertyInfo = Double
    type AttrLabel DOMWheelEventDeltaXPropertyInfo = "DOMWheelEvent::delta-x"
    attrGet _ = getDOMWheelEventDeltaX
    attrSet _ = undefined
    attrConstruct _ = undefined

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

getDOMWheelEventDeltaY :: (MonadIO m, DOMWheelEventK o) => o -> m Double
getDOMWheelEventDeltaY obj = liftIO $ getObjectPropertyDouble obj "delta-y"

data DOMWheelEventDeltaYPropertyInfo
instance AttrInfo DOMWheelEventDeltaYPropertyInfo where
    type AttrAllowedOps DOMWheelEventDeltaYPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMWheelEventDeltaYPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMWheelEventDeltaYPropertyInfo = DOMWheelEventK
    type AttrGetType DOMWheelEventDeltaYPropertyInfo = Double
    type AttrLabel DOMWheelEventDeltaYPropertyInfo = "DOMWheelEvent::delta-y"
    attrGet _ = getDOMWheelEventDeltaY
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "delta-z"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable]

getDOMWheelEventDeltaZ :: (MonadIO m, DOMWheelEventK o) => o -> m Double
getDOMWheelEventDeltaZ obj = liftIO $ getObjectPropertyDouble obj "delta-z"

data DOMWheelEventDeltaZPropertyInfo
instance AttrInfo DOMWheelEventDeltaZPropertyInfo where
    type AttrAllowedOps DOMWheelEventDeltaZPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMWheelEventDeltaZPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMWheelEventDeltaZPropertyInfo = DOMWheelEventK
    type AttrGetType DOMWheelEventDeltaZPropertyInfo = Double
    type AttrLabel DOMWheelEventDeltaZPropertyInfo = "DOMWheelEvent::delta-z"
    attrGet _ = getDOMWheelEventDeltaZ
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "webkit-direction-inverted-from-device"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMWheelEventWebkitDirectionInvertedFromDevice :: (MonadIO m, DOMWheelEventK o) => o -> m Bool
getDOMWheelEventWebkitDirectionInvertedFromDevice obj = liftIO $ getObjectPropertyBool obj "webkit-direction-inverted-from-device"

data DOMWheelEventWebkitDirectionInvertedFromDevicePropertyInfo
instance AttrInfo DOMWheelEventWebkitDirectionInvertedFromDevicePropertyInfo where
    type AttrAllowedOps DOMWheelEventWebkitDirectionInvertedFromDevicePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMWheelEventWebkitDirectionInvertedFromDevicePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMWheelEventWebkitDirectionInvertedFromDevicePropertyInfo = DOMWheelEventK
    type AttrGetType DOMWheelEventWebkitDirectionInvertedFromDevicePropertyInfo = Bool
    type AttrLabel DOMWheelEventWebkitDirectionInvertedFromDevicePropertyInfo = "DOMWheelEvent::webkit-direction-inverted-from-device"
    attrGet _ = getDOMWheelEventWebkitDirectionInvertedFromDevice
    attrSet _ = undefined
    attrConstruct _ = undefined

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

getDOMWheelEventWheelDelta :: (MonadIO m, DOMWheelEventK o) => o -> m Int64
getDOMWheelEventWheelDelta obj = liftIO $ getObjectPropertyInt64 obj "wheel-delta"

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

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

getDOMWheelEventWheelDeltaX :: (MonadIO m, DOMWheelEventK o) => o -> m Int64
getDOMWheelEventWheelDeltaX obj = liftIO $ getObjectPropertyInt64 obj "wheel-delta-x"

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

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

getDOMWheelEventWheelDeltaY :: (MonadIO m, DOMWheelEventK o) => o -> m Int64
getDOMWheelEventWheelDeltaY obj = liftIO $ getObjectPropertyInt64 obj "wheel-delta-y"

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

type instance AttributeList DOMWheelEvent = DOMWheelEventAttributeList
type DOMWheelEventAttributeList = ('[ '("alt-key", DOMMouseEventAltKeyPropertyInfo), '("bubbles", DOMEventBubblesPropertyInfo), '("button", DOMMouseEventButtonPropertyInfo), '("cancel-bubble", DOMEventCancelBubblePropertyInfo), '("cancelable", DOMEventCancelablePropertyInfo), '("char-code", DOMUIEventCharCodePropertyInfo), '("client-x", DOMMouseEventClientXPropertyInfo), '("client-y", DOMMouseEventClientYPropertyInfo), '("core-object", DOMObjectCoreObjectPropertyInfo), '("ctrl-key", DOMMouseEventCtrlKeyPropertyInfo), '("current-target", DOMEventCurrentTargetPropertyInfo), '("default-prevented", DOMEventDefaultPreventedPropertyInfo), '("delta-mode", DOMWheelEventDeltaModePropertyInfo), '("delta-x", DOMWheelEventDeltaXPropertyInfo), '("delta-y", DOMWheelEventDeltaYPropertyInfo), '("delta-z", DOMWheelEventDeltaZPropertyInfo), '("detail", DOMUIEventDetailPropertyInfo), '("event-phase", DOMEventEventPhasePropertyInfo), '("from-element", DOMMouseEventFromElementPropertyInfo), '("key-code", DOMUIEventKeyCodePropertyInfo), '("layer-x", DOMUIEventLayerXPropertyInfo), '("layer-y", DOMUIEventLayerYPropertyInfo), '("meta-key", DOMMouseEventMetaKeyPropertyInfo), '("offset-x", DOMMouseEventOffsetXPropertyInfo), '("offset-y", DOMMouseEventOffsetYPropertyInfo), '("page-x", DOMUIEventPageXPropertyInfo), '("page-y", DOMUIEventPageYPropertyInfo), '("related-target", DOMMouseEventRelatedTargetPropertyInfo), '("return-value", DOMEventReturnValuePropertyInfo), '("screen-x", DOMMouseEventScreenXPropertyInfo), '("screen-y", DOMMouseEventScreenYPropertyInfo), '("shift-key", DOMMouseEventShiftKeyPropertyInfo), '("src-element", DOMEventSrcElementPropertyInfo), '("target", DOMEventTargetPropertyInfo), '("time-stamp", DOMEventTimeStampPropertyInfo), '("to-element", DOMMouseEventToElementPropertyInfo), '("type", DOMEventTypePropertyInfo), '("view", DOMUIEventViewPropertyInfo), '("webkit-direction-inverted-from-device", DOMWheelEventWebkitDirectionInvertedFromDevicePropertyInfo), '("webkit-movement-x", DOMMouseEventWebkitMovementXPropertyInfo), '("webkit-movement-y", DOMMouseEventWebkitMovementYPropertyInfo), '("wheel-delta", DOMWheelEventWheelDeltaPropertyInfo), '("wheel-delta-x", DOMWheelEventWheelDeltaXPropertyInfo), '("wheel-delta-y", DOMWheelEventWheelDeltaYPropertyInfo), '("which", DOMUIEventWhichPropertyInfo), '("x", DOMMouseEventXPropertyInfo), '("y", DOMMouseEventYPropertyInfo)] :: [(Symbol, *)])

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

-- method DOMWheelEvent::get_delta_mode
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMWheelEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMWheelEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_wheel_event_get_delta_mode" webkit_dom_wheel_event_get_delta_mode :: 
    Ptr DOMWheelEvent ->                    -- _obj : TInterface "WebKit" "DOMWheelEvent"
    IO Word64


dOMWheelEventGetDeltaMode ::
    (MonadIO m, DOMWheelEventK a) =>
    a ->                                    -- _obj
    m Word64
dOMWheelEventGetDeltaMode _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_wheel_event_get_delta_mode _obj'
    touchManagedPtr _obj
    return result

-- method DOMWheelEvent::get_delta_x
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMWheelEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMWheelEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TDouble
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_wheel_event_get_delta_x" webkit_dom_wheel_event_get_delta_x :: 
    Ptr DOMWheelEvent ->                    -- _obj : TInterface "WebKit" "DOMWheelEvent"
    IO CDouble


dOMWheelEventGetDeltaX ::
    (MonadIO m, DOMWheelEventK a) =>
    a ->                                    -- _obj
    m Double
dOMWheelEventGetDeltaX _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_wheel_event_get_delta_x _obj'
    let result' = realToFrac result
    touchManagedPtr _obj
    return result'

-- method DOMWheelEvent::get_delta_y
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMWheelEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMWheelEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TDouble
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_wheel_event_get_delta_y" webkit_dom_wheel_event_get_delta_y :: 
    Ptr DOMWheelEvent ->                    -- _obj : TInterface "WebKit" "DOMWheelEvent"
    IO CDouble


dOMWheelEventGetDeltaY ::
    (MonadIO m, DOMWheelEventK a) =>
    a ->                                    -- _obj
    m Double
dOMWheelEventGetDeltaY _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_wheel_event_get_delta_y _obj'
    let result' = realToFrac result
    touchManagedPtr _obj
    return result'

-- method DOMWheelEvent::get_delta_z
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMWheelEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMWheelEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TDouble
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_wheel_event_get_delta_z" webkit_dom_wheel_event_get_delta_z :: 
    Ptr DOMWheelEvent ->                    -- _obj : TInterface "WebKit" "DOMWheelEvent"
    IO CDouble


dOMWheelEventGetDeltaZ ::
    (MonadIO m, DOMWheelEventK a) =>
    a ->                                    -- _obj
    m Double
dOMWheelEventGetDeltaZ _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_wheel_event_get_delta_z _obj'
    let result' = realToFrac result
    touchManagedPtr _obj
    return result'

-- method DOMWheelEvent::get_webkit_direction_inverted_from_device
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMWheelEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMWheelEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_wheel_event_get_webkit_direction_inverted_from_device" webkit_dom_wheel_event_get_webkit_direction_inverted_from_device :: 
    Ptr DOMWheelEvent ->                    -- _obj : TInterface "WebKit" "DOMWheelEvent"
    IO CInt


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

-- method DOMWheelEvent::get_wheel_delta
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMWheelEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMWheelEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_wheel_event_get_wheel_delta" webkit_dom_wheel_event_get_wheel_delta :: 
    Ptr DOMWheelEvent ->                    -- _obj : TInterface "WebKit" "DOMWheelEvent"
    IO Int64


dOMWheelEventGetWheelDelta ::
    (MonadIO m, DOMWheelEventK a) =>
    a ->                                    -- _obj
    m Int64
dOMWheelEventGetWheelDelta _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_wheel_event_get_wheel_delta _obj'
    touchManagedPtr _obj
    return result

-- method DOMWheelEvent::get_wheel_delta_x
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMWheelEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMWheelEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- 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 ->                    -- _obj : TInterface "WebKit" "DOMWheelEvent"
    IO Int64


dOMWheelEventGetWheelDeltaX ::
    (MonadIO m, DOMWheelEventK a) =>
    a ->                                    -- _obj
    m Int64
dOMWheelEventGetWheelDeltaX _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_wheel_event_get_wheel_delta_x _obj'
    touchManagedPtr _obj
    return result

-- method DOMWheelEvent::get_wheel_delta_y
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMWheelEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMWheelEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TInt64
-- 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 ->                    -- _obj : TInterface "WebKit" "DOMWheelEvent"
    IO Int64


dOMWheelEventGetWheelDeltaY ::
    (MonadIO m, DOMWheelEventK a) =>
    a ->                                    -- _obj
    m Int64
dOMWheelEventGetWheelDeltaY _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_wheel_event_get_wheel_delta_y _obj'
    touchManagedPtr _obj
    return result

-- method DOMWheelEvent::init_wheel_event
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMWheelEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wheelDeltaX", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wheelDeltaY", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "view", argType = TInterface "WebKit" "DOMDOMWindow", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screenX", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screenY", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "clientX", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "clientY", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ctrlKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "altKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shiftKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "metaKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMWheelEvent", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wheelDeltaX", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "wheelDeltaY", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "view", argType = TInterface "WebKit" "DOMDOMWindow", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screenX", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "screenY", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "clientX", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "clientY", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ctrlKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "altKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "shiftKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "metaKey", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_wheel_event_init_wheel_event" webkit_dom_wheel_event_init_wheel_event :: 
    Ptr DOMWheelEvent ->                    -- _obj : TInterface "WebKit" "DOMWheelEvent"
    Int64 ->                                -- wheelDeltaX : TBasicType TInt64
    Int64 ->                                -- wheelDeltaY : TBasicType TInt64
    Ptr DOMDOMWindow ->                     -- view : TInterface "WebKit" "DOMDOMWindow"
    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
    IO ()


dOMWheelEventInitWheelEvent ::
    (MonadIO m, DOMWheelEventK a, DOMDOMWindowK b) =>
    a ->                                    -- _obj
    Int64 ->                                -- wheelDeltaX
    Int64 ->                                -- wheelDeltaY
    b ->                                    -- view
    Int64 ->                                -- screenX
    Int64 ->                                -- screenY
    Int64 ->                                -- clientX
    Int64 ->                                -- clientY
    Bool ->                                 -- ctrlKey
    Bool ->                                 -- altKey
    Bool ->                                 -- shiftKey
    Bool ->                                 -- metaKey
    m ()
dOMWheelEventInitWheelEvent _obj wheelDeltaX wheelDeltaY view screenX screenY clientX clientY ctrlKey altKey shiftKey metaKey = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    let 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 _obj' wheelDeltaX wheelDeltaY view' screenX screenY clientX clientY ctrlKey' altKey' shiftKey' metaKey'
    touchManagedPtr _obj
    touchManagedPtr view
    return ()