{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gdk.Objects.TouchEvent
(
TouchEvent(..) ,
IsTouchEvent ,
toTouchEvent ,
#if defined(ENABLE_OVERLOADING)
ResolveTouchEventMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
TouchEventGetEmulatingPointerMethodInfo ,
#endif
touchEventGetEmulatingPointer ,
) 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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
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.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
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 GHC.Records as R
import {-# SOURCE #-} qualified GI.Gdk.Objects.Event as Gdk.Event
newtype TouchEvent = TouchEvent (SP.ManagedPtr TouchEvent)
deriving (TouchEvent -> TouchEvent -> Bool
(TouchEvent -> TouchEvent -> Bool)
-> (TouchEvent -> TouchEvent -> Bool) -> Eq TouchEvent
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TouchEvent -> TouchEvent -> Bool
== :: TouchEvent -> TouchEvent -> Bool
$c/= :: TouchEvent -> TouchEvent -> Bool
/= :: TouchEvent -> TouchEvent -> Bool
Eq)
instance SP.ManagedPtrNewtype TouchEvent where
toManagedPtr :: TouchEvent -> ManagedPtr TouchEvent
toManagedPtr (TouchEvent ManagedPtr TouchEvent
p) = ManagedPtr TouchEvent
p
foreign import ccall "gdk_touch_event_get_type"
c_gdk_touch_event_get_type :: IO B.Types.GType
instance B.Types.TypedObject TouchEvent where
glibType :: IO GType
glibType = IO GType
c_gdk_touch_event_get_type
class (SP.BoxedPtr o, SP.TypedObject o, O.IsDescendantOf TouchEvent o) => IsTouchEvent o
instance (SP.BoxedPtr o, SP.TypedObject o, O.IsDescendantOf TouchEvent o) => IsTouchEvent o
instance O.HasParentTypes TouchEvent
type instance O.ParentTypes TouchEvent = '[Gdk.Event.Event]
toTouchEvent :: (MIO.MonadIO m, IsTouchEvent o) => o -> m TouchEvent
toTouchEvent :: forall (m :: * -> *) o.
(MonadIO m, IsTouchEvent o) =>
o -> m TouchEvent
toTouchEvent = IO TouchEvent -> m TouchEvent
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO TouchEvent -> m TouchEvent)
-> (o -> IO TouchEvent) -> o -> m TouchEvent
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr TouchEvent -> TouchEvent) -> o -> IO TouchEvent
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr TouchEvent -> TouchEvent
TouchEvent
#if defined(ENABLE_OVERLOADING)
type family ResolveTouchEventMethod (t :: Symbol) (o :: *) :: * where
ResolveTouchEventMethod "ref" o = Gdk.Event.EventRefMethodInfo
ResolveTouchEventMethod "triggersContextMenu" o = Gdk.Event.EventTriggersContextMenuMethodInfo
ResolveTouchEventMethod "unref" o = Gdk.Event.EventUnrefMethodInfo
ResolveTouchEventMethod "getAxes" o = Gdk.Event.EventGetAxesMethodInfo
ResolveTouchEventMethod "getAxis" o = Gdk.Event.EventGetAxisMethodInfo
ResolveTouchEventMethod "getDevice" o = Gdk.Event.EventGetDeviceMethodInfo
ResolveTouchEventMethod "getDeviceTool" o = Gdk.Event.EventGetDeviceToolMethodInfo
ResolveTouchEventMethod "getDisplay" o = Gdk.Event.EventGetDisplayMethodInfo
ResolveTouchEventMethod "getEmulatingPointer" o = TouchEventGetEmulatingPointerMethodInfo
ResolveTouchEventMethod "getEventSequence" o = Gdk.Event.EventGetEventSequenceMethodInfo
ResolveTouchEventMethod "getEventType" o = Gdk.Event.EventGetEventTypeMethodInfo
ResolveTouchEventMethod "getHistory" o = Gdk.Event.EventGetHistoryMethodInfo
ResolveTouchEventMethod "getModifierState" o = Gdk.Event.EventGetModifierStateMethodInfo
ResolveTouchEventMethod "getPointerEmulated" o = Gdk.Event.EventGetPointerEmulatedMethodInfo
ResolveTouchEventMethod "getPosition" o = Gdk.Event.EventGetPositionMethodInfo
ResolveTouchEventMethod "getSeat" o = Gdk.Event.EventGetSeatMethodInfo
ResolveTouchEventMethod "getSurface" o = Gdk.Event.EventGetSurfaceMethodInfo
ResolveTouchEventMethod "getTime" o = Gdk.Event.EventGetTimeMethodInfo
ResolveTouchEventMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveTouchEventMethod t TouchEvent, O.OverloadedMethod info TouchEvent p) => OL.IsLabel t (TouchEvent -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveTouchEventMethod t TouchEvent, O.OverloadedMethod info TouchEvent p, R.HasField t TouchEvent p) => R.HasField t TouchEvent p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveTouchEventMethod t TouchEvent, O.OverloadedMethodInfo info TouchEvent) => OL.IsLabel t (O.MethodProxy info TouchEvent) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
instance BoxedPtr TouchEvent where
boxedPtrCopy :: TouchEvent -> IO TouchEvent
boxedPtrCopy = TouchEvent -> IO TouchEvent
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return
boxedPtrFree :: TouchEvent -> IO ()
boxedPtrFree = \TouchEvent
_x -> () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "gdk_touch_event_get_emulating_pointer" gdk_touch_event_get_emulating_pointer ::
Ptr TouchEvent ->
IO CInt
touchEventGetEmulatingPointer ::
(B.CallStack.HasCallStack, MonadIO m, IsTouchEvent a) =>
a
-> m Bool
touchEventGetEmulatingPointer :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTouchEvent a) =>
a -> m Bool
touchEventGetEmulatingPointer a
event = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr TouchEvent
event' <- a -> IO (Ptr TouchEvent)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
event
CInt
result <- Ptr TouchEvent -> IO CInt
gdk_touch_event_get_emulating_pointer Ptr TouchEvent
event'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
event
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data TouchEventGetEmulatingPointerMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsTouchEvent a) => O.OverloadedMethod TouchEventGetEmulatingPointerMethodInfo a signature where
overloadedMethod = touchEventGetEmulatingPointer
instance O.OverloadedMethodInfo TouchEventGetEmulatingPointerMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gdk.Objects.TouchEvent.touchEventGetEmulatingPointer",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gdk-4.0.5/docs/GI-Gdk-Objects-TouchEvent.html#v:touchEventGetEmulatingPointer"
})
#endif