{-# LANGUAGE ImplicitParams, RankNTypes, TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Clutter.Objects.ClickAction
(
ClickAction(..) ,
IsClickAction ,
toClickAction ,
#if defined(ENABLE_OVERLOADING)
ResolveClickActionMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
ClickActionGetButtonMethodInfo ,
#endif
clickActionGetButton ,
#if defined(ENABLE_OVERLOADING)
ClickActionGetCoordsMethodInfo ,
#endif
clickActionGetCoords ,
#if defined(ENABLE_OVERLOADING)
ClickActionGetStateMethodInfo ,
#endif
clickActionGetState ,
clickActionNew ,
#if defined(ENABLE_OVERLOADING)
ClickActionReleaseMethodInfo ,
#endif
clickActionRelease ,
#if defined(ENABLE_OVERLOADING)
ClickActionHeldPropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
clickActionHeld ,
#endif
getClickActionHeld ,
#if defined(ENABLE_OVERLOADING)
ClickActionLongPressDurationPropertyInfo,
#endif
#if defined(ENABLE_OVERLOADING)
clickActionLongPressDuration ,
#endif
constructClickActionLongPressDuration ,
getClickActionLongPressDuration ,
setClickActionLongPressDuration ,
#if defined(ENABLE_OVERLOADING)
ClickActionLongPressThresholdPropertyInfo,
#endif
#if defined(ENABLE_OVERLOADING)
clickActionLongPressThreshold ,
#endif
constructClickActionLongPressThreshold ,
getClickActionLongPressThreshold ,
setClickActionLongPressThreshold ,
#if defined(ENABLE_OVERLOADING)
ClickActionPressedPropertyInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
clickActionPressed ,
#endif
getClickActionPressed ,
ClickActionClickedCallback ,
#if defined(ENABLE_OVERLOADING)
ClickActionClickedSignalInfo ,
#endif
afterClickActionClicked ,
onClickActionClicked ,
ClickActionLongPressCallback ,
#if defined(ENABLE_OVERLOADING)
ClickActionLongPressSignalInfo ,
#endif
afterClickActionLongPress ,
onClickActionLongPress ,
) 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.Clutter.Enums as Clutter.Enums
import {-# SOURCE #-} qualified GI.Clutter.Flags as Clutter.Flags
import {-# SOURCE #-} qualified GI.Clutter.Objects.Action as Clutter.Action
import {-# SOURCE #-} qualified GI.Clutter.Objects.Actor as Clutter.Actor
import {-# SOURCE #-} qualified GI.Clutter.Objects.ActorMeta as Clutter.ActorMeta
import qualified GI.GObject.Objects.Object as GObject.Object
newtype ClickAction = ClickAction (SP.ManagedPtr ClickAction)
deriving (ClickAction -> ClickAction -> Bool
(ClickAction -> ClickAction -> Bool)
-> (ClickAction -> ClickAction -> Bool) -> Eq ClickAction
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ClickAction -> ClickAction -> Bool
== :: ClickAction -> ClickAction -> Bool
$c/= :: ClickAction -> ClickAction -> Bool
/= :: ClickAction -> ClickAction -> Bool
Eq)
instance SP.ManagedPtrNewtype ClickAction where
toManagedPtr :: ClickAction -> ManagedPtr ClickAction
toManagedPtr (ClickAction ManagedPtr ClickAction
p) = ManagedPtr ClickAction
p
foreign import ccall "clutter_click_action_get_type"
c_clutter_click_action_get_type :: IO B.Types.GType
instance B.Types.TypedObject ClickAction where
glibType :: IO GType
glibType = IO GType
c_clutter_click_action_get_type
instance B.Types.GObject ClickAction
class (SP.GObject o, O.IsDescendantOf ClickAction o) => IsClickAction o
instance (SP.GObject o, O.IsDescendantOf ClickAction o) => IsClickAction o
instance O.HasParentTypes ClickAction
type instance O.ParentTypes ClickAction = '[Clutter.Action.Action, Clutter.ActorMeta.ActorMeta, GObject.Object.Object]
toClickAction :: (MIO.MonadIO m, IsClickAction o) => o -> m ClickAction
toClickAction :: forall (m :: * -> *) o.
(MonadIO m, IsClickAction o) =>
o -> m ClickAction
toClickAction = IO ClickAction -> m ClickAction
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO ClickAction -> m ClickAction)
-> (o -> IO ClickAction) -> o -> m ClickAction
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr ClickAction -> ClickAction) -> o -> IO ClickAction
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr ClickAction -> ClickAction
ClickAction
instance B.GValue.IsGValue (Maybe ClickAction) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_clutter_click_action_get_type
gvalueSet_ :: Ptr GValue -> Maybe ClickAction -> IO ()
gvalueSet_ Ptr GValue
gv Maybe ClickAction
P.Nothing = Ptr GValue -> Ptr ClickAction -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr ClickAction
forall a. Ptr a
FP.nullPtr :: FP.Ptr ClickAction)
gvalueSet_ Ptr GValue
gv (P.Just ClickAction
obj) = ClickAction -> (Ptr ClickAction -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr ClickAction
obj (Ptr GValue -> Ptr ClickAction -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe ClickAction)
gvalueGet_ Ptr GValue
gv = do
Ptr ClickAction
ptr <- Ptr GValue -> IO (Ptr ClickAction)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr ClickAction)
if Ptr ClickAction
ptr Ptr ClickAction -> Ptr ClickAction -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr ClickAction
forall a. Ptr a
FP.nullPtr
then ClickAction -> Maybe ClickAction
forall a. a -> Maybe a
P.Just (ClickAction -> Maybe ClickAction)
-> IO ClickAction -> IO (Maybe ClickAction)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr ClickAction -> ClickAction)
-> Ptr ClickAction -> IO ClickAction
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr ClickAction -> ClickAction
ClickAction Ptr ClickAction
ptr
else Maybe ClickAction -> IO (Maybe ClickAction)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe ClickAction
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveClickActionMethod (t :: Symbol) (o :: *) :: * where
ResolveClickActionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveClickActionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveClickActionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveClickActionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveClickActionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveClickActionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveClickActionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveClickActionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveClickActionMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveClickActionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveClickActionMethod "release" o = ClickActionReleaseMethodInfo
ResolveClickActionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveClickActionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveClickActionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveClickActionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveClickActionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveClickActionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveClickActionMethod "getActor" o = Clutter.ActorMeta.ActorMetaGetActorMethodInfo
ResolveClickActionMethod "getButton" o = ClickActionGetButtonMethodInfo
ResolveClickActionMethod "getCoords" o = ClickActionGetCoordsMethodInfo
ResolveClickActionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveClickActionMethod "getEnabled" o = Clutter.ActorMeta.ActorMetaGetEnabledMethodInfo
ResolveClickActionMethod "getName" o = Clutter.ActorMeta.ActorMetaGetNameMethodInfo
ResolveClickActionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveClickActionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveClickActionMethod "getState" o = ClickActionGetStateMethodInfo
ResolveClickActionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveClickActionMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveClickActionMethod "setEnabled" o = Clutter.ActorMeta.ActorMetaSetEnabledMethodInfo
ResolveClickActionMethod "setName" o = Clutter.ActorMeta.ActorMetaSetNameMethodInfo
ResolveClickActionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveClickActionMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveClickActionMethod t ClickAction, O.OverloadedMethod info ClickAction p) => OL.IsLabel t (ClickAction -> 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 ~ ResolveClickActionMethod t ClickAction, O.OverloadedMethod info ClickAction p, R.HasField t ClickAction p) => R.HasField t ClickAction p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveClickActionMethod t ClickAction, O.OverloadedMethodInfo info ClickAction) => OL.IsLabel t (O.MethodProxy info ClickAction) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
type ClickActionClickedCallback =
Clutter.Actor.Actor
-> IO ()
type C_ClickActionClickedCallback =
Ptr ClickAction ->
Ptr Clutter.Actor.Actor ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ClickActionClickedCallback :: C_ClickActionClickedCallback -> IO (FunPtr C_ClickActionClickedCallback)
wrap_ClickActionClickedCallback ::
GObject a => (a -> ClickActionClickedCallback) ->
C_ClickActionClickedCallback
wrap_ClickActionClickedCallback :: forall a.
GObject a =>
(a -> ClickActionClickedCallback) -> C_ClickActionClickedCallback
wrap_ClickActionClickedCallback a -> ClickActionClickedCallback
gi'cb Ptr ClickAction
gi'selfPtr Ptr Actor
actor Ptr ()
_ = do
Actor
actor' <- ((ManagedPtr Actor -> Actor) -> Ptr Actor -> IO Actor
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Actor -> Actor
Clutter.Actor.Actor) Ptr Actor
actor
Ptr ClickAction -> (ClickAction -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr ClickAction
gi'selfPtr ((ClickAction -> IO ()) -> IO ())
-> (ClickAction -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ClickAction
gi'self -> a -> ClickActionClickedCallback
gi'cb (ClickAction -> a
forall a b. Coercible a b => a -> b
Coerce.coerce ClickAction
gi'self) Actor
actor'
onClickActionClicked :: (IsClickAction a, MonadIO m) => a -> ((?self :: a) => ClickActionClickedCallback) -> m SignalHandlerId
onClickActionClicked :: forall a (m :: * -> *).
(IsClickAction a, MonadIO m) =>
a
-> ((?self::a) => ClickActionClickedCallback) -> m SignalHandlerId
onClickActionClicked a
obj (?self::a) => ClickActionClickedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ClickActionClickedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ClickActionClickedCallback
ClickActionClickedCallback
cb
let wrapped' :: C_ClickActionClickedCallback
wrapped' = (a -> ClickActionClickedCallback) -> C_ClickActionClickedCallback
forall a.
GObject a =>
(a -> ClickActionClickedCallback) -> C_ClickActionClickedCallback
wrap_ClickActionClickedCallback a -> ClickActionClickedCallback
wrapped
FunPtr C_ClickActionClickedCallback
wrapped'' <- C_ClickActionClickedCallback
-> IO (FunPtr C_ClickActionClickedCallback)
mk_ClickActionClickedCallback C_ClickActionClickedCallback
wrapped'
a
-> Text
-> FunPtr C_ClickActionClickedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"clicked" FunPtr C_ClickActionClickedCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterClickActionClicked :: (IsClickAction a, MonadIO m) => a -> ((?self :: a) => ClickActionClickedCallback) -> m SignalHandlerId
afterClickActionClicked :: forall a (m :: * -> *).
(IsClickAction a, MonadIO m) =>
a
-> ((?self::a) => ClickActionClickedCallback) -> m SignalHandlerId
afterClickActionClicked a
obj (?self::a) => ClickActionClickedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ClickActionClickedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ClickActionClickedCallback
ClickActionClickedCallback
cb
let wrapped' :: C_ClickActionClickedCallback
wrapped' = (a -> ClickActionClickedCallback) -> C_ClickActionClickedCallback
forall a.
GObject a =>
(a -> ClickActionClickedCallback) -> C_ClickActionClickedCallback
wrap_ClickActionClickedCallback a -> ClickActionClickedCallback
wrapped
FunPtr C_ClickActionClickedCallback
wrapped'' <- C_ClickActionClickedCallback
-> IO (FunPtr C_ClickActionClickedCallback)
mk_ClickActionClickedCallback C_ClickActionClickedCallback
wrapped'
a
-> Text
-> FunPtr C_ClickActionClickedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"clicked" FunPtr C_ClickActionClickedCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ClickActionClickedSignalInfo
instance SignalInfo ClickActionClickedSignalInfo where
type HaskellCallbackType ClickActionClickedSignalInfo = ClickActionClickedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ClickActionClickedCallback cb
cb'' <- mk_ClickActionClickedCallback cb'
connectSignalFunPtr obj "clicked" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.ClickAction::clicked"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.3/docs/GI-Clutter-Objects-ClickAction.html#g:signal:clicked"})
#endif
type ClickActionLongPressCallback =
Clutter.Actor.Actor
-> Clutter.Enums.LongPressState
-> IO Bool
type C_ClickActionLongPressCallback =
Ptr ClickAction ->
Ptr Clutter.Actor.Actor ->
CUInt ->
Ptr () ->
IO CInt
foreign import ccall "wrapper"
mk_ClickActionLongPressCallback :: C_ClickActionLongPressCallback -> IO (FunPtr C_ClickActionLongPressCallback)
wrap_ClickActionLongPressCallback ::
GObject a => (a -> ClickActionLongPressCallback) ->
C_ClickActionLongPressCallback
wrap_ClickActionLongPressCallback :: forall a.
GObject a =>
(a -> ClickActionLongPressCallback)
-> C_ClickActionLongPressCallback
wrap_ClickActionLongPressCallback a -> ClickActionLongPressCallback
gi'cb Ptr ClickAction
gi'selfPtr Ptr Actor
actor CUInt
state Ptr ()
_ = do
Actor
actor' <- ((ManagedPtr Actor -> Actor) -> Ptr Actor -> IO Actor
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Actor -> Actor
Clutter.Actor.Actor) Ptr Actor
actor
let state' :: LongPressState
state' = (Int -> LongPressState
forall a. Enum a => Int -> a
toEnum (Int -> LongPressState)
-> (CUInt -> Int) -> CUInt -> LongPressState
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
state
Bool
result <- Ptr ClickAction -> (ClickAction -> IO Bool) -> IO Bool
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr ClickAction
gi'selfPtr ((ClickAction -> IO Bool) -> IO Bool)
-> (ClickAction -> IO Bool) -> IO Bool
forall a b. (a -> b) -> a -> b
$ \ClickAction
gi'self -> a -> ClickActionLongPressCallback
gi'cb (ClickAction -> a
forall a b. Coercible a b => a -> b
Coerce.coerce ClickAction
gi'self) Actor
actor' LongPressState
state'
let result' :: CInt
result' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
result
CInt -> IO CInt
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CInt
result'
onClickActionLongPress :: (IsClickAction a, MonadIO m) => a -> ((?self :: a) => ClickActionLongPressCallback) -> m SignalHandlerId
onClickActionLongPress :: forall a (m :: * -> *).
(IsClickAction a, MonadIO m) =>
a
-> ((?self::a) => ClickActionLongPressCallback)
-> m SignalHandlerId
onClickActionLongPress a
obj (?self::a) => ClickActionLongPressCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ClickActionLongPressCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ClickActionLongPressCallback
ClickActionLongPressCallback
cb
let wrapped' :: C_ClickActionLongPressCallback
wrapped' = (a -> ClickActionLongPressCallback)
-> C_ClickActionLongPressCallback
forall a.
GObject a =>
(a -> ClickActionLongPressCallback)
-> C_ClickActionLongPressCallback
wrap_ClickActionLongPressCallback a -> ClickActionLongPressCallback
wrapped
FunPtr C_ClickActionLongPressCallback
wrapped'' <- C_ClickActionLongPressCallback
-> IO (FunPtr C_ClickActionLongPressCallback)
mk_ClickActionLongPressCallback C_ClickActionLongPressCallback
wrapped'
a
-> Text
-> FunPtr C_ClickActionLongPressCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"long-press" FunPtr C_ClickActionLongPressCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterClickActionLongPress :: (IsClickAction a, MonadIO m) => a -> ((?self :: a) => ClickActionLongPressCallback) -> m SignalHandlerId
afterClickActionLongPress :: forall a (m :: * -> *).
(IsClickAction a, MonadIO m) =>
a
-> ((?self::a) => ClickActionLongPressCallback)
-> m SignalHandlerId
afterClickActionLongPress a
obj (?self::a) => ClickActionLongPressCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ClickActionLongPressCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ClickActionLongPressCallback
ClickActionLongPressCallback
cb
let wrapped' :: C_ClickActionLongPressCallback
wrapped' = (a -> ClickActionLongPressCallback)
-> C_ClickActionLongPressCallback
forall a.
GObject a =>
(a -> ClickActionLongPressCallback)
-> C_ClickActionLongPressCallback
wrap_ClickActionLongPressCallback a -> ClickActionLongPressCallback
wrapped
FunPtr C_ClickActionLongPressCallback
wrapped'' <- C_ClickActionLongPressCallback
-> IO (FunPtr C_ClickActionLongPressCallback)
mk_ClickActionLongPressCallback C_ClickActionLongPressCallback
wrapped'
a
-> Text
-> FunPtr C_ClickActionLongPressCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"long-press" FunPtr C_ClickActionLongPressCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ClickActionLongPressSignalInfo
instance SignalInfo ClickActionLongPressSignalInfo where
type HaskellCallbackType ClickActionLongPressSignalInfo = ClickActionLongPressCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ClickActionLongPressCallback cb
cb'' <- mk_ClickActionLongPressCallback cb'
connectSignalFunPtr obj "long-press" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.ClickAction::long-press"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.3/docs/GI-Clutter-Objects-ClickAction.html#g:signal:longPress"})
#endif
getClickActionHeld :: (MonadIO m, IsClickAction o) => o -> m Bool
getClickActionHeld :: forall (m :: * -> *) o. (MonadIO m, IsClickAction o) => o -> m Bool
getClickActionHeld o
obj = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"held"
#if defined(ENABLE_OVERLOADING)
data ClickActionHeldPropertyInfo
instance AttrInfo ClickActionHeldPropertyInfo where
type AttrAllowedOps ClickActionHeldPropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint ClickActionHeldPropertyInfo = IsClickAction
type AttrSetTypeConstraint ClickActionHeldPropertyInfo = (~) ()
type AttrTransferTypeConstraint ClickActionHeldPropertyInfo = (~) ()
type AttrTransferType ClickActionHeldPropertyInfo = ()
type AttrGetType ClickActionHeldPropertyInfo = Bool
type AttrLabel ClickActionHeldPropertyInfo = "held"
type AttrOrigin ClickActionHeldPropertyInfo = ClickAction
attrGet = getClickActionHeld
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.ClickAction.held"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.3/docs/GI-Clutter-Objects-ClickAction.html#g:attr:held"
})
#endif
getClickActionLongPressDuration :: (MonadIO m, IsClickAction o) => o -> m Int32
getClickActionLongPressDuration :: forall (m :: * -> *) o.
(MonadIO m, IsClickAction o) =>
o -> m Int32
getClickActionLongPressDuration o
obj = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Int32
forall a. GObject a => a -> String -> IO Int32
B.Properties.getObjectPropertyInt32 o
obj String
"long-press-duration"
setClickActionLongPressDuration :: (MonadIO m, IsClickAction o) => o -> Int32 -> m ()
setClickActionLongPressDuration :: forall (m :: * -> *) o.
(MonadIO m, IsClickAction o) =>
o -> Int32 -> m ()
setClickActionLongPressDuration o
obj Int32
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Int32 -> IO ()
forall a. GObject a => a -> String -> Int32 -> IO ()
B.Properties.setObjectPropertyInt32 o
obj String
"long-press-duration" Int32
val
constructClickActionLongPressDuration :: (IsClickAction o, MIO.MonadIO m) => Int32 -> m (GValueConstruct o)
constructClickActionLongPressDuration :: forall o (m :: * -> *).
(IsClickAction o, MonadIO m) =>
Int32 -> m (GValueConstruct o)
constructClickActionLongPressDuration Int32
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Int32 -> IO (GValueConstruct o)
forall o. String -> Int32 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyInt32 String
"long-press-duration" Int32
val
#if defined(ENABLE_OVERLOADING)
data ClickActionLongPressDurationPropertyInfo
instance AttrInfo ClickActionLongPressDurationPropertyInfo where
type AttrAllowedOps ClickActionLongPressDurationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint ClickActionLongPressDurationPropertyInfo = IsClickAction
type AttrSetTypeConstraint ClickActionLongPressDurationPropertyInfo = (~) Int32
type AttrTransferTypeConstraint ClickActionLongPressDurationPropertyInfo = (~) Int32
type AttrTransferType ClickActionLongPressDurationPropertyInfo = Int32
type AttrGetType ClickActionLongPressDurationPropertyInfo = Int32
type AttrLabel ClickActionLongPressDurationPropertyInfo = "long-press-duration"
type AttrOrigin ClickActionLongPressDurationPropertyInfo = ClickAction
attrGet = getClickActionLongPressDuration
attrSet = setClickActionLongPressDuration
attrTransfer _ v = do
return v
attrConstruct = constructClickActionLongPressDuration
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.ClickAction.longPressDuration"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.3/docs/GI-Clutter-Objects-ClickAction.html#g:attr:longPressDuration"
})
#endif
getClickActionLongPressThreshold :: (MonadIO m, IsClickAction o) => o -> m Int32
getClickActionLongPressThreshold :: forall (m :: * -> *) o.
(MonadIO m, IsClickAction o) =>
o -> m Int32
getClickActionLongPressThreshold o
obj = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Int32
forall a. GObject a => a -> String -> IO Int32
B.Properties.getObjectPropertyInt32 o
obj String
"long-press-threshold"
setClickActionLongPressThreshold :: (MonadIO m, IsClickAction o) => o -> Int32 -> m ()
setClickActionLongPressThreshold :: forall (m :: * -> *) o.
(MonadIO m, IsClickAction o) =>
o -> Int32 -> m ()
setClickActionLongPressThreshold o
obj Int32
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Int32 -> IO ()
forall a. GObject a => a -> String -> Int32 -> IO ()
B.Properties.setObjectPropertyInt32 o
obj String
"long-press-threshold" Int32
val
constructClickActionLongPressThreshold :: (IsClickAction o, MIO.MonadIO m) => Int32 -> m (GValueConstruct o)
constructClickActionLongPressThreshold :: forall o (m :: * -> *).
(IsClickAction o, MonadIO m) =>
Int32 -> m (GValueConstruct o)
constructClickActionLongPressThreshold Int32
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Int32 -> IO (GValueConstruct o)
forall o. String -> Int32 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyInt32 String
"long-press-threshold" Int32
val
#if defined(ENABLE_OVERLOADING)
data ClickActionLongPressThresholdPropertyInfo
instance AttrInfo ClickActionLongPressThresholdPropertyInfo where
type AttrAllowedOps ClickActionLongPressThresholdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint ClickActionLongPressThresholdPropertyInfo = IsClickAction
type AttrSetTypeConstraint ClickActionLongPressThresholdPropertyInfo = (~) Int32
type AttrTransferTypeConstraint ClickActionLongPressThresholdPropertyInfo = (~) Int32
type AttrTransferType ClickActionLongPressThresholdPropertyInfo = Int32
type AttrGetType ClickActionLongPressThresholdPropertyInfo = Int32
type AttrLabel ClickActionLongPressThresholdPropertyInfo = "long-press-threshold"
type AttrOrigin ClickActionLongPressThresholdPropertyInfo = ClickAction
attrGet = getClickActionLongPressThreshold
attrSet = setClickActionLongPressThreshold
attrTransfer _ v = do
return v
attrConstruct = constructClickActionLongPressThreshold
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.ClickAction.longPressThreshold"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.3/docs/GI-Clutter-Objects-ClickAction.html#g:attr:longPressThreshold"
})
#endif
getClickActionPressed :: (MonadIO m, IsClickAction o) => o -> m Bool
getClickActionPressed :: forall (m :: * -> *) o. (MonadIO m, IsClickAction o) => o -> m Bool
getClickActionPressed o
obj = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"pressed"
#if defined(ENABLE_OVERLOADING)
data ClickActionPressedPropertyInfo
instance AttrInfo ClickActionPressedPropertyInfo where
type AttrAllowedOps ClickActionPressedPropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint ClickActionPressedPropertyInfo = IsClickAction
type AttrSetTypeConstraint ClickActionPressedPropertyInfo = (~) ()
type AttrTransferTypeConstraint ClickActionPressedPropertyInfo = (~) ()
type AttrTransferType ClickActionPressedPropertyInfo = ()
type AttrGetType ClickActionPressedPropertyInfo = Bool
type AttrLabel ClickActionPressedPropertyInfo = "pressed"
type AttrOrigin ClickActionPressedPropertyInfo = ClickAction
attrGet = getClickActionPressed
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.ClickAction.pressed"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.3/docs/GI-Clutter-Objects-ClickAction.html#g:attr:pressed"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList ClickAction
type instance O.AttributeList ClickAction = ClickActionAttributeList
type ClickActionAttributeList = ('[ '("actor", Clutter.ActorMeta.ActorMetaActorPropertyInfo), '("enabled", Clutter.ActorMeta.ActorMetaEnabledPropertyInfo), '("held", ClickActionHeldPropertyInfo), '("longPressDuration", ClickActionLongPressDurationPropertyInfo), '("longPressThreshold", ClickActionLongPressThresholdPropertyInfo), '("name", Clutter.ActorMeta.ActorMetaNamePropertyInfo), '("pressed", ClickActionPressedPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
clickActionHeld :: AttrLabelProxy "held"
clickActionHeld = AttrLabelProxy
clickActionLongPressDuration :: AttrLabelProxy "longPressDuration"
clickActionLongPressDuration = AttrLabelProxy
clickActionLongPressThreshold :: AttrLabelProxy "longPressThreshold"
clickActionLongPressThreshold = AttrLabelProxy
clickActionPressed :: AttrLabelProxy "pressed"
clickActionPressed = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList ClickAction = ClickActionSignalList
type ClickActionSignalList = ('[ '("clicked", ClickActionClickedSignalInfo), '("longPress", ClickActionLongPressSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "clutter_click_action_new" clutter_click_action_new ::
IO (Ptr ClickAction)
clickActionNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m ClickAction
clickActionNew :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m ClickAction
clickActionNew = IO ClickAction -> m ClickAction
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ClickAction -> m ClickAction)
-> IO ClickAction -> m ClickAction
forall a b. (a -> b) -> a -> b
$ do
Ptr ClickAction
result <- IO (Ptr ClickAction)
clutter_click_action_new
Text -> Ptr ClickAction -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"clickActionNew" Ptr ClickAction
result
ClickAction
result' <- ((ManagedPtr ClickAction -> ClickAction)
-> Ptr ClickAction -> IO ClickAction
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr ClickAction -> ClickAction
ClickAction) Ptr ClickAction
result
ClickAction -> IO ClickAction
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ClickAction
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "clutter_click_action_get_button" clutter_click_action_get_button ::
Ptr ClickAction ->
IO Word32
clickActionGetButton ::
(B.CallStack.HasCallStack, MonadIO m, IsClickAction a) =>
a
-> m Word32
clickActionGetButton :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsClickAction a) =>
a -> m Word32
clickActionGetButton a
action = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
Ptr ClickAction
action' <- a -> IO (Ptr ClickAction)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
action
Word32
result <- Ptr ClickAction -> IO Word32
clutter_click_action_get_button Ptr ClickAction
action'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
action
Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
#if defined(ENABLE_OVERLOADING)
data ClickActionGetButtonMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsClickAction a) => O.OverloadedMethod ClickActionGetButtonMethodInfo a signature where
overloadedMethod = clickActionGetButton
instance O.OverloadedMethodInfo ClickActionGetButtonMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.ClickAction.clickActionGetButton",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.3/docs/GI-Clutter-Objects-ClickAction.html#v:clickActionGetButton"
})
#endif
foreign import ccall "clutter_click_action_get_coords" clutter_click_action_get_coords ::
Ptr ClickAction ->
Ptr CFloat ->
Ptr CFloat ->
IO ()
clickActionGetCoords ::
(B.CallStack.HasCallStack, MonadIO m, IsClickAction a) =>
a
-> m ((Float, Float))
clickActionGetCoords :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsClickAction a) =>
a -> m (Float, Float)
clickActionGetCoords a
action = IO (Float, Float) -> m (Float, Float)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Float, Float) -> m (Float, Float))
-> IO (Float, Float) -> m (Float, Float)
forall a b. (a -> b) -> a -> b
$ do
Ptr ClickAction
action' <- a -> IO (Ptr ClickAction)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
action
Ptr CFloat
pressX <- IO (Ptr CFloat)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CFloat)
Ptr CFloat
pressY <- IO (Ptr CFloat)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CFloat)
Ptr ClickAction -> Ptr CFloat -> Ptr CFloat -> IO ()
clutter_click_action_get_coords Ptr ClickAction
action' Ptr CFloat
pressX Ptr CFloat
pressY
CFloat
pressX' <- Ptr CFloat -> IO CFloat
forall a. Storable a => Ptr a -> IO a
peek Ptr CFloat
pressX
let pressX'' :: Float
pressX'' = CFloat -> Float
forall a b. (Real a, Fractional b) => a -> b
realToFrac CFloat
pressX'
CFloat
pressY' <- Ptr CFloat -> IO CFloat
forall a. Storable a => Ptr a -> IO a
peek Ptr CFloat
pressY
let pressY'' :: Float
pressY'' = CFloat -> Float
forall a b. (Real a, Fractional b) => a -> b
realToFrac CFloat
pressY'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
action
Ptr CFloat -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CFloat
pressX
Ptr CFloat -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CFloat
pressY
(Float, Float) -> IO (Float, Float)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Float
pressX'', Float
pressY'')
#if defined(ENABLE_OVERLOADING)
data ClickActionGetCoordsMethodInfo
instance (signature ~ (m ((Float, Float))), MonadIO m, IsClickAction a) => O.OverloadedMethod ClickActionGetCoordsMethodInfo a signature where
overloadedMethod = clickActionGetCoords
instance O.OverloadedMethodInfo ClickActionGetCoordsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.ClickAction.clickActionGetCoords",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.3/docs/GI-Clutter-Objects-ClickAction.html#v:clickActionGetCoords"
})
#endif
foreign import ccall "clutter_click_action_get_state" clutter_click_action_get_state ::
Ptr ClickAction ->
IO CUInt
clickActionGetState ::
(B.CallStack.HasCallStack, MonadIO m, IsClickAction a) =>
a
-> m [Clutter.Flags.ModifierType]
clickActionGetState :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsClickAction a) =>
a -> m [ModifierType]
clickActionGetState a
action = IO [ModifierType] -> m [ModifierType]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [ModifierType] -> m [ModifierType])
-> IO [ModifierType] -> m [ModifierType]
forall a b. (a -> b) -> a -> b
$ do
Ptr ClickAction
action' <- a -> IO (Ptr ClickAction)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
action
CUInt
result <- Ptr ClickAction -> IO CUInt
clutter_click_action_get_state Ptr ClickAction
action'
let result' :: [ModifierType]
result' = CUInt -> [ModifierType]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
action
[ModifierType] -> IO [ModifierType]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [ModifierType]
result'
#if defined(ENABLE_OVERLOADING)
data ClickActionGetStateMethodInfo
instance (signature ~ (m [Clutter.Flags.ModifierType]), MonadIO m, IsClickAction a) => O.OverloadedMethod ClickActionGetStateMethodInfo a signature where
overloadedMethod = clickActionGetState
instance O.OverloadedMethodInfo ClickActionGetStateMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.ClickAction.clickActionGetState",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.3/docs/GI-Clutter-Objects-ClickAction.html#v:clickActionGetState"
})
#endif
foreign import ccall "clutter_click_action_release" clutter_click_action_release ::
Ptr ClickAction ->
IO ()
clickActionRelease ::
(B.CallStack.HasCallStack, MonadIO m, IsClickAction a) =>
a
-> m ()
clickActionRelease :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsClickAction a) =>
a -> m ()
clickActionRelease a
action = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr ClickAction
action' <- a -> IO (Ptr ClickAction)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
action
Ptr ClickAction -> IO ()
clutter_click_action_release Ptr ClickAction
action'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
action
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ClickActionReleaseMethodInfo
instance (signature ~ (m ()), MonadIO m, IsClickAction a) => O.OverloadedMethod ClickActionReleaseMethodInfo a signature where
overloadedMethod = clickActionRelease
instance O.OverloadedMethodInfo ClickActionReleaseMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.ClickAction.clickActionRelease",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.3/docs/GI-Clutter-Objects-ClickAction.html#v:clickActionRelease"
})
#endif