{-# LANGUAGE ImplicitParams, RankNTypes, TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Clutter.Objects.StageManager
(
StageManager(..) ,
IsStageManager ,
toStageManager ,
#if defined(ENABLE_OVERLOADING)
ResolveStageManagerMethod ,
#endif
stageManagerGetDefault ,
#if defined(ENABLE_OVERLOADING)
StageManagerGetDefaultStageMethodInfo ,
#endif
stageManagerGetDefaultStage ,
#if defined(ENABLE_OVERLOADING)
StageManagerListStagesMethodInfo ,
#endif
stageManagerListStages ,
#if defined(ENABLE_OVERLOADING)
StageManagerPeekStagesMethodInfo ,
#endif
stageManagerPeekStages ,
#if defined(ENABLE_OVERLOADING)
StageManagerSetDefaultStageMethodInfo ,
#endif
stageManagerSetDefaultStage ,
#if defined(ENABLE_OVERLOADING)
StageManagerDefaultStagePropertyInfo ,
#endif
getStageManagerDefaultStage ,
#if defined(ENABLE_OVERLOADING)
stageManagerDefaultStage ,
#endif
StageManagerStageAddedCallback ,
#if defined(ENABLE_OVERLOADING)
StageManagerStageAddedSignalInfo ,
#endif
afterStageManagerStageAdded ,
onStageManagerStageAdded ,
StageManagerStageRemovedCallback ,
#if defined(ENABLE_OVERLOADING)
StageManagerStageRemovedSignalInfo ,
#endif
afterStageManagerStageRemoved ,
onStageManagerStageRemoved ,
) 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.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.Objects.Stage as Clutter.Stage
import qualified GI.GObject.Objects.Object as GObject.Object
newtype StageManager = StageManager (SP.ManagedPtr StageManager)
deriving (StageManager -> StageManager -> Bool
(StageManager -> StageManager -> Bool)
-> (StageManager -> StageManager -> Bool) -> Eq StageManager
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StageManager -> StageManager -> Bool
$c/= :: StageManager -> StageManager -> Bool
== :: StageManager -> StageManager -> Bool
$c== :: StageManager -> StageManager -> Bool
Eq)
instance SP.ManagedPtrNewtype StageManager where
toManagedPtr :: StageManager -> ManagedPtr StageManager
toManagedPtr (StageManager ManagedPtr StageManager
p) = ManagedPtr StageManager
p
foreign import ccall "clutter_stage_manager_get_type"
c_clutter_stage_manager_get_type :: IO B.Types.GType
instance B.Types.TypedObject StageManager where
glibType :: IO GType
glibType = IO GType
c_clutter_stage_manager_get_type
instance B.Types.GObject StageManager
class (SP.GObject o, O.IsDescendantOf StageManager o) => IsStageManager o
instance (SP.GObject o, O.IsDescendantOf StageManager o) => IsStageManager o
instance O.HasParentTypes StageManager
type instance O.ParentTypes StageManager = '[GObject.Object.Object]
toStageManager :: (MIO.MonadIO m, IsStageManager o) => o -> m StageManager
toStageManager :: forall (m :: * -> *) o.
(MonadIO m, IsStageManager o) =>
o -> m StageManager
toStageManager = IO StageManager -> m StageManager
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO StageManager -> m StageManager)
-> (o -> IO StageManager) -> o -> m StageManager
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr StageManager -> StageManager) -> o -> IO StageManager
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr StageManager -> StageManager
StageManager
instance B.GValue.IsGValue (Maybe StageManager) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_clutter_stage_manager_get_type
gvalueSet_ :: Ptr GValue -> Maybe StageManager -> IO ()
gvalueSet_ Ptr GValue
gv Maybe StageManager
P.Nothing = Ptr GValue -> Ptr StageManager -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr StageManager
forall a. Ptr a
FP.nullPtr :: FP.Ptr StageManager)
gvalueSet_ Ptr GValue
gv (P.Just StageManager
obj) = StageManager -> (Ptr StageManager -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr StageManager
obj (Ptr GValue -> Ptr StageManager -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe StageManager)
gvalueGet_ Ptr GValue
gv = do
Ptr StageManager
ptr <- Ptr GValue -> IO (Ptr StageManager)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr StageManager)
if Ptr StageManager
ptr Ptr StageManager -> Ptr StageManager -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr StageManager
forall a. Ptr a
FP.nullPtr
then StageManager -> Maybe StageManager
forall a. a -> Maybe a
P.Just (StageManager -> Maybe StageManager)
-> IO StageManager -> IO (Maybe StageManager)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr StageManager -> StageManager)
-> Ptr StageManager -> IO StageManager
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr StageManager -> StageManager
StageManager Ptr StageManager
ptr
else Maybe StageManager -> IO (Maybe StageManager)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe StageManager
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveStageManagerMethod (t :: Symbol) (o :: *) :: * where
ResolveStageManagerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveStageManagerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveStageManagerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveStageManagerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveStageManagerMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveStageManagerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveStageManagerMethod "listStages" o = StageManagerListStagesMethodInfo
ResolveStageManagerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveStageManagerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveStageManagerMethod "peekStages" o = StageManagerPeekStagesMethodInfo
ResolveStageManagerMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveStageManagerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveStageManagerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveStageManagerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveStageManagerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveStageManagerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveStageManagerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveStageManagerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveStageManagerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveStageManagerMethod "getDefaultStage" o = StageManagerGetDefaultStageMethodInfo
ResolveStageManagerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveStageManagerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveStageManagerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveStageManagerMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveStageManagerMethod "setDefaultStage" o = StageManagerSetDefaultStageMethodInfo
ResolveStageManagerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveStageManagerMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveStageManagerMethod t StageManager, O.OverloadedMethod info StageManager p) => OL.IsLabel t (StageManager -> 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 ~ ResolveStageManagerMethod t StageManager, O.OverloadedMethod info StageManager p, R.HasField t StageManager p) => R.HasField t StageManager p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveStageManagerMethod t StageManager, O.OverloadedMethodInfo info StageManager) => OL.IsLabel t (O.MethodProxy info StageManager) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
type StageManagerStageAddedCallback =
Clutter.Stage.Stage
-> IO ()
type C_StageManagerStageAddedCallback =
Ptr StageManager ->
Ptr Clutter.Stage.Stage ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_StageManagerStageAddedCallback :: C_StageManagerStageAddedCallback -> IO (FunPtr C_StageManagerStageAddedCallback)
wrap_StageManagerStageAddedCallback ::
GObject a => (a -> StageManagerStageAddedCallback) ->
C_StageManagerStageAddedCallback
wrap_StageManagerStageAddedCallback :: forall a.
GObject a =>
(a -> StageManagerStageAddedCallback)
-> C_StageManagerStageAddedCallback
wrap_StageManagerStageAddedCallback a -> StageManagerStageAddedCallback
gi'cb Ptr StageManager
gi'selfPtr Ptr Stage
stage Ptr ()
_ = do
Stage
stage' <- ((ManagedPtr Stage -> Stage) -> Ptr Stage -> IO Stage
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Stage -> Stage
Clutter.Stage.Stage) Ptr Stage
stage
Ptr StageManager -> (StageManager -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr StageManager
gi'selfPtr ((StageManager -> IO ()) -> IO ())
-> (StageManager -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \StageManager
gi'self -> a -> StageManagerStageAddedCallback
gi'cb (StageManager -> a
Coerce.coerce StageManager
gi'self) Stage
stage'
onStageManagerStageAdded :: (IsStageManager a, MonadIO m) => a -> ((?self :: a) => StageManagerStageAddedCallback) -> m SignalHandlerId
onStageManagerStageAdded :: forall a (m :: * -> *).
(IsStageManager a, MonadIO m) =>
a
-> ((?self::a) => StageManagerStageAddedCallback)
-> m SignalHandlerId
onStageManagerStageAdded a
obj (?self::a) => StageManagerStageAddedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 -> StageManagerStageAddedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => StageManagerStageAddedCallback
StageManagerStageAddedCallback
cb
let wrapped' :: C_StageManagerStageAddedCallback
wrapped' = (a -> StageManagerStageAddedCallback)
-> C_StageManagerStageAddedCallback
forall a.
GObject a =>
(a -> StageManagerStageAddedCallback)
-> C_StageManagerStageAddedCallback
wrap_StageManagerStageAddedCallback a -> StageManagerStageAddedCallback
wrapped
FunPtr C_StageManagerStageAddedCallback
wrapped'' <- C_StageManagerStageAddedCallback
-> IO (FunPtr C_StageManagerStageAddedCallback)
mk_StageManagerStageAddedCallback C_StageManagerStageAddedCallback
wrapped'
a
-> Text
-> FunPtr C_StageManagerStageAddedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"stage-added" FunPtr C_StageManagerStageAddedCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterStageManagerStageAdded :: (IsStageManager a, MonadIO m) => a -> ((?self :: a) => StageManagerStageAddedCallback) -> m SignalHandlerId
afterStageManagerStageAdded :: forall a (m :: * -> *).
(IsStageManager a, MonadIO m) =>
a
-> ((?self::a) => StageManagerStageAddedCallback)
-> m SignalHandlerId
afterStageManagerStageAdded a
obj (?self::a) => StageManagerStageAddedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 -> StageManagerStageAddedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => StageManagerStageAddedCallback
StageManagerStageAddedCallback
cb
let wrapped' :: C_StageManagerStageAddedCallback
wrapped' = (a -> StageManagerStageAddedCallback)
-> C_StageManagerStageAddedCallback
forall a.
GObject a =>
(a -> StageManagerStageAddedCallback)
-> C_StageManagerStageAddedCallback
wrap_StageManagerStageAddedCallback a -> StageManagerStageAddedCallback
wrapped
FunPtr C_StageManagerStageAddedCallback
wrapped'' <- C_StageManagerStageAddedCallback
-> IO (FunPtr C_StageManagerStageAddedCallback)
mk_StageManagerStageAddedCallback C_StageManagerStageAddedCallback
wrapped'
a
-> Text
-> FunPtr C_StageManagerStageAddedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"stage-added" FunPtr C_StageManagerStageAddedCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data StageManagerStageAddedSignalInfo
instance SignalInfo StageManagerStageAddedSignalInfo where
type HaskellCallbackType StageManagerStageAddedSignalInfo = StageManagerStageAddedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_StageManagerStageAddedCallback cb
cb'' <- mk_StageManagerStageAddedCallback cb'
connectSignalFunPtr obj "stage-added" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.StageManager::stage-added"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.2/docs/GI-Clutter-Objects-StageManager.html#g:signal:stageAdded"})
#endif
type StageManagerStageRemovedCallback =
Clutter.Stage.Stage
-> IO ()
type C_StageManagerStageRemovedCallback =
Ptr StageManager ->
Ptr Clutter.Stage.Stage ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_StageManagerStageRemovedCallback :: C_StageManagerStageRemovedCallback -> IO (FunPtr C_StageManagerStageRemovedCallback)
wrap_StageManagerStageRemovedCallback ::
GObject a => (a -> StageManagerStageRemovedCallback) ->
C_StageManagerStageRemovedCallback
wrap_StageManagerStageRemovedCallback :: forall a.
GObject a =>
(a -> StageManagerStageAddedCallback)
-> C_StageManagerStageAddedCallback
wrap_StageManagerStageRemovedCallback a -> StageManagerStageAddedCallback
gi'cb Ptr StageManager
gi'selfPtr Ptr Stage
stage Ptr ()
_ = do
Stage
stage' <- ((ManagedPtr Stage -> Stage) -> Ptr Stage -> IO Stage
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Stage -> Stage
Clutter.Stage.Stage) Ptr Stage
stage
Ptr StageManager -> (StageManager -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr StageManager
gi'selfPtr ((StageManager -> IO ()) -> IO ())
-> (StageManager -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \StageManager
gi'self -> a -> StageManagerStageAddedCallback
gi'cb (StageManager -> a
Coerce.coerce StageManager
gi'self) Stage
stage'
onStageManagerStageRemoved :: (IsStageManager a, MonadIO m) => a -> ((?self :: a) => StageManagerStageRemovedCallback) -> m SignalHandlerId
onStageManagerStageRemoved :: forall a (m :: * -> *).
(IsStageManager a, MonadIO m) =>
a
-> ((?self::a) => StageManagerStageAddedCallback)
-> m SignalHandlerId
onStageManagerStageRemoved a
obj (?self::a) => StageManagerStageAddedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 -> StageManagerStageAddedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => StageManagerStageAddedCallback
StageManagerStageAddedCallback
cb
let wrapped' :: C_StageManagerStageAddedCallback
wrapped' = (a -> StageManagerStageAddedCallback)
-> C_StageManagerStageAddedCallback
forall a.
GObject a =>
(a -> StageManagerStageAddedCallback)
-> C_StageManagerStageAddedCallback
wrap_StageManagerStageRemovedCallback a -> StageManagerStageAddedCallback
wrapped
FunPtr C_StageManagerStageAddedCallback
wrapped'' <- C_StageManagerStageAddedCallback
-> IO (FunPtr C_StageManagerStageAddedCallback)
mk_StageManagerStageRemovedCallback C_StageManagerStageAddedCallback
wrapped'
a
-> Text
-> FunPtr C_StageManagerStageAddedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"stage-removed" FunPtr C_StageManagerStageAddedCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterStageManagerStageRemoved :: (IsStageManager a, MonadIO m) => a -> ((?self :: a) => StageManagerStageRemovedCallback) -> m SignalHandlerId
afterStageManagerStageRemoved :: forall a (m :: * -> *).
(IsStageManager a, MonadIO m) =>
a
-> ((?self::a) => StageManagerStageAddedCallback)
-> m SignalHandlerId
afterStageManagerStageRemoved a
obj (?self::a) => StageManagerStageAddedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
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 -> StageManagerStageAddedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => StageManagerStageAddedCallback
StageManagerStageAddedCallback
cb
let wrapped' :: C_StageManagerStageAddedCallback
wrapped' = (a -> StageManagerStageAddedCallback)
-> C_StageManagerStageAddedCallback
forall a.
GObject a =>
(a -> StageManagerStageAddedCallback)
-> C_StageManagerStageAddedCallback
wrap_StageManagerStageRemovedCallback a -> StageManagerStageAddedCallback
wrapped
FunPtr C_StageManagerStageAddedCallback
wrapped'' <- C_StageManagerStageAddedCallback
-> IO (FunPtr C_StageManagerStageAddedCallback)
mk_StageManagerStageRemovedCallback C_StageManagerStageAddedCallback
wrapped'
a
-> Text
-> FunPtr C_StageManagerStageAddedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"stage-removed" FunPtr C_StageManagerStageAddedCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data StageManagerStageRemovedSignalInfo
instance SignalInfo StageManagerStageRemovedSignalInfo where
type HaskellCallbackType StageManagerStageRemovedSignalInfo = StageManagerStageRemovedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_StageManagerStageRemovedCallback cb
cb'' <- mk_StageManagerStageRemovedCallback cb'
connectSignalFunPtr obj "stage-removed" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.StageManager::stage-removed"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.2/docs/GI-Clutter-Objects-StageManager.html#g:signal:stageRemoved"})
#endif
getStageManagerDefaultStage :: (MonadIO m, IsStageManager o) => o -> m Clutter.Stage.Stage
getStageManagerDefaultStage :: forall (m :: * -> *) o.
(MonadIO m, IsStageManager o) =>
o -> m Stage
getStageManagerDefaultStage o
obj = IO Stage -> m Stage
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Stage -> m Stage) -> IO Stage -> m Stage
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Stage) -> IO Stage
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getStageManagerDefaultStage" (IO (Maybe Stage) -> IO Stage) -> IO (Maybe Stage) -> IO Stage
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr Stage -> Stage) -> IO (Maybe Stage)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"default-stage" ManagedPtr Stage -> Stage
Clutter.Stage.Stage
#if defined(ENABLE_OVERLOADING)
data StageManagerDefaultStagePropertyInfo
instance AttrInfo StageManagerDefaultStagePropertyInfo where
type AttrAllowedOps StageManagerDefaultStagePropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint StageManagerDefaultStagePropertyInfo = IsStageManager
type AttrSetTypeConstraint StageManagerDefaultStagePropertyInfo = (~) ()
type AttrTransferTypeConstraint StageManagerDefaultStagePropertyInfo = (~) ()
type AttrTransferType StageManagerDefaultStagePropertyInfo = ()
type AttrGetType StageManagerDefaultStagePropertyInfo = Clutter.Stage.Stage
type AttrLabel StageManagerDefaultStagePropertyInfo = "default-stage"
type AttrOrigin StageManagerDefaultStagePropertyInfo = StageManager
attrGet = getStageManagerDefaultStage
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.StageManager.defaultStage"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.2/docs/GI-Clutter-Objects-StageManager.html#g:attr:defaultStage"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList StageManager
type instance O.AttributeList StageManager = StageManagerAttributeList
type StageManagerAttributeList = ('[ '("defaultStage", StageManagerDefaultStagePropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
stageManagerDefaultStage :: AttrLabelProxy "defaultStage"
stageManagerDefaultStage = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList StageManager = StageManagerSignalList
type StageManagerSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("stageAdded", StageManagerStageAddedSignalInfo), '("stageRemoved", StageManagerStageRemovedSignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "clutter_stage_manager_get_default_stage" clutter_stage_manager_get_default_stage ::
Ptr StageManager ->
IO (Ptr Clutter.Stage.Stage)
stageManagerGetDefaultStage ::
(B.CallStack.HasCallStack, MonadIO m, IsStageManager a) =>
a
-> m Clutter.Stage.Stage
stageManagerGetDefaultStage :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsStageManager a) =>
a -> m Stage
stageManagerGetDefaultStage a
stageManager = IO Stage -> m Stage
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Stage -> m Stage) -> IO Stage -> m Stage
forall a b. (a -> b) -> a -> b
$ do
Ptr StageManager
stageManager' <- a -> IO (Ptr StageManager)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
stageManager
Ptr Stage
result <- Ptr StageManager -> IO (Ptr Stage)
clutter_stage_manager_get_default_stage Ptr StageManager
stageManager'
Text -> Ptr Stage -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"stageManagerGetDefaultStage" Ptr Stage
result
Stage
result' <- ((ManagedPtr Stage -> Stage) -> Ptr Stage -> IO Stage
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Stage -> Stage
Clutter.Stage.Stage) Ptr Stage
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
stageManager
Stage -> IO Stage
forall (m :: * -> *) a. Monad m => a -> m a
return Stage
result'
#if defined(ENABLE_OVERLOADING)
data StageManagerGetDefaultStageMethodInfo
instance (signature ~ (m Clutter.Stage.Stage), MonadIO m, IsStageManager a) => O.OverloadedMethod StageManagerGetDefaultStageMethodInfo a signature where
overloadedMethod = stageManagerGetDefaultStage
instance O.OverloadedMethodInfo StageManagerGetDefaultStageMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.StageManager.stageManagerGetDefaultStage",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.2/docs/GI-Clutter-Objects-StageManager.html#v:stageManagerGetDefaultStage"
})
#endif
foreign import ccall "clutter_stage_manager_list_stages" clutter_stage_manager_list_stages ::
Ptr StageManager ->
IO (Ptr (GSList (Ptr Clutter.Stage.Stage)))
stageManagerListStages ::
(B.CallStack.HasCallStack, MonadIO m, IsStageManager a) =>
a
-> m [Clutter.Stage.Stage]
stageManagerListStages :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsStageManager a) =>
a -> m [Stage]
stageManagerListStages a
stageManager = IO [Stage] -> m [Stage]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Stage] -> m [Stage]) -> IO [Stage] -> m [Stage]
forall a b. (a -> b) -> a -> b
$ do
Ptr StageManager
stageManager' <- a -> IO (Ptr StageManager)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
stageManager
Ptr (GSList (Ptr Stage))
result <- Ptr StageManager -> IO (Ptr (GSList (Ptr Stage)))
clutter_stage_manager_list_stages Ptr StageManager
stageManager'
[Ptr Stage]
result' <- Ptr (GSList (Ptr Stage)) -> IO [Ptr Stage]
forall a. Ptr (GSList (Ptr a)) -> IO [Ptr a]
unpackGSList Ptr (GSList (Ptr Stage))
result
[Stage]
result'' <- (Ptr Stage -> IO Stage) -> [Ptr Stage] -> IO [Stage]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM ((ManagedPtr Stage -> Stage) -> Ptr Stage -> IO Stage
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Stage -> Stage
Clutter.Stage.Stage) [Ptr Stage]
result'
Ptr (GSList (Ptr Stage)) -> IO ()
forall a. Ptr (GSList a) -> IO ()
g_slist_free Ptr (GSList (Ptr Stage))
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
stageManager
[Stage] -> IO [Stage]
forall (m :: * -> *) a. Monad m => a -> m a
return [Stage]
result''
#if defined(ENABLE_OVERLOADING)
data StageManagerListStagesMethodInfo
instance (signature ~ (m [Clutter.Stage.Stage]), MonadIO m, IsStageManager a) => O.OverloadedMethod StageManagerListStagesMethodInfo a signature where
overloadedMethod = stageManagerListStages
instance O.OverloadedMethodInfo StageManagerListStagesMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.StageManager.stageManagerListStages",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.2/docs/GI-Clutter-Objects-StageManager.html#v:stageManagerListStages"
})
#endif
foreign import ccall "clutter_stage_manager_peek_stages" clutter_stage_manager_peek_stages ::
Ptr StageManager ->
IO (Ptr (GSList (Ptr Clutter.Stage.Stage)))
stageManagerPeekStages ::
(B.CallStack.HasCallStack, MonadIO m, IsStageManager a) =>
a
-> m [Clutter.Stage.Stage]
stageManagerPeekStages :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsStageManager a) =>
a -> m [Stage]
stageManagerPeekStages a
stageManager = IO [Stage] -> m [Stage]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Stage] -> m [Stage]) -> IO [Stage] -> m [Stage]
forall a b. (a -> b) -> a -> b
$ do
Ptr StageManager
stageManager' <- a -> IO (Ptr StageManager)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
stageManager
Ptr (GSList (Ptr Stage))
result <- Ptr StageManager -> IO (Ptr (GSList (Ptr Stage)))
clutter_stage_manager_peek_stages Ptr StageManager
stageManager'
[Ptr Stage]
result' <- Ptr (GSList (Ptr Stage)) -> IO [Ptr Stage]
forall a. Ptr (GSList (Ptr a)) -> IO [Ptr a]
unpackGSList Ptr (GSList (Ptr Stage))
result
[Stage]
result'' <- (Ptr Stage -> IO Stage) -> [Ptr Stage] -> IO [Stage]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM ((ManagedPtr Stage -> Stage) -> Ptr Stage -> IO Stage
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Stage -> Stage
Clutter.Stage.Stage) [Ptr Stage]
result'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
stageManager
[Stage] -> IO [Stage]
forall (m :: * -> *) a. Monad m => a -> m a
return [Stage]
result''
#if defined(ENABLE_OVERLOADING)
data StageManagerPeekStagesMethodInfo
instance (signature ~ (m [Clutter.Stage.Stage]), MonadIO m, IsStageManager a) => O.OverloadedMethod StageManagerPeekStagesMethodInfo a signature where
overloadedMethod = stageManagerPeekStages
instance O.OverloadedMethodInfo StageManagerPeekStagesMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.StageManager.stageManagerPeekStages",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.2/docs/GI-Clutter-Objects-StageManager.html#v:stageManagerPeekStages"
})
#endif
foreign import ccall "clutter_stage_manager_set_default_stage" clutter_stage_manager_set_default_stage ::
Ptr StageManager ->
Ptr Clutter.Stage.Stage ->
IO ()
{-# DEPRECATED stageManagerSetDefaultStage ["(Since version 1.2)","Calling this function has no effect"] #-}
stageManagerSetDefaultStage ::
(B.CallStack.HasCallStack, MonadIO m, IsStageManager a, Clutter.Stage.IsStage b) =>
a
-> b
-> m ()
stageManagerSetDefaultStage :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsStageManager a, IsStage b) =>
a -> b -> m ()
stageManagerSetDefaultStage a
stageManager b
stage = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr StageManager
stageManager' <- a -> IO (Ptr StageManager)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
stageManager
Ptr Stage
stage' <- b -> IO (Ptr Stage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
stage
Ptr StageManager -> Ptr Stage -> IO ()
clutter_stage_manager_set_default_stage Ptr StageManager
stageManager' Ptr Stage
stage'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
stageManager
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
stage
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data StageManagerSetDefaultStageMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsStageManager a, Clutter.Stage.IsStage b) => O.OverloadedMethod StageManagerSetDefaultStageMethodInfo a signature where
overloadedMethod = stageManagerSetDefaultStage
instance O.OverloadedMethodInfo StageManagerSetDefaultStageMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Clutter.Objects.StageManager.stageManagerSetDefaultStage",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-clutter-1.0.2/docs/GI-Clutter-Objects-StageManager.html#v:stageManagerSetDefaultStage"
})
#endif
foreign import ccall "clutter_stage_manager_get_default" clutter_stage_manager_get_default ::
IO (Ptr StageManager)
stageManagerGetDefault ::
(B.CallStack.HasCallStack, MonadIO m) =>
m StageManager
stageManagerGetDefault :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m StageManager
stageManagerGetDefault = IO StageManager -> m StageManager
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO StageManager -> m StageManager)
-> IO StageManager -> m StageManager
forall a b. (a -> b) -> a -> b
$ do
Ptr StageManager
result <- IO (Ptr StageManager)
clutter_stage_manager_get_default
Text -> Ptr StageManager -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"stageManagerGetDefault" Ptr StageManager
result
StageManager
result' <- ((ManagedPtr StageManager -> StageManager)
-> Ptr StageManager -> IO StageManager
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr StageManager -> StageManager
StageManager) Ptr StageManager
result
StageManager -> IO StageManager
forall (m :: * -> *) a. Monad m => a -> m a
return StageManager
result'
#if defined(ENABLE_OVERLOADING)
#endif