{-# 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.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.Kind as DK
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 qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import qualified GI.Atk.Interfaces.ImplementorIface as Atk.ImplementorIface
import qualified GI.Atk.Objects.Object as Atk.Object
import qualified GI.Cairo.Structs.FontOptions as Cairo.FontOptions
import qualified GI.Cairo.Structs.RectangleInt as Cairo.RectangleInt
import qualified GI.Clutter.Callbacks as Clutter.Callbacks
import {-# SOURCE #-} qualified GI.Clutter.Enums as Clutter.Enums
import {-# SOURCE #-} qualified GI.Clutter.Flags as Clutter.Flags
import {-# SOURCE #-} qualified GI.Clutter.Interfaces.Animatable as Clutter.Animatable
import {-# SOURCE #-} qualified GI.Clutter.Interfaces.Container as Clutter.Container
import {-# SOURCE #-} qualified GI.Clutter.Interfaces.Content as Clutter.Content
import {-# SOURCE #-} qualified GI.Clutter.Interfaces.Scriptable as Clutter.Scriptable
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 {-# SOURCE #-} qualified GI.Clutter.Objects.Alpha as Clutter.Alpha
import {-# SOURCE #-} qualified GI.Clutter.Objects.Animation as Clutter.Animation
import {-# SOURCE #-} qualified GI.Clutter.Objects.Animator as Clutter.Animator
import {-# SOURCE #-} qualified GI.Clutter.Objects.Backend as Clutter.Backend
import {-# SOURCE #-} qualified GI.Clutter.Objects.ChildMeta as Clutter.ChildMeta
import {-# SOURCE #-} qualified GI.Clutter.Objects.Constraint as Clutter.Constraint
import {-# SOURCE #-} qualified GI.Clutter.Objects.DeviceManager as Clutter.DeviceManager
import {-# SOURCE #-} qualified GI.Clutter.Objects.Effect as Clutter.Effect
import {-# SOURCE #-} qualified GI.Clutter.Objects.Group as Clutter.Group
import {-# SOURCE #-} qualified GI.Clutter.Objects.InputDevice as Clutter.InputDevice
import {-# SOURCE #-} qualified GI.Clutter.Objects.Interval as Clutter.Interval
import {-# SOURCE #-} qualified GI.Clutter.Objects.LayoutManager as Clutter.LayoutManager
import {-# SOURCE #-} qualified GI.Clutter.Objects.LayoutMeta as Clutter.LayoutMeta
import {-# SOURCE #-} qualified GI.Clutter.Objects.Script as Clutter.Script
import {-# SOURCE #-} qualified GI.Clutter.Objects.Shader as Clutter.Shader
import {-# SOURCE #-} qualified GI.Clutter.Objects.Stage as Clutter.Stage
import {-# SOURCE #-} qualified GI.Clutter.Objects.State as Clutter.State
import {-# SOURCE #-} qualified GI.Clutter.Objects.Timeline as Clutter.Timeline
import {-# SOURCE #-} qualified GI.Clutter.Objects.Transition as Clutter.Transition
import {-# SOURCE #-} qualified GI.Clutter.Structs.ActorBox as Clutter.ActorBox
import {-# SOURCE #-} qualified GI.Clutter.Structs.AnimatorKey as Clutter.AnimatorKey
import {-# SOURCE #-} qualified GI.Clutter.Structs.ButtonEvent as Clutter.ButtonEvent
import {-# SOURCE #-} qualified GI.Clutter.Structs.Color as Clutter.Color
import {-# SOURCE #-} qualified GI.Clutter.Structs.CrossingEvent as Clutter.CrossingEvent
import {-# SOURCE #-} qualified GI.Clutter.Structs.EventSequence as Clutter.EventSequence
import {-# SOURCE #-} qualified GI.Clutter.Structs.Fog as Clutter.Fog
import {-# SOURCE #-} qualified GI.Clutter.Structs.Geometry as Clutter.Geometry
import {-# SOURCE #-} qualified GI.Clutter.Structs.KeyEvent as Clutter.KeyEvent
import {-# SOURCE #-} qualified GI.Clutter.Structs.Margin as Clutter.Margin
import {-# SOURCE #-} qualified GI.Clutter.Structs.Matrix as Clutter.Matrix
import {-# SOURCE #-} qualified GI.Clutter.Structs.MotionEvent as Clutter.MotionEvent
import {-# SOURCE #-} qualified GI.Clutter.Structs.PaintVolume as Clutter.PaintVolume
import {-# SOURCE #-} qualified GI.Clutter.Structs.Perspective as Clutter.Perspective
import {-# SOURCE #-} qualified GI.Clutter.Structs.Point as Clutter.Point
import {-# SOURCE #-} qualified GI.Clutter.Structs.Rect as Clutter.Rect
import {-# SOURCE #-} qualified GI.Clutter.Structs.ScrollEvent as Clutter.ScrollEvent
import {-# SOURCE #-} qualified GI.Clutter.Structs.Size as Clutter.Size
import {-# SOURCE #-} qualified GI.Clutter.Structs.StateKey as Clutter.StateKey
import {-# SOURCE #-} qualified GI.Clutter.Structs.Vertex as Clutter.Vertex
import {-# SOURCE #-} qualified GI.Clutter.Unions.Event as Clutter.Event
import qualified GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.GObject.Structs.ObjectClass as GObject.ObjectClass
import qualified GI.Gio.Interfaces.ListModel as Gio.ListModel
import qualified GI.Json.Structs.Node as Json.Node
import qualified GI.Pango.Objects.Context as Pango.Context
import qualified GI.Pango.Objects.Layout as Pango.Layout
#else
import {-# SOURCE #-} qualified GI.Clutter.Objects.Stage as Clutter.Stage
import qualified GI.GObject.Objects.Object as GObject.Object
#endif
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
$c== :: StageManager -> StageManager -> Bool
== :: StageManager -> StageManager -> Bool
$c/= :: StageManager -> StageManager -> Bool
/= :: 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 a. IO a -> m a
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 a. a -> IO a
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 :: DK.Type) :: DK.Type 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 o b.
(HasCallStack, GObject o) =>
Ptr o -> (o -> IO b) -> IO b
B.ManagedPtr.withNewObject 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
forall a b. Coercible a b => a -> b
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 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 -> 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 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 -> 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.6/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 o b.
(HasCallStack, GObject o) =>
Ptr o -> (o -> IO b) -> IO b
B.ManagedPtr.withNewObject 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
forall a b. Coercible a b => a -> b
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 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 -> 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 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 -> 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.6/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 a. IO a -> m a
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.6/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, DK.Type)])
#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, DK.Type)])
#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 a. IO a -> m a
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 a. a -> IO a
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.6/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 a. IO a -> m a
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)
forall (m :: * -> *) a b. Monad m => (a -> m b) -> [a] -> m [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 a. a -> IO a
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.6/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 a. IO a -> m a
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)
forall (m :: * -> *) a b. Monad m => (a -> m b) -> [a] -> m [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 a. a -> IO a
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.6/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 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 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 a. a -> IO a
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.6/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 a. IO a -> m a
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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return StageManager
result'
#if defined(ENABLE_OVERLOADING)
#endif