#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Clutter.Functions
(
baseInit ,
cairoClear ,
cairoSetSourceColor ,
checkVersion ,
checkWindowingBackend ,
clearGlyphCache ,
disableAccessibility ,
doEvent ,
eventsPending ,
featureAvailable ,
featureGetAll ,
frameSourceAdd ,
getAccessibilityEnabled ,
getActorByGid ,
getCurrentEvent ,
getCurrentEventTime ,
getDebugEnabled ,
getDefaultBackend ,
getDefaultFrameRate ,
getDefaultTextDirection ,
getFontFlags ,
getFontMap ,
getInputDeviceForId ,
getKeyboardGrab ,
getMotionEventsEnabled ,
getPointerGrab ,
getScriptId ,
getShowFps ,
getTimestamp ,
grabKeyboard ,
grabPointer ,
grabPointerForDevice ,
init ,
initWithArgs ,
keysymToUnicode ,
main ,
mainLevel ,
mainQuit ,
redraw ,
setDefaultFrameRate ,
setFontFlags ,
setMotionEventsEnabled ,
setWindowingBackend ,
testAddDataFull ,
testCheckActorAtPoint ,
testCheckColorAtPoint ,
testGetStage ,
testInit ,
testRun ,
threadsAddFrameSource ,
threadsAddIdle ,
threadsAddRepaintFunc ,
threadsAddRepaintFuncFull ,
threadsAddTimeout ,
threadsEnter ,
threadsInit ,
threadsLeave ,
threadsRemoveRepaintFunc ,
ungrabKeyboard ,
ungrabPointer ,
ungrabPointerForDevice ,
unicodeToKeysym ,
utilNextP2 ,
valueDupPaintNode ,
valueGetColor ,
valueGetPaintNode ,
valueGetShaderFloat ,
valueGetShaderInt ,
valueGetShaderMatrix ,
valueGetUnits ,
valueSetColor ,
valueSetPaintNode ,
valueSetShaderFloat ,
valueSetShaderInt ,
valueSetShaderMatrix ,
valueSetUnits ,
valueTakePaintNode ,
) 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.Context as Cairo.Context
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.PaintNode as Clutter.PaintNode
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.Units as Clutter.Units
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.GLib.Structs.OptionEntry as GLib.OptionEntry
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.FontMap as Pango.FontMap
import qualified GI.Pango.Objects.Layout as Pango.Layout
#else
import qualified GI.Cairo.Structs.Context as Cairo.Context
import {-# SOURCE #-} qualified GI.Clutter.Enums as Clutter.Enums
import {-# SOURCE #-} qualified GI.Clutter.Flags as Clutter.Flags
import {-# SOURCE #-} qualified GI.Clutter.Objects.Actor as Clutter.Actor
import {-# SOURCE #-} qualified GI.Clutter.Objects.Backend as Clutter.Backend
import {-# SOURCE #-} qualified GI.Clutter.Objects.InputDevice as Clutter.InputDevice
import {-# SOURCE #-} qualified GI.Clutter.Objects.PaintNode as Clutter.PaintNode
import {-# SOURCE #-} qualified GI.Clutter.Objects.Stage as Clutter.Stage
import {-# SOURCE #-} qualified GI.Clutter.Structs.Color as Clutter.Color
import {-# SOURCE #-} qualified GI.Clutter.Structs.Point as Clutter.Point
import {-# SOURCE #-} qualified GI.Clutter.Structs.Units as Clutter.Units
import {-# SOURCE #-} qualified GI.Clutter.Unions.Event as Clutter.Event
import qualified GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GLib.Structs.OptionEntry as GLib.OptionEntry
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Pango.Objects.FontMap as Pango.FontMap
#endif
foreign import ccall "clutter_value_take_paint_node" clutter_value_take_paint_node ::
Ptr GValue ->
Ptr Clutter.PaintNode.PaintNode ->
IO ()
valueTakePaintNode ::
(B.CallStack.HasCallStack, MonadIO m, Clutter.PaintNode.IsPaintNode a) =>
GValue
-> Maybe (a)
-> m ()
valueTakePaintNode :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPaintNode a) =>
GValue -> Maybe a -> m ()
valueTakePaintNode GValue
value Maybe a
node = 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 GValue
value' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
value
Ptr PaintNode
maybeNode <- case Maybe a
node of
Maybe a
Nothing -> Ptr PaintNode -> IO (Ptr PaintNode)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr PaintNode
forall a. Ptr a
nullPtr
Just a
jNode -> do
Ptr PaintNode
jNode' <- a -> IO (Ptr PaintNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
jNode
Ptr PaintNode -> IO (Ptr PaintNode)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr PaintNode
jNode'
Ptr GValue -> Ptr PaintNode -> IO ()
clutter_value_take_paint_node Ptr GValue
value' Ptr PaintNode
maybeNode
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
value
Maybe a -> (a -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe a
node a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_value_set_units" clutter_value_set_units ::
Ptr GValue ->
Ptr Clutter.Units.Units ->
IO ()
valueSetUnits ::
(B.CallStack.HasCallStack, MonadIO m) =>
GValue
-> Clutter.Units.Units
-> m ()
valueSetUnits :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
GValue -> Units -> m ()
valueSetUnits GValue
value Units
units = 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 GValue
value' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
value
Ptr Units
units' <- Units -> IO (Ptr Units)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Units
units
Ptr GValue -> Ptr Units -> IO ()
clutter_value_set_units Ptr GValue
value' Ptr Units
units'
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
value
Units -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Units
units
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_value_set_shader_matrix" clutter_value_set_shader_matrix ::
Ptr GValue ->
Int32 ->
Ptr CFloat ->
IO ()
valueSetShaderMatrix ::
(B.CallStack.HasCallStack, MonadIO m) =>
GValue
-> [Float]
-> m ()
valueSetShaderMatrix :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
GValue -> [Float] -> m ()
valueSetShaderMatrix GValue
value [Float]
matrix = 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
let size :: Int32
size = Int -> Int32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> Int32) -> Int -> Int32
forall a b. (a -> b) -> a -> b
$ [Float] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
P.length [Float]
matrix
Ptr GValue
value' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
value
Ptr CFloat
matrix' <- ((Float -> CFloat) -> [Float] -> IO (Ptr CFloat)
forall a b. Storable b => (a -> b) -> [a] -> IO (Ptr b)
packMapStorableArray Float -> CFloat
forall a b. (Real a, Fractional b) => a -> b
realToFrac) [Float]
matrix
Ptr GValue -> Int32 -> Ptr CFloat -> IO ()
clutter_value_set_shader_matrix Ptr GValue
value' Int32
size Ptr CFloat
matrix'
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
value
Ptr CFloat -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CFloat
matrix'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_value_set_shader_int" clutter_value_set_shader_int ::
Ptr GValue ->
Int32 ->
Ptr Int32 ->
IO ()
valueSetShaderInt ::
(B.CallStack.HasCallStack, MonadIO m) =>
GValue
-> [Int32]
-> m ()
valueSetShaderInt :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
GValue -> [Int32] -> m ()
valueSetShaderInt GValue
value [Int32]
ints = 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
let size :: Int32
size = Int -> Int32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> Int32) -> Int -> Int32
forall a b. (a -> b) -> a -> b
$ [Int32] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
P.length [Int32]
ints
Ptr GValue
value' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
value
Ptr Int32
ints' <- [Int32] -> IO (Ptr Int32)
forall a. Storable a => [a] -> IO (Ptr a)
packStorableArray [Int32]
ints
Ptr GValue -> Int32 -> Ptr Int32 -> IO ()
clutter_value_set_shader_int Ptr GValue
value' Int32
size Ptr Int32
ints'
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
value
Ptr Int32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Int32
ints'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_value_set_shader_float" clutter_value_set_shader_float ::
Ptr GValue ->
Int32 ->
Ptr CFloat ->
IO ()
valueSetShaderFloat ::
(B.CallStack.HasCallStack, MonadIO m) =>
GValue
-> [Float]
-> m ()
valueSetShaderFloat :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
GValue -> [Float] -> m ()
valueSetShaderFloat GValue
value [Float]
floats = 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
let size :: Int32
size = Int -> Int32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> Int32) -> Int -> Int32
forall a b. (a -> b) -> a -> b
$ [Float] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
P.length [Float]
floats
Ptr GValue
value' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
value
Ptr CFloat
floats' <- ((Float -> CFloat) -> [Float] -> IO (Ptr CFloat)
forall a b. Storable b => (a -> b) -> [a] -> IO (Ptr b)
packMapStorableArray Float -> CFloat
forall a b. (Real a, Fractional b) => a -> b
realToFrac) [Float]
floats
Ptr GValue -> Int32 -> Ptr CFloat -> IO ()
clutter_value_set_shader_float Ptr GValue
value' Int32
size Ptr CFloat
floats'
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
value
Ptr CFloat -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CFloat
floats'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_value_set_paint_node" clutter_value_set_paint_node ::
Ptr GValue ->
Ptr Clutter.PaintNode.PaintNode ->
IO ()
valueSetPaintNode ::
(B.CallStack.HasCallStack, MonadIO m, Clutter.PaintNode.IsPaintNode a) =>
GValue
-> Maybe (a)
-> m ()
valueSetPaintNode :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsPaintNode a) =>
GValue -> Maybe a -> m ()
valueSetPaintNode GValue
value Maybe a
node = 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 GValue
value' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
value
Ptr PaintNode
maybeNode <- case Maybe a
node of
Maybe a
Nothing -> Ptr PaintNode -> IO (Ptr PaintNode)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr PaintNode
forall a. Ptr a
nullPtr
Just a
jNode -> do
Ptr PaintNode
jNode' <- a -> IO (Ptr PaintNode)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
jNode
Ptr PaintNode -> IO (Ptr PaintNode)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr PaintNode
jNode'
Ptr GValue -> Ptr PaintNode -> IO ()
clutter_value_set_paint_node Ptr GValue
value' Ptr PaintNode
maybeNode
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
value
Maybe a -> (a -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe a
node a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_value_set_color" clutter_value_set_color ::
Ptr GValue ->
Ptr Clutter.Color.Color ->
IO ()
valueSetColor ::
(B.CallStack.HasCallStack, MonadIO m) =>
GValue
-> Clutter.Color.Color
-> m ()
valueSetColor :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
GValue -> Color -> m ()
valueSetColor GValue
value Color
color = 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 GValue
value' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
value
Ptr Color
color' <- Color -> IO (Ptr Color)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Color
color
Ptr GValue -> Ptr Color -> IO ()
clutter_value_set_color Ptr GValue
value' Ptr Color
color'
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
value
Color -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Color
color
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_value_get_units" clutter_value_get_units ::
Ptr GValue ->
IO (Ptr Clutter.Units.Units)
valueGetUnits ::
(B.CallStack.HasCallStack, MonadIO m) =>
GValue
-> m Clutter.Units.Units
valueGetUnits :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
GValue -> m Units
valueGetUnits GValue
value = IO Units -> m Units
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Units -> m Units) -> IO Units -> m Units
forall a b. (a -> b) -> a -> b
$ do
Ptr GValue
value' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
value
Ptr Units
result <- Ptr GValue -> IO (Ptr Units)
clutter_value_get_units Ptr GValue
value'
Text -> Ptr Units -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"valueGetUnits" Ptr Units
result
Units
result' <- ((ManagedPtr Units -> Units) -> Ptr Units -> IO Units
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Units -> Units
Clutter.Units.Units) Ptr Units
result
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
value
Units -> IO Units
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Units
result'
foreign import ccall "clutter_value_get_shader_matrix" clutter_value_get_shader_matrix ::
Ptr GValue ->
Ptr FCT.CSize ->
IO (Ptr CFloat)
valueGetShaderMatrix ::
(B.CallStack.HasCallStack, MonadIO m) =>
GValue
-> m [Float]
valueGetShaderMatrix :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
GValue -> m [Float]
valueGetShaderMatrix GValue
value = IO [Float] -> m [Float]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Float] -> m [Float]) -> IO [Float] -> m [Float]
forall a b. (a -> b) -> a -> b
$ do
Ptr GValue
value' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
value
Ptr CSize
length_ <- IO (Ptr CSize)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr FCT.CSize)
Ptr CFloat
result <- Ptr GValue -> Ptr CSize -> IO (Ptr CFloat)
clutter_value_get_shader_matrix Ptr GValue
value' Ptr CSize
length_
CSize
length_' <- Ptr CSize -> IO CSize
forall a. Storable a => Ptr a -> IO a
peek Ptr CSize
length_
Text -> Ptr CFloat -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"valueGetShaderMatrix" Ptr CFloat
result
[Float]
result' <- ((CFloat -> Float) -> CSize -> Ptr CFloat -> IO [Float]
forall a b c.
(Integral a, Storable b) =>
(b -> c) -> a -> Ptr b -> IO [c]
unpackMapStorableArrayWithLength CFloat -> Float
forall a b. (Real a, Fractional b) => a -> b
realToFrac CSize
length_') Ptr CFloat
result
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
value
Ptr CSize -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CSize
length_
[Float] -> IO [Float]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [Float]
result'
foreign import ccall "clutter_value_get_shader_int" clutter_value_get_shader_int ::
Ptr GValue ->
Ptr FCT.CSize ->
IO (Ptr Int32)
valueGetShaderInt ::
(B.CallStack.HasCallStack, MonadIO m) =>
GValue
-> m [Int32]
valueGetShaderInt :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
GValue -> m [Int32]
valueGetShaderInt GValue
value = IO [Int32] -> m [Int32]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Int32] -> m [Int32]) -> IO [Int32] -> m [Int32]
forall a b. (a -> b) -> a -> b
$ do
Ptr GValue
value' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
value
Ptr CSize
length_ <- IO (Ptr CSize)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr FCT.CSize)
Ptr Int32
result <- Ptr GValue -> Ptr CSize -> IO (Ptr Int32)
clutter_value_get_shader_int Ptr GValue
value' Ptr CSize
length_
CSize
length_' <- Ptr CSize -> IO CSize
forall a. Storable a => Ptr a -> IO a
peek Ptr CSize
length_
Text -> Ptr Int32 -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"valueGetShaderInt" Ptr Int32
result
[Int32]
result' <- (CSize -> Ptr Int32 -> IO [Int32]
forall a b. (Integral a, Storable b) => a -> Ptr b -> IO [b]
unpackStorableArrayWithLength CSize
length_') Ptr Int32
result
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
value
Ptr CSize -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CSize
length_
[Int32] -> IO [Int32]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [Int32]
result'
foreign import ccall "clutter_value_get_shader_float" clutter_value_get_shader_float ::
Ptr GValue ->
Ptr FCT.CSize ->
IO (Ptr CFloat)
valueGetShaderFloat ::
(B.CallStack.HasCallStack, MonadIO m) =>
GValue
-> m [Float]
valueGetShaderFloat :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
GValue -> m [Float]
valueGetShaderFloat GValue
value = IO [Float] -> m [Float]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Float] -> m [Float]) -> IO [Float] -> m [Float]
forall a b. (a -> b) -> a -> b
$ do
Ptr GValue
value' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
value
Ptr CSize
length_ <- IO (Ptr CSize)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr FCT.CSize)
Ptr CFloat
result <- Ptr GValue -> Ptr CSize -> IO (Ptr CFloat)
clutter_value_get_shader_float Ptr GValue
value' Ptr CSize
length_
CSize
length_' <- Ptr CSize -> IO CSize
forall a. Storable a => Ptr a -> IO a
peek Ptr CSize
length_
Text -> Ptr CFloat -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"valueGetShaderFloat" Ptr CFloat
result
[Float]
result' <- ((CFloat -> Float) -> CSize -> Ptr CFloat -> IO [Float]
forall a b c.
(Integral a, Storable b) =>
(b -> c) -> a -> Ptr b -> IO [c]
unpackMapStorableArrayWithLength CFloat -> Float
forall a b. (Real a, Fractional b) => a -> b
realToFrac CSize
length_') Ptr CFloat
result
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
value
Ptr CSize -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CSize
length_
[Float] -> IO [Float]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [Float]
result'
foreign import ccall "clutter_value_get_paint_node" clutter_value_get_paint_node ::
Ptr GValue ->
IO (Ptr Clutter.PaintNode.PaintNode)
valueGetPaintNode ::
(B.CallStack.HasCallStack, MonadIO m) =>
GValue
-> m Clutter.PaintNode.PaintNode
valueGetPaintNode :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
GValue -> m PaintNode
valueGetPaintNode GValue
value = IO PaintNode -> m PaintNode
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO PaintNode -> m PaintNode) -> IO PaintNode -> m PaintNode
forall a b. (a -> b) -> a -> b
$ do
Ptr GValue
value' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
value
Ptr PaintNode
result <- Ptr GValue -> IO (Ptr PaintNode)
clutter_value_get_paint_node Ptr GValue
value'
Text -> Ptr PaintNode -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"valueGetPaintNode" Ptr PaintNode
result
PaintNode
result' <- ((ManagedPtr PaintNode -> PaintNode)
-> Ptr PaintNode -> IO PaintNode
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newPtr ManagedPtr PaintNode -> PaintNode
Clutter.PaintNode.PaintNode) Ptr PaintNode
result
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
value
PaintNode -> IO PaintNode
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return PaintNode
result'
foreign import ccall "clutter_value_get_color" clutter_value_get_color ::
Ptr GValue ->
IO (Ptr Clutter.Color.Color)
valueGetColor ::
(B.CallStack.HasCallStack, MonadIO m) =>
GValue
-> m Clutter.Color.Color
valueGetColor :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
GValue -> m Color
valueGetColor GValue
value = IO Color -> m Color
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Color -> m Color) -> IO Color -> m Color
forall a b. (a -> b) -> a -> b
$ do
Ptr GValue
value' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
value
Ptr Color
result <- Ptr GValue -> IO (Ptr Color)
clutter_value_get_color Ptr GValue
value'
Text -> Ptr Color -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"valueGetColor" Ptr Color
result
Color
result' <- ((ManagedPtr Color -> Color) -> Ptr Color -> IO Color
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Color -> Color
Clutter.Color.Color) Ptr Color
result
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
value
Color -> IO Color
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Color
result'
foreign import ccall "clutter_value_dup_paint_node" clutter_value_dup_paint_node ::
Ptr GValue ->
IO (Ptr Clutter.PaintNode.PaintNode)
valueDupPaintNode ::
(B.CallStack.HasCallStack, MonadIO m) =>
GValue
-> m Clutter.PaintNode.PaintNode
valueDupPaintNode :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
GValue -> m PaintNode
valueDupPaintNode GValue
value = IO PaintNode -> m PaintNode
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO PaintNode -> m PaintNode) -> IO PaintNode -> m PaintNode
forall a b. (a -> b) -> a -> b
$ do
Ptr GValue
value' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
value
Ptr PaintNode
result <- Ptr GValue -> IO (Ptr PaintNode)
clutter_value_dup_paint_node Ptr GValue
value'
Text -> Ptr PaintNode -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"valueDupPaintNode" Ptr PaintNode
result
PaintNode
result' <- ((ManagedPtr PaintNode -> PaintNode)
-> Ptr PaintNode -> IO PaintNode
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr PaintNode -> PaintNode
Clutter.PaintNode.PaintNode) Ptr PaintNode
result
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
value
PaintNode -> IO PaintNode
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return PaintNode
result'
foreign import ccall "clutter_util_next_p2" clutter_util_next_p2 ::
Int32 ->
IO Int32
{-# DEPRECATED utilNextP2 ["(Since version 1.2)"] #-}
utilNextP2 ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> m Int32
utilNextP2 :: forall (m :: * -> *). (HasCallStack, MonadIO m) => Int32 -> m Int32
utilNextP2 Int32
a = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
Int32
result <- Int32 -> IO Int32
clutter_util_next_p2 Int32
a
Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
foreign import ccall "clutter_unicode_to_keysym" clutter_unicode_to_keysym ::
Word32 ->
IO Word32
unicodeToKeysym ::
(B.CallStack.HasCallStack, MonadIO m) =>
Word32
-> m Word32
unicodeToKeysym :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Word32 -> m Word32
unicodeToKeysym Word32
wc = 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
Word32
result <- Word32 -> IO Word32
clutter_unicode_to_keysym Word32
wc
Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
foreign import ccall "clutter_ungrab_pointer_for_device" clutter_ungrab_pointer_for_device ::
Int32 ->
IO ()
{-# DEPRECATED ungrabPointerForDevice ["(Since version 1.10)","Use 'GI.Clutter.Objects.InputDevice.inputDeviceUngrab' instead."] #-}
ungrabPointerForDevice ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> m ()
ungrabPointerForDevice :: forall (m :: * -> *). (HasCallStack, MonadIO m) => Int32 -> m ()
ungrabPointerForDevice Int32
id_ = 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
Int32 -> IO ()
clutter_ungrab_pointer_for_device Int32
id_
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_ungrab_pointer" clutter_ungrab_pointer ::
IO ()
ungrabPointer ::
(B.CallStack.HasCallStack, MonadIO m) =>
m ()
ungrabPointer :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m ()
ungrabPointer = 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
IO ()
clutter_ungrab_pointer
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_ungrab_keyboard" clutter_ungrab_keyboard ::
IO ()
ungrabKeyboard ::
(B.CallStack.HasCallStack, MonadIO m) =>
m ()
ungrabKeyboard :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m ()
ungrabKeyboard = 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
IO ()
clutter_ungrab_keyboard
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_threads_remove_repaint_func" clutter_threads_remove_repaint_func ::
Word32 ->
IO ()
threadsRemoveRepaintFunc ::
(B.CallStack.HasCallStack, MonadIO m) =>
Word32
-> m ()
threadsRemoveRepaintFunc :: forall (m :: * -> *). (HasCallStack, MonadIO m) => Word32 -> m ()
threadsRemoveRepaintFunc Word32
handleId = 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
Word32 -> IO ()
clutter_threads_remove_repaint_func Word32
handleId
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_threads_leave" clutter_threads_leave ::
IO ()
{-# DEPRECATED threadsLeave ["(Since version 1.12)","This function should not be used by application"," code; marking critical sections is not portable on various"," platforms. Instead of acquiring the Clutter lock, schedule UI"," updates from the main loop using @/clutter_threads_add_idle()/@ or"," @/clutter_threads_add_timeout()/@."] #-}
threadsLeave ::
(B.CallStack.HasCallStack, MonadIO m) =>
m ()
threadsLeave :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m ()
threadsLeave = 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
IO ()
clutter_threads_leave
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_threads_init" clutter_threads_init ::
IO ()
{-# DEPRECATED threadsInit ["(Since version 1.10)","This function does not do anything. Threading support"," is initialized when Clutter is initialized."] #-}
threadsInit ::
(B.CallStack.HasCallStack, MonadIO m) =>
m ()
threadsInit :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m ()
threadsInit = 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
IO ()
clutter_threads_init
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_threads_enter" clutter_threads_enter ::
IO ()
{-# DEPRECATED threadsEnter ["(Since version 1.12)","This function should not be used by application"," code; marking critical sections is not portable on various"," platforms. Instead of acquiring the Clutter lock, schedule UI"," updates from the main loop using @/clutter_threads_add_idle()/@ or"," @/clutter_threads_add_timeout()/@."] #-}
threadsEnter ::
(B.CallStack.HasCallStack, MonadIO m) =>
m ()
threadsEnter :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m ()
threadsEnter = 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
IO ()
clutter_threads_enter
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_threads_add_timeout_full" clutter_threads_add_timeout_full ::
Int32 ->
Word32 ->
FunPtr GLib.Callbacks.C_SourceFunc ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO Word32
threadsAddTimeout ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> Word32
-> GLib.Callbacks.SourceFunc
-> m Word32
threadsAddTimeout :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Int32 -> Word32 -> SourceFunc -> m Word32
threadsAddTimeout Int32
priority Word32
interval SourceFunc
func = 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
FunPtr C_SourceFunc
func' <- C_SourceFunc -> IO (FunPtr C_SourceFunc)
GLib.Callbacks.mk_SourceFunc (Maybe (Ptr (FunPtr C_SourceFunc))
-> SourceFunc_WithClosures -> C_SourceFunc
GLib.Callbacks.wrap_SourceFunc Maybe (Ptr (FunPtr C_SourceFunc))
forall a. Maybe a
Nothing (SourceFunc -> SourceFunc_WithClosures
GLib.Callbacks.drop_closures_SourceFunc SourceFunc
func))
let data_ :: Ptr ()
data_ = FunPtr C_SourceFunc -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_SourceFunc
func'
let notify :: FunPtr (Ptr a -> IO ())
notify = FunPtr (Ptr a -> IO ())
forall a. FunPtr (Ptr a -> IO ())
SP.safeFreeFunPtrPtr
Word32
result <- Int32
-> Word32
-> FunPtr C_SourceFunc
-> Ptr ()
-> FunPtr C_DestroyNotify
-> IO Word32
clutter_threads_add_timeout_full Int32
priority Word32
interval FunPtr C_SourceFunc
func' Ptr ()
data_ FunPtr C_DestroyNotify
forall a. FunPtr (Ptr a -> IO ())
notify
Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
foreign import ccall "clutter_threads_add_repaint_func_full" clutter_threads_add_repaint_func_full ::
CUInt ->
FunPtr GLib.Callbacks.C_SourceFunc ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO Word32
threadsAddRepaintFuncFull ::
(B.CallStack.HasCallStack, MonadIO m) =>
[Clutter.Flags.RepaintFlags]
-> GLib.Callbacks.SourceFunc
-> m Word32
threadsAddRepaintFuncFull :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
[RepaintFlags] -> SourceFunc -> m Word32
threadsAddRepaintFuncFull [RepaintFlags]
flags SourceFunc
func = 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
let flags' :: CUInt
flags' = [RepaintFlags] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [RepaintFlags]
flags
FunPtr C_SourceFunc
func' <- C_SourceFunc -> IO (FunPtr C_SourceFunc)
GLib.Callbacks.mk_SourceFunc (Maybe (Ptr (FunPtr C_SourceFunc))
-> SourceFunc_WithClosures -> C_SourceFunc
GLib.Callbacks.wrap_SourceFunc Maybe (Ptr (FunPtr C_SourceFunc))
forall a. Maybe a
Nothing (SourceFunc -> SourceFunc_WithClosures
GLib.Callbacks.drop_closures_SourceFunc SourceFunc
func))
let data_ :: Ptr ()
data_ = FunPtr C_SourceFunc -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_SourceFunc
func'
let notify :: FunPtr (Ptr a -> IO ())
notify = FunPtr (Ptr a -> IO ())
forall a. FunPtr (Ptr a -> IO ())
SP.safeFreeFunPtrPtr
Word32
result <- CUInt
-> FunPtr C_SourceFunc
-> Ptr ()
-> FunPtr C_DestroyNotify
-> IO Word32
clutter_threads_add_repaint_func_full CUInt
flags' FunPtr C_SourceFunc
func' Ptr ()
data_ FunPtr C_DestroyNotify
forall a. FunPtr (Ptr a -> IO ())
notify
Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
foreign import ccall "clutter_threads_add_repaint_func" clutter_threads_add_repaint_func ::
FunPtr GLib.Callbacks.C_SourceFunc ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO Word32
threadsAddRepaintFunc ::
(B.CallStack.HasCallStack, MonadIO m) =>
GLib.Callbacks.SourceFunc
-> m Word32
threadsAddRepaintFunc :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
SourceFunc -> m Word32
threadsAddRepaintFunc SourceFunc
func = 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
FunPtr C_SourceFunc
func' <- C_SourceFunc -> IO (FunPtr C_SourceFunc)
GLib.Callbacks.mk_SourceFunc (Maybe (Ptr (FunPtr C_SourceFunc))
-> SourceFunc_WithClosures -> C_SourceFunc
GLib.Callbacks.wrap_SourceFunc Maybe (Ptr (FunPtr C_SourceFunc))
forall a. Maybe a
Nothing (SourceFunc -> SourceFunc_WithClosures
GLib.Callbacks.drop_closures_SourceFunc SourceFunc
func))
let data_ :: Ptr ()
data_ = FunPtr C_SourceFunc -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_SourceFunc
func'
let notify :: FunPtr (Ptr a -> IO ())
notify = FunPtr (Ptr a -> IO ())
forall a. FunPtr (Ptr a -> IO ())
SP.safeFreeFunPtrPtr
Word32
result <- FunPtr C_SourceFunc
-> Ptr () -> FunPtr C_DestroyNotify -> IO Word32
clutter_threads_add_repaint_func FunPtr C_SourceFunc
func' Ptr ()
data_ FunPtr C_DestroyNotify
forall a. FunPtr (Ptr a -> IO ())
notify
Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
foreign import ccall "clutter_threads_add_idle_full" clutter_threads_add_idle_full ::
Int32 ->
FunPtr GLib.Callbacks.C_SourceFunc ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO Word32
threadsAddIdle ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> GLib.Callbacks.SourceFunc
-> m Word32
threadsAddIdle :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Int32 -> SourceFunc -> m Word32
threadsAddIdle Int32
priority SourceFunc
func = 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
FunPtr C_SourceFunc
func' <- C_SourceFunc -> IO (FunPtr C_SourceFunc)
GLib.Callbacks.mk_SourceFunc (Maybe (Ptr (FunPtr C_SourceFunc))
-> SourceFunc_WithClosures -> C_SourceFunc
GLib.Callbacks.wrap_SourceFunc Maybe (Ptr (FunPtr C_SourceFunc))
forall a. Maybe a
Nothing (SourceFunc -> SourceFunc_WithClosures
GLib.Callbacks.drop_closures_SourceFunc SourceFunc
func))
let data_ :: Ptr ()
data_ = FunPtr C_SourceFunc -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_SourceFunc
func'
let notify :: FunPtr (Ptr a -> IO ())
notify = FunPtr (Ptr a -> IO ())
forall a. FunPtr (Ptr a -> IO ())
SP.safeFreeFunPtrPtr
Word32
result <- Int32
-> FunPtr C_SourceFunc
-> Ptr ()
-> FunPtr C_DestroyNotify
-> IO Word32
clutter_threads_add_idle_full Int32
priority FunPtr C_SourceFunc
func' Ptr ()
data_ FunPtr C_DestroyNotify
forall a. FunPtr (Ptr a -> IO ())
notify
Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
foreign import ccall "clutter_threads_add_frame_source_full" clutter_threads_add_frame_source_full ::
Int32 ->
Word32 ->
FunPtr GLib.Callbacks.C_SourceFunc ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO Word32
{-# DEPRECATED threadsAddFrameSource ["(Since version 1.6)","There is no direct replacement for this API"] #-}
threadsAddFrameSource ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> Word32
-> GLib.Callbacks.SourceFunc
-> m Word32
threadsAddFrameSource :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Int32 -> Word32 -> SourceFunc -> m Word32
threadsAddFrameSource Int32
priority Word32
fps SourceFunc
func = 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
FunPtr C_SourceFunc
func' <- C_SourceFunc -> IO (FunPtr C_SourceFunc)
GLib.Callbacks.mk_SourceFunc (Maybe (Ptr (FunPtr C_SourceFunc))
-> SourceFunc_WithClosures -> C_SourceFunc
GLib.Callbacks.wrap_SourceFunc Maybe (Ptr (FunPtr C_SourceFunc))
forall a. Maybe a
Nothing (SourceFunc -> SourceFunc_WithClosures
GLib.Callbacks.drop_closures_SourceFunc SourceFunc
func))
let data_ :: Ptr ()
data_ = FunPtr C_SourceFunc -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_SourceFunc
func'
let notify :: FunPtr (Ptr a -> IO ())
notify = FunPtr (Ptr a -> IO ())
forall a. FunPtr (Ptr a -> IO ())
SP.safeFreeFunPtrPtr
Word32
result <- Int32
-> Word32
-> FunPtr C_SourceFunc
-> Ptr ()
-> FunPtr C_DestroyNotify
-> IO Word32
clutter_threads_add_frame_source_full Int32
priority Word32
fps FunPtr C_SourceFunc
func' Ptr ()
data_ FunPtr C_DestroyNotify
forall a. FunPtr (Ptr a -> IO ())
notify
Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
foreign import ccall "clutter_test_run" clutter_test_run ::
IO Int32
testRun ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Int32
testRun :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Int32
testRun = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
Int32
result <- IO Int32
clutter_test_run
Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
foreign import ccall "clutter_test_init" clutter_test_init ::
Int32 ->
CString ->
IO ()
testInit ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> T.Text
-> m ()
testInit :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Int32 -> Text -> m ()
testInit Int32
argc Text
argv = 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
CString
argv' <- Text -> IO CString
textToCString Text
argv
Int32 -> CString -> IO ()
clutter_test_init Int32
argc CString
argv'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
argv'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_test_get_stage" clutter_test_get_stage ::
IO (Ptr Clutter.Actor.Actor)
testGetStage ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Clutter.Actor.Actor
testGetStage :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Actor
testGetStage = IO Actor -> m Actor
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Actor -> m Actor) -> IO Actor -> m Actor
forall a b. (a -> b) -> a -> b
$ do
Ptr Actor
result <- IO (Ptr Actor)
clutter_test_get_stage
Text -> Ptr Actor -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"testGetStage" Ptr Actor
result
Actor
result' <- ((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
result
Actor -> IO Actor
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Actor
result'
foreign import ccall "clutter_test_check_color_at_point" clutter_test_check_color_at_point ::
Ptr Clutter.Actor.Actor ->
Ptr Clutter.Point.Point ->
Ptr Clutter.Color.Color ->
Ptr Clutter.Color.Color ->
IO CInt
testCheckColorAtPoint ::
(B.CallStack.HasCallStack, MonadIO m, Clutter.Actor.IsActor a) =>
a
-> Clutter.Point.Point
-> Clutter.Color.Color
-> m ((Bool, Clutter.Color.Color))
testCheckColorAtPoint :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsActor a) =>
a -> Point -> Color -> m (Bool, Color)
testCheckColorAtPoint a
stage Point
point Color
color = IO (Bool, Color) -> m (Bool, Color)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Color) -> m (Bool, Color))
-> IO (Bool, Color) -> m (Bool, Color)
forall a b. (a -> b) -> a -> b
$ do
Ptr Actor
stage' <- a -> IO (Ptr Actor)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
stage
Ptr Point
point' <- Point -> IO (Ptr Point)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Point
point
Ptr Color
color' <- Color -> IO (Ptr Color)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Color
color
Ptr Color
result_ <- Int -> IO (Ptr Color)
forall a. GBoxed a => Int -> IO (Ptr a)
SP.callocBoxedBytes Int
4 :: IO (Ptr Clutter.Color.Color)
CInt
result <- Ptr Actor -> Ptr Point -> Ptr Color -> Ptr Color -> IO CInt
clutter_test_check_color_at_point Ptr Actor
stage' Ptr Point
point' Ptr Color
color' Ptr Color
result_
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
Color
result_' <- ((ManagedPtr Color -> Color) -> Ptr Color -> IO Color
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Color -> Color
Clutter.Color.Color) Ptr Color
result_
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
stage
Point -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Point
point
Color -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Color
color
(Bool, Color) -> IO (Bool, Color)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Color
result_')
foreign import ccall "clutter_test_check_actor_at_point" clutter_test_check_actor_at_point ::
Ptr Clutter.Actor.Actor ->
Ptr Clutter.Point.Point ->
Ptr Clutter.Actor.Actor ->
Ptr (Ptr Clutter.Actor.Actor) ->
IO CInt
testCheckActorAtPoint ::
(B.CallStack.HasCallStack, MonadIO m, Clutter.Actor.IsActor a, Clutter.Actor.IsActor b) =>
a
-> Clutter.Point.Point
-> b
-> m ((Bool, Maybe Clutter.Actor.Actor))
testCheckActorAtPoint :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsActor a, IsActor b) =>
a -> Point -> b -> m (Bool, Maybe Actor)
testCheckActorAtPoint a
stage Point
point b
actor = IO (Bool, Maybe Actor) -> m (Bool, Maybe Actor)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Maybe Actor) -> m (Bool, Maybe Actor))
-> IO (Bool, Maybe Actor) -> m (Bool, Maybe Actor)
forall a b. (a -> b) -> a -> b
$ do
Ptr Actor
stage' <- a -> IO (Ptr Actor)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
stage
Ptr Point
point' <- Point -> IO (Ptr Point)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Point
point
Ptr Actor
actor' <- b -> IO (Ptr Actor)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
actor
Ptr (Ptr Actor)
result_ <- IO (Ptr (Ptr Actor))
forall a. Storable a => IO (Ptr a)
callocMem :: IO (Ptr (Ptr Clutter.Actor.Actor))
CInt
result <- Ptr Actor -> Ptr Point -> Ptr Actor -> Ptr (Ptr Actor) -> IO CInt
clutter_test_check_actor_at_point Ptr Actor
stage' Ptr Point
point' Ptr Actor
actor' Ptr (Ptr Actor)
result_
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
Ptr Actor
result_' <- Ptr (Ptr Actor) -> IO (Ptr Actor)
forall a. Storable a => Ptr a -> IO a
peek Ptr (Ptr Actor)
result_
Maybe Actor
maybeResult_' <- Ptr Actor -> (Ptr Actor -> IO Actor) -> IO (Maybe Actor)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Actor
result_' ((Ptr Actor -> IO Actor) -> IO (Maybe Actor))
-> (Ptr Actor -> IO Actor) -> IO (Maybe Actor)
forall a b. (a -> b) -> a -> b
$ \Ptr Actor
result_'' -> do
Actor
result_''' <- ((ManagedPtr Actor -> Actor) -> Ptr Actor -> IO Actor
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Actor -> Actor
Clutter.Actor.Actor) Ptr Actor
result_''
Actor -> IO Actor
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Actor
result_'''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
stage
Point -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Point
point
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
actor
Ptr (Ptr Actor) -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr (Ptr Actor)
result_
(Bool, Maybe Actor) -> IO (Bool, Maybe Actor)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Maybe Actor
maybeResult_')
foreign import ccall "clutter_test_add_data_full" clutter_test_add_data_full ::
CString ->
FunPtr GLib.Callbacks.C_TestDataFunc ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO ()
testAddDataFull ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> GLib.Callbacks.TestDataFunc
-> m ()
testAddDataFull :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Text -> IO () -> m ()
testAddDataFull Text
testPath IO ()
testFunc = 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
CString
testPath' <- Text -> IO CString
textToCString Text
testPath
FunPtr C_DestroyNotify
testFunc' <- C_DestroyNotify -> IO (FunPtr C_DestroyNotify)
GLib.Callbacks.mk_TestDataFunc (Maybe (Ptr (FunPtr C_DestroyNotify))
-> C_DestroyNotify -> C_DestroyNotify
GLib.Callbacks.wrap_TestDataFunc Maybe (Ptr (FunPtr C_DestroyNotify))
forall a. Maybe a
Nothing (IO () -> C_DestroyNotify
GLib.Callbacks.drop_closures_TestDataFunc IO ()
testFunc))
let testData :: Ptr ()
testData = FunPtr C_DestroyNotify -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_DestroyNotify
testFunc'
let testNotify :: FunPtr (Ptr a -> IO ())
testNotify = FunPtr (Ptr a -> IO ())
forall a. FunPtr (Ptr a -> IO ())
SP.safeFreeFunPtrPtr
CString
-> FunPtr C_DestroyNotify
-> Ptr ()
-> FunPtr C_DestroyNotify
-> IO ()
clutter_test_add_data_full CString
testPath' FunPtr C_DestroyNotify
testFunc' Ptr ()
testData FunPtr C_DestroyNotify
forall a. FunPtr (Ptr a -> IO ())
testNotify
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
testPath'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_set_windowing_backend" clutter_set_windowing_backend ::
CString ->
IO ()
setWindowingBackend ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m ()
setWindowingBackend :: forall (m :: * -> *). (HasCallStack, MonadIO m) => Text -> m ()
setWindowingBackend Text
backendType = 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
CString
backendType' <- Text -> IO CString
textToCString Text
backendType
CString -> IO ()
clutter_set_windowing_backend CString
backendType'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
backendType'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_set_motion_events_enabled" clutter_set_motion_events_enabled ::
CInt ->
IO ()
{-# DEPRECATED setMotionEventsEnabled ["(Since version 1.8)","Use 'GI.Clutter.Objects.Stage.stageSetMotionEventsEnabled' instead."] #-}
setMotionEventsEnabled ::
(B.CallStack.HasCallStack, MonadIO m) =>
Bool
-> m ()
setMotionEventsEnabled :: forall (m :: * -> *). (HasCallStack, MonadIO m) => Bool -> m ()
setMotionEventsEnabled Bool
enable = 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
let enable' :: CInt
enable' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
P.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
P.fromEnum) Bool
enable
CInt -> IO ()
clutter_set_motion_events_enabled CInt
enable'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_set_font_flags" clutter_set_font_flags ::
CUInt ->
IO ()
{-# DEPRECATED setFontFlags ["(Since version 1.10)","Use 'GI.Clutter.Objects.Backend.backendSetFontOptions' and the"," @/cairo_font_option_t/@ API."] #-}
setFontFlags ::
(B.CallStack.HasCallStack, MonadIO m) =>
[Clutter.Flags.FontFlags]
-> m ()
setFontFlags :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
[FontFlags] -> m ()
setFontFlags [FontFlags]
flags = 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
let flags' :: CUInt
flags' = [FontFlags] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [FontFlags]
flags
CUInt -> IO ()
clutter_set_font_flags CUInt
flags'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_set_default_frame_rate" clutter_set_default_frame_rate ::
Word32 ->
IO ()
{-# DEPRECATED setDefaultFrameRate ["(Since version 1.10)","This function does not do anything any more."] #-}
setDefaultFrameRate ::
(B.CallStack.HasCallStack, MonadIO m) =>
Word32
-> m ()
setDefaultFrameRate :: forall (m :: * -> *). (HasCallStack, MonadIO m) => Word32 -> m ()
setDefaultFrameRate Word32
framesPerSec = 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
Word32 -> IO ()
clutter_set_default_frame_rate Word32
framesPerSec
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_redraw" clutter_redraw ::
Ptr Clutter.Stage.Stage ->
IO ()
{-# DEPRECATED redraw ["(Since version 1.10)","Use 'GI.Clutter.Objects.Stage.stageEnsureRedraw' instead."] #-}
redraw ::
(B.CallStack.HasCallStack, MonadIO m, Clutter.Stage.IsStage a) =>
a
-> m ()
redraw :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsStage a) =>
a -> m ()
redraw a
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 Stage
stage' <- a -> IO (Ptr Stage)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
stage
Ptr Stage -> IO ()
clutter_redraw Ptr Stage
stage'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
stage
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_main_quit" clutter_main_quit ::
IO ()
mainQuit ::
(B.CallStack.HasCallStack, MonadIO m) =>
m ()
mainQuit :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m ()
mainQuit = 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
IO ()
clutter_main_quit
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_main_level" clutter_main_level ::
IO Int32
mainLevel ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Int32
mainLevel :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Int32
mainLevel = IO Int32 -> m Int32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
Int32
result <- IO Int32
clutter_main_level
Int32 -> IO Int32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
foreign import ccall "clutter_main" clutter_main ::
IO ()
main ::
(B.CallStack.HasCallStack, MonadIO m) =>
m ()
main :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m ()
main = 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
IO ()
clutter_main
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_keysym_to_unicode" clutter_keysym_to_unicode ::
Word32 ->
IO Word32
keysymToUnicode ::
(B.CallStack.HasCallStack, MonadIO m) =>
Word32
-> m Word32
keysymToUnicode :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Word32 -> m Word32
keysymToUnicode Word32
keyval = 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
Word32
result <- Word32 -> IO Word32
clutter_keysym_to_unicode Word32
keyval
Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
foreign import ccall "clutter_init_with_args" clutter_init_with_args ::
Ptr Int32 ->
Ptr (Ptr CString) ->
CString ->
Ptr GLib.OptionEntry.OptionEntry ->
CString ->
Ptr (Ptr GError) ->
IO CInt
initWithArgs ::
(B.CallStack.HasCallStack, MonadIO m) =>
Maybe ([T.Text])
-> Maybe (T.Text)
-> Maybe ([GLib.OptionEntry.OptionEntry])
-> Maybe (T.Text)
-> m ((Clutter.Enums.InitError, Maybe [T.Text]))
initWithArgs :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Maybe [Text]
-> Maybe Text
-> Maybe [OptionEntry]
-> Maybe Text
-> m (InitError, Maybe [Text])
initWithArgs Maybe [Text]
argv Maybe Text
parameterString Maybe [OptionEntry]
entries Maybe Text
translationDomain = IO (InitError, Maybe [Text]) -> m (InitError, Maybe [Text])
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (InitError, Maybe [Text]) -> m (InitError, Maybe [Text]))
-> IO (InitError, Maybe [Text]) -> m (InitError, Maybe [Text])
forall a b. (a -> b) -> a -> b
$ do
let argc :: Int32
argc = case Maybe [Text]
argv of
Maybe [Text]
Nothing -> Int32
0
Just [Text]
jArgv -> Int -> Int32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> Int32) -> Int -> Int32
forall a b. (a -> b) -> a -> b
$ [Text] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
P.length [Text]
jArgv
Ptr Int32
argc' <- IO (Ptr Int32)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Int32)
Ptr Int32 -> Int32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke Ptr Int32
argc' Int32
argc
Ptr CString
maybeArgv <- case Maybe [Text]
argv of
Maybe [Text]
Nothing -> Ptr CString -> IO (Ptr CString)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CString
forall a. Ptr a
nullPtr
Just [Text]
jArgv -> do
Ptr CString
jArgv' <- [Text] -> IO (Ptr CString)
packUTF8CArray [Text]
jArgv
Ptr CString -> IO (Ptr CString)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CString
jArgv'
Ptr (Ptr CString)
maybeArgv' <- IO (Ptr (Ptr CString))
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr (Ptr CString))
Ptr (Ptr CString) -> Ptr CString -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke Ptr (Ptr CString)
maybeArgv' Ptr CString
maybeArgv
CString
maybeParameterString <- case Maybe Text
parameterString of
Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
Just Text
jParameterString -> do
CString
jParameterString' <- Text -> IO CString
textToCString Text
jParameterString
CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jParameterString'
Ptr OptionEntry
maybeEntries <- case Maybe [OptionEntry]
entries of
Maybe [OptionEntry]
Nothing -> Ptr OptionEntry -> IO (Ptr OptionEntry)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr OptionEntry
forall a. Ptr a
nullPtr
Just [OptionEntry]
jEntries -> do
[Ptr OptionEntry]
jEntries' <- (OptionEntry -> IO (Ptr OptionEntry))
-> [OptionEntry] -> IO [Ptr OptionEntry]
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 OptionEntry -> IO (Ptr OptionEntry)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr [OptionEntry]
jEntries
Ptr OptionEntry
jEntries'' <- Int -> [Ptr OptionEntry] -> IO (Ptr OptionEntry)
forall a. Int -> [Ptr a] -> IO (Ptr a)
packBlockArray Int
48 [Ptr OptionEntry]
jEntries'
Ptr OptionEntry -> IO (Ptr OptionEntry)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr OptionEntry
jEntries''
CString
maybeTranslationDomain <- case Maybe Text
translationDomain of
Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
Just Text
jTranslationDomain -> do
CString
jTranslationDomain' <- Text -> IO CString
textToCString Text
jTranslationDomain
CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jTranslationDomain'
IO (InitError, Maybe [Text])
-> IO () -> IO (InitError, Maybe [Text])
forall a b. IO a -> IO b -> IO a
onException (do
CInt
result <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Int32
-> Ptr (Ptr CString)
-> CString
-> Ptr OptionEntry
-> CString
-> Ptr (Ptr GError)
-> IO CInt
clutter_init_with_args Ptr Int32
argc' Ptr (Ptr CString)
maybeArgv' CString
maybeParameterString Ptr OptionEntry
maybeEntries CString
maybeTranslationDomain
Int32
argc'' <- Ptr Int32 -> IO Int32
forall a. Storable a => Ptr a -> IO a
peek Ptr Int32
argc'
let result' :: InitError
result' = (Int -> InitError
forall a. Enum a => Int -> a
toEnum (Int -> InitError) -> (CInt -> Int) -> CInt -> InitError
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CInt
result
Ptr CString
maybeArgv'' <- Ptr (Ptr CString) -> IO (Ptr CString)
forall a. Storable a => Ptr a -> IO a
peek Ptr (Ptr CString)
maybeArgv'
Maybe [Text]
maybeMaybeArgv'' <- Ptr CString -> (Ptr CString -> IO [Text]) -> IO (Maybe [Text])
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr CString
maybeArgv'' ((Ptr CString -> IO [Text]) -> IO (Maybe [Text]))
-> (Ptr CString -> IO [Text]) -> IO (Maybe [Text])
forall a b. (a -> b) -> a -> b
$ \Ptr CString
maybeArgv''' -> do
[Text]
maybeArgv'''' <- (Int32 -> Ptr CString -> IO [Text]
forall a.
(HasCallStack, Integral a) =>
a -> Ptr CString -> IO [Text]
unpackUTF8CArrayWithLength Int32
argc'') Ptr CString
maybeArgv'''
(Int32 -> (CString -> IO ()) -> Ptr CString -> IO ()
forall a b c.
(Storable a, Integral b) =>
b -> (a -> IO c) -> Ptr a -> IO ()
mapCArrayWithLength Int32
argc'') CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
maybeArgv'''
Ptr CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
maybeArgv'''
[Text] -> IO [Text]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [Text]
maybeArgv''''
Maybe [OptionEntry] -> ([OptionEntry] -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe [OptionEntry]
entries ((OptionEntry -> IO ()) -> [OptionEntry] -> IO ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_ OptionEntry -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr)
Ptr Int32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Int32
argc'
Ptr (Ptr CString) -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr (Ptr CString)
maybeArgv'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeParameterString
Ptr OptionEntry -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr OptionEntry
maybeEntries
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeTranslationDomain
(InitError, Maybe [Text]) -> IO (InitError, Maybe [Text])
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (InitError
result', Maybe [Text]
maybeMaybeArgv'')
) (do
Ptr Int32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Int32
argc'
Ptr (Ptr CString) -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr (Ptr CString)
maybeArgv'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeParameterString
Ptr OptionEntry -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr OptionEntry
maybeEntries
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeTranslationDomain
)
foreign import ccall "clutter_init" clutter_init ::
Ptr Int32 ->
Ptr (Ptr CString) ->
IO CInt
init ::
(B.CallStack.HasCallStack, MonadIO m) =>
Maybe ([T.Text])
-> m ((Clutter.Enums.InitError, Maybe [T.Text]))
init :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Maybe [Text] -> m (InitError, Maybe [Text])
init Maybe [Text]
argv = IO (InitError, Maybe [Text]) -> m (InitError, Maybe [Text])
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (InitError, Maybe [Text]) -> m (InitError, Maybe [Text]))
-> IO (InitError, Maybe [Text]) -> m (InitError, Maybe [Text])
forall a b. (a -> b) -> a -> b
$ do
let argc :: Int32
argc = case Maybe [Text]
argv of
Maybe [Text]
Nothing -> Int32
0
Just [Text]
jArgv -> Int -> Int32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> Int32) -> Int -> Int32
forall a b. (a -> b) -> a -> b
$ [Text] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
P.length [Text]
jArgv
Ptr Int32
argc' <- IO (Ptr Int32)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Int32)
Ptr Int32 -> Int32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke Ptr Int32
argc' Int32
argc
Ptr CString
maybeArgv <- case Maybe [Text]
argv of
Maybe [Text]
Nothing -> Ptr CString -> IO (Ptr CString)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CString
forall a. Ptr a
nullPtr
Just [Text]
jArgv -> do
Ptr CString
jArgv' <- [Text] -> IO (Ptr CString)
packUTF8CArray [Text]
jArgv
Ptr CString -> IO (Ptr CString)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CString
jArgv'
Ptr (Ptr CString)
maybeArgv' <- IO (Ptr (Ptr CString))
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr (Ptr CString))
Ptr (Ptr CString) -> Ptr CString -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke Ptr (Ptr CString)
maybeArgv' Ptr CString
maybeArgv
CInt
result <- Ptr Int32 -> Ptr (Ptr CString) -> IO CInt
clutter_init Ptr Int32
argc' Ptr (Ptr CString)
maybeArgv'
Int32
argc'' <- Ptr Int32 -> IO Int32
forall a. Storable a => Ptr a -> IO a
peek Ptr Int32
argc'
let result' :: InitError
result' = (Int -> InitError
forall a. Enum a => Int -> a
toEnum (Int -> InitError) -> (CInt -> Int) -> CInt -> InitError
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CInt
result
Ptr CString
maybeArgv'' <- Ptr (Ptr CString) -> IO (Ptr CString)
forall a. Storable a => Ptr a -> IO a
peek Ptr (Ptr CString)
maybeArgv'
Maybe [Text]
maybeMaybeArgv'' <- Ptr CString -> (Ptr CString -> IO [Text]) -> IO (Maybe [Text])
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr CString
maybeArgv'' ((Ptr CString -> IO [Text]) -> IO (Maybe [Text]))
-> (Ptr CString -> IO [Text]) -> IO (Maybe [Text])
forall a b. (a -> b) -> a -> b
$ \Ptr CString
maybeArgv''' -> do
[Text]
maybeArgv'''' <- (Int32 -> Ptr CString -> IO [Text]
forall a.
(HasCallStack, Integral a) =>
a -> Ptr CString -> IO [Text]
unpackUTF8CArrayWithLength Int32
argc'') Ptr CString
maybeArgv'''
(Int32 -> (CString -> IO ()) -> Ptr CString -> IO ()
forall a b c.
(Storable a, Integral b) =>
b -> (a -> IO c) -> Ptr a -> IO ()
mapCArrayWithLength Int32
argc'') CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
maybeArgv'''
Ptr CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
maybeArgv'''
[Text] -> IO [Text]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [Text]
maybeArgv''''
Ptr Int32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Int32
argc'
Ptr (Ptr CString) -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr (Ptr CString)
maybeArgv'
(InitError, Maybe [Text]) -> IO (InitError, Maybe [Text])
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (InitError
result', Maybe [Text]
maybeMaybeArgv'')
foreign import ccall "clutter_grab_pointer_for_device" clutter_grab_pointer_for_device ::
Ptr Clutter.Actor.Actor ->
Int32 ->
IO ()
{-# DEPRECATED grabPointerForDevice ["(Since version 1.10)","Use 'GI.Clutter.Objects.InputDevice.inputDeviceGrab' instead."] #-}
grabPointerForDevice ::
(B.CallStack.HasCallStack, MonadIO m, Clutter.Actor.IsActor a) =>
a
-> Int32
-> m ()
grabPointerForDevice :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsActor a) =>
a -> Int32 -> m ()
grabPointerForDevice a
actor Int32
id_ = 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 Actor
actor' <- a -> IO (Ptr Actor)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
actor
Ptr Actor -> Int32 -> IO ()
clutter_grab_pointer_for_device Ptr Actor
actor' Int32
id_
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
actor
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_grab_pointer" clutter_grab_pointer ::
Ptr Clutter.Actor.Actor ->
IO ()
grabPointer ::
(B.CallStack.HasCallStack, MonadIO m, Clutter.Actor.IsActor a) =>
a
-> m ()
grabPointer :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsActor a) =>
a -> m ()
grabPointer a
actor = 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 Actor
actor' <- a -> IO (Ptr Actor)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
actor
Ptr Actor -> IO ()
clutter_grab_pointer Ptr Actor
actor'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
actor
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_grab_keyboard" clutter_grab_keyboard ::
Ptr Clutter.Actor.Actor ->
IO ()
grabKeyboard ::
(B.CallStack.HasCallStack, MonadIO m, Clutter.Actor.IsActor a) =>
a
-> m ()
grabKeyboard :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsActor a) =>
a -> m ()
grabKeyboard a
actor = 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 Actor
actor' <- a -> IO (Ptr Actor)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
actor
Ptr Actor -> IO ()
clutter_grab_keyboard Ptr Actor
actor'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
actor
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_get_timestamp" clutter_get_timestamp ::
IO FCT.CULong
{-# DEPRECATED getTimestamp ["(Since version 1.10)","Use t'GI.GLib.Structs.Timer.Timer' or 'GI.GLib.Functions.getMonotonicTime' for a proper"," timing source"] #-}
getTimestamp ::
(B.CallStack.HasCallStack, MonadIO m) =>
m FCT.CULong
getTimestamp :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m CULong
getTimestamp = IO CULong -> m CULong
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO CULong -> m CULong) -> IO CULong -> m CULong
forall a b. (a -> b) -> a -> b
$ do
CULong
result <- IO CULong
clutter_get_timestamp
CULong -> IO CULong
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CULong
result
foreign import ccall "clutter_get_show_fps" clutter_get_show_fps ::
IO CInt
{-# DEPRECATED getShowFps ["(Since version 1.10)","This function does not do anything. Use the environment"," variable or the configuration file to determine whether Clutter should"," print out the FPS counter on the console."] #-}
getShowFps ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Bool
getShowFps :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Bool
getShowFps = SourceFunc -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (SourceFunc -> m Bool) -> SourceFunc -> m Bool
forall a b. (a -> b) -> a -> b
$ do
CInt
result <- IO CInt
clutter_get_show_fps
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
Bool -> SourceFunc
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
foreign import ccall "clutter_get_script_id" clutter_get_script_id ::
Ptr GObject.Object.Object ->
IO CString
getScriptId ::
(B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>
a
-> m T.Text
getScriptId :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsObject a) =>
a -> m Text
getScriptId a
gobject = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
Ptr Object
gobject' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
gobject
CString
result <- Ptr Object -> IO CString
clutter_get_script_id Ptr Object
gobject'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"getScriptId" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
gobject
Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
foreign import ccall "clutter_get_pointer_grab" clutter_get_pointer_grab ::
IO (Ptr Clutter.Actor.Actor)
getPointerGrab ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Clutter.Actor.Actor
getPointerGrab :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Actor
getPointerGrab = IO Actor -> m Actor
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Actor -> m Actor) -> IO Actor -> m Actor
forall a b. (a -> b) -> a -> b
$ do
Ptr Actor
result <- IO (Ptr Actor)
clutter_get_pointer_grab
Text -> Ptr Actor -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"getPointerGrab" Ptr Actor
result
Actor
result' <- ((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
result
Actor -> IO Actor
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Actor
result'
foreign import ccall "clutter_get_motion_events_enabled" clutter_get_motion_events_enabled ::
IO CInt
{-# DEPRECATED getMotionEventsEnabled ["(Since version 1.8)","Use 'GI.Clutter.Objects.Stage.stageGetMotionEventsEnabled' instead."] #-}
getMotionEventsEnabled ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Bool
getMotionEventsEnabled :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Bool
getMotionEventsEnabled = SourceFunc -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (SourceFunc -> m Bool) -> SourceFunc -> m Bool
forall a b. (a -> b) -> a -> b
$ do
CInt
result <- IO CInt
clutter_get_motion_events_enabled
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
Bool -> SourceFunc
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
foreign import ccall "clutter_get_keyboard_grab" clutter_get_keyboard_grab ::
IO (Ptr Clutter.Actor.Actor)
getKeyboardGrab ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Clutter.Actor.Actor
getKeyboardGrab :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Actor
getKeyboardGrab = IO Actor -> m Actor
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Actor -> m Actor) -> IO Actor -> m Actor
forall a b. (a -> b) -> a -> b
$ do
Ptr Actor
result <- IO (Ptr Actor)
clutter_get_keyboard_grab
Text -> Ptr Actor -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"getKeyboardGrab" Ptr Actor
result
Actor
result' <- ((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
result
Actor -> IO Actor
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Actor
result'
foreign import ccall "clutter_get_input_device_for_id" clutter_get_input_device_for_id ::
Int32 ->
IO (Ptr Clutter.InputDevice.InputDevice)
{-# DEPRECATED getInputDeviceForId ["(Since version 1.10)","Use 'GI.Clutter.Objects.DeviceManager.deviceManagerGetDevice' instead."] #-}
getInputDeviceForId ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> m Clutter.InputDevice.InputDevice
getInputDeviceForId :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Int32 -> m InputDevice
getInputDeviceForId Int32
id_ = IO InputDevice -> m InputDevice
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO InputDevice -> m InputDevice)
-> IO InputDevice -> m InputDevice
forall a b. (a -> b) -> a -> b
$ do
Ptr InputDevice
result <- Int32 -> IO (Ptr InputDevice)
clutter_get_input_device_for_id Int32
id_
Text -> Ptr InputDevice -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"getInputDeviceForId" Ptr InputDevice
result
InputDevice
result' <- ((ManagedPtr InputDevice -> InputDevice)
-> Ptr InputDevice -> IO InputDevice
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr InputDevice -> InputDevice
Clutter.InputDevice.InputDevice) Ptr InputDevice
result
InputDevice -> IO InputDevice
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return InputDevice
result'
foreign import ccall "clutter_get_font_map" clutter_get_font_map ::
IO (Ptr Pango.FontMap.FontMap)
getFontMap ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Pango.FontMap.FontMap
getFontMap :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m FontMap
getFontMap = IO FontMap -> m FontMap
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FontMap -> m FontMap) -> IO FontMap -> m FontMap
forall a b. (a -> b) -> a -> b
$ do
Ptr FontMap
result <- IO (Ptr FontMap)
clutter_get_font_map
Text -> Ptr FontMap -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"getFontMap" Ptr FontMap
result
FontMap
result' <- ((ManagedPtr FontMap -> FontMap) -> Ptr FontMap -> IO FontMap
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr FontMap -> FontMap
Pango.FontMap.FontMap) Ptr FontMap
result
FontMap -> IO FontMap
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return FontMap
result'
foreign import ccall "clutter_get_font_flags" clutter_get_font_flags ::
IO CUInt
{-# DEPRECATED getFontFlags ["(Since version 1.10)","Use 'GI.Clutter.Objects.Backend.backendGetFontOptions' and the"," t'GI.Cairo.Structs.FontOptions.FontOptions' API."] #-}
getFontFlags ::
(B.CallStack.HasCallStack, MonadIO m) =>
m [Clutter.Flags.FontFlags]
getFontFlags :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m [FontFlags]
getFontFlags = IO [FontFlags] -> m [FontFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [FontFlags] -> m [FontFlags])
-> IO [FontFlags] -> m [FontFlags]
forall a b. (a -> b) -> a -> b
$ do
CUInt
result <- IO CUInt
clutter_get_font_flags
let result' :: [FontFlags]
result' = CUInt -> [FontFlags]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
result
[FontFlags] -> IO [FontFlags]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [FontFlags]
result'
foreign import ccall "clutter_get_default_text_direction" clutter_get_default_text_direction ::
IO CUInt
getDefaultTextDirection ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Clutter.Enums.TextDirection
getDefaultTextDirection :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m TextDirection
getDefaultTextDirection = IO TextDirection -> m TextDirection
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TextDirection -> m TextDirection)
-> IO TextDirection -> m TextDirection
forall a b. (a -> b) -> a -> b
$ do
CUInt
result <- IO CUInt
clutter_get_default_text_direction
let result' :: TextDirection
result' = (Int -> TextDirection
forall a. Enum a => Int -> a
toEnum (Int -> TextDirection) -> (CUInt -> Int) -> CUInt -> TextDirection
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
TextDirection -> IO TextDirection
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return TextDirection
result'
foreign import ccall "clutter_get_default_frame_rate" clutter_get_default_frame_rate ::
IO Word32
getDefaultFrameRate ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Word32
getDefaultFrameRate :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Word32
getDefaultFrameRate = 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
Word32
result <- IO Word32
clutter_get_default_frame_rate
Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
foreign import ccall "clutter_get_default_backend" clutter_get_default_backend ::
IO (Ptr Clutter.Backend.Backend)
getDefaultBackend ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Clutter.Backend.Backend
getDefaultBackend :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Backend
getDefaultBackend = IO Backend -> m Backend
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Backend -> m Backend) -> IO Backend -> m Backend
forall a b. (a -> b) -> a -> b
$ do
Ptr Backend
result <- IO (Ptr Backend)
clutter_get_default_backend
Text -> Ptr Backend -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"getDefaultBackend" Ptr Backend
result
Backend
result' <- ((ManagedPtr Backend -> Backend) -> Ptr Backend -> IO Backend
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Backend -> Backend
Clutter.Backend.Backend) Ptr Backend
result
Backend -> IO Backend
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Backend
result'
foreign import ccall "clutter_get_debug_enabled" clutter_get_debug_enabled ::
IO CInt
{-# DEPRECATED getDebugEnabled ["(Since version 1.10)","This function does not do anything."] #-}
getDebugEnabled ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Bool
getDebugEnabled :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Bool
getDebugEnabled = SourceFunc -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (SourceFunc -> m Bool) -> SourceFunc -> m Bool
forall a b. (a -> b) -> a -> b
$ do
CInt
result <- IO CInt
clutter_get_debug_enabled
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
Bool -> SourceFunc
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
foreign import ccall "clutter_get_current_event_time" clutter_get_current_event_time ::
IO Word32
getCurrentEventTime ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Word32
getCurrentEventTime :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Word32
getCurrentEventTime = 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
Word32
result <- IO Word32
clutter_get_current_event_time
Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
foreign import ccall "clutter_get_current_event" clutter_get_current_event ::
IO (Ptr Clutter.Event.Event)
getCurrentEvent ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Clutter.Event.Event
getCurrentEvent :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Event
getCurrentEvent = IO Event -> m Event
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Event -> m Event) -> IO Event -> m Event
forall a b. (a -> b) -> a -> b
$ do
Ptr Event
result <- IO (Ptr Event)
clutter_get_current_event
Text -> Ptr Event -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"getCurrentEvent" Ptr Event
result
Event
result' <- ((ManagedPtr Event -> Event) -> Ptr Event -> IO Event
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Event -> Event
Clutter.Event.Event) Ptr Event
result
Event -> IO Event
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Event
result'
foreign import ccall "clutter_get_actor_by_gid" clutter_get_actor_by_gid ::
Word32 ->
IO (Ptr Clutter.Actor.Actor)
{-# DEPRECATED getActorByGid ["(Since version 1.8)","The id is deprecated, and this function always returns"," 'P.Nothing'. Use the proper scene graph API in t'GI.Clutter.Objects.Actor.Actor' to find a child"," of the stage."] #-}
getActorByGid ::
(B.CallStack.HasCallStack, MonadIO m) =>
Word32
-> m Clutter.Actor.Actor
getActorByGid :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Word32 -> m Actor
getActorByGid Word32
id_ = IO Actor -> m Actor
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Actor -> m Actor) -> IO Actor -> m Actor
forall a b. (a -> b) -> a -> b
$ do
Ptr Actor
result <- Word32 -> IO (Ptr Actor)
clutter_get_actor_by_gid Word32
id_
Text -> Ptr Actor -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"getActorByGid" Ptr Actor
result
Actor
result' <- ((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
result
Actor -> IO Actor
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Actor
result'
foreign import ccall "clutter_get_accessibility_enabled" clutter_get_accessibility_enabled ::
IO CInt
getAccessibilityEnabled ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Bool
getAccessibilityEnabled :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Bool
getAccessibilityEnabled = SourceFunc -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (SourceFunc -> m Bool) -> SourceFunc -> m Bool
forall a b. (a -> b) -> a -> b
$ do
CInt
result <- IO CInt
clutter_get_accessibility_enabled
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
Bool -> SourceFunc
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
foreign import ccall "clutter_frame_source_add_full" clutter_frame_source_add_full ::
Int32 ->
Word32 ->
FunPtr GLib.Callbacks.C_SourceFunc ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO Word32
{-# DEPRECATED frameSourceAdd ["(Since version 1.6)","There is no direct replacement for this API."] #-}
frameSourceAdd ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> Word32
-> GLib.Callbacks.SourceFunc
-> m Word32
frameSourceAdd :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Int32 -> Word32 -> SourceFunc -> m Word32
frameSourceAdd Int32
priority Word32
fps SourceFunc
func = 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
FunPtr C_SourceFunc
func' <- C_SourceFunc -> IO (FunPtr C_SourceFunc)
GLib.Callbacks.mk_SourceFunc (Maybe (Ptr (FunPtr C_SourceFunc))
-> SourceFunc_WithClosures -> C_SourceFunc
GLib.Callbacks.wrap_SourceFunc Maybe (Ptr (FunPtr C_SourceFunc))
forall a. Maybe a
Nothing (SourceFunc -> SourceFunc_WithClosures
GLib.Callbacks.drop_closures_SourceFunc SourceFunc
func))
let data_ :: Ptr ()
data_ = FunPtr C_SourceFunc -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_SourceFunc
func'
let notify :: FunPtr (Ptr a -> IO ())
notify = FunPtr (Ptr a -> IO ())
forall a. FunPtr (Ptr a -> IO ())
SP.safeFreeFunPtrPtr
Word32
result <- Int32
-> Word32
-> FunPtr C_SourceFunc
-> Ptr ()
-> FunPtr C_DestroyNotify
-> IO Word32
clutter_frame_source_add_full Int32
priority Word32
fps FunPtr C_SourceFunc
func' Ptr ()
data_ FunPtr C_DestroyNotify
forall a. FunPtr (Ptr a -> IO ())
notify
Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
foreign import ccall "clutter_feature_get_all" clutter_feature_get_all ::
IO CUInt
featureGetAll ::
(B.CallStack.HasCallStack, MonadIO m) =>
m [Clutter.Flags.FeatureFlags]
featureGetAll :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m [FeatureFlags]
featureGetAll = IO [FeatureFlags] -> m [FeatureFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [FeatureFlags] -> m [FeatureFlags])
-> IO [FeatureFlags] -> m [FeatureFlags]
forall a b. (a -> b) -> a -> b
$ do
CUInt
result <- IO CUInt
clutter_feature_get_all
let result' :: [FeatureFlags]
result' = CUInt -> [FeatureFlags]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
result
[FeatureFlags] -> IO [FeatureFlags]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [FeatureFlags]
result'
foreign import ccall "clutter_feature_available" clutter_feature_available ::
CUInt ->
IO CInt
featureAvailable ::
(B.CallStack.HasCallStack, MonadIO m) =>
[Clutter.Flags.FeatureFlags]
-> m Bool
featureAvailable :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
[FeatureFlags] -> m Bool
featureAvailable [FeatureFlags]
feature = SourceFunc -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (SourceFunc -> m Bool) -> SourceFunc -> m Bool
forall a b. (a -> b) -> a -> b
$ do
let feature' :: CUInt
feature' = [FeatureFlags] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [FeatureFlags]
feature
CInt
result <- CUInt -> IO CInt
clutter_feature_available CUInt
feature'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
Bool -> SourceFunc
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
foreign import ccall "clutter_events_pending" clutter_events_pending ::
IO CInt
eventsPending ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Bool
eventsPending :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Bool
eventsPending = SourceFunc -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (SourceFunc -> m Bool) -> SourceFunc -> m Bool
forall a b. (a -> b) -> a -> b
$ do
CInt
result <- IO CInt
clutter_events_pending
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
Bool -> SourceFunc
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
foreign import ccall "clutter_do_event" clutter_do_event ::
Ptr Clutter.Event.Event ->
IO ()
doEvent ::
(B.CallStack.HasCallStack, MonadIO m) =>
Clutter.Event.Event
-> m ()
doEvent :: forall (m :: * -> *). (HasCallStack, MonadIO m) => Event -> m ()
doEvent Event
event = 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 Event
event' <- Event -> IO (Ptr Event)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Event
event
Ptr Event -> IO ()
clutter_do_event Ptr Event
event'
Event -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Event
event
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_disable_accessibility" clutter_disable_accessibility ::
IO ()
disableAccessibility ::
(B.CallStack.HasCallStack, MonadIO m) =>
m ()
disableAccessibility :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m ()
disableAccessibility = 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
IO ()
clutter_disable_accessibility
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_clear_glyph_cache" clutter_clear_glyph_cache ::
IO ()
{-# DEPRECATED clearGlyphCache ["(Since version 1.10)","Use 'GI.Clutter.Functions.getFontMap' and"," 'GI.CoglPango.Functions.fontMapClearGlyphCache' instead."] #-}
clearGlyphCache ::
(B.CallStack.HasCallStack, MonadIO m) =>
m ()
clearGlyphCache :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m ()
clearGlyphCache = 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
IO ()
clutter_clear_glyph_cache
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_check_windowing_backend" clutter_check_windowing_backend ::
CString ->
IO CInt
checkWindowingBackend ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m Bool
checkWindowingBackend :: forall (m :: * -> *). (HasCallStack, MonadIO m) => Text -> m Bool
checkWindowingBackend Text
backendType = SourceFunc -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (SourceFunc -> m Bool) -> SourceFunc -> m Bool
forall a b. (a -> b) -> a -> b
$ do
CString
backendType' <- Text -> IO CString
textToCString Text
backendType
CInt
result <- CString -> IO CInt
clutter_check_windowing_backend CString
backendType'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
backendType'
Bool -> SourceFunc
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
foreign import ccall "clutter_check_version" clutter_check_version ::
Word32 ->
Word32 ->
Word32 ->
IO CInt
checkVersion ::
(B.CallStack.HasCallStack, MonadIO m) =>
Word32
-> Word32
-> Word32
-> m Bool
checkVersion :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Word32 -> Word32 -> Word32 -> m Bool
checkVersion Word32
major Word32
minor Word32
micro = SourceFunc -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (SourceFunc -> m Bool) -> SourceFunc -> m Bool
forall a b. (a -> b) -> a -> b
$ do
CInt
result <- Word32 -> Word32 -> Word32 -> IO CInt
clutter_check_version Word32
major Word32
minor Word32
micro
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
Bool -> SourceFunc
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
foreign import ccall "clutter_cairo_set_source_color" clutter_cairo_set_source_color ::
Ptr Cairo.Context.Context ->
Ptr Clutter.Color.Color ->
IO ()
cairoSetSourceColor ::
(B.CallStack.HasCallStack, MonadIO m) =>
Cairo.Context.Context
-> Clutter.Color.Color
-> m ()
cairoSetSourceColor :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Context -> Color -> m ()
cairoSetSourceColor Context
cr Color
color = 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 Context
cr' <- Context -> IO (Ptr Context)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Context
cr
Ptr Color
color' <- Color -> IO (Ptr Color)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Color
color
Ptr Context -> Ptr Color -> IO ()
clutter_cairo_set_source_color Ptr Context
cr' Ptr Color
color'
Context -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Context
cr
Color -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Color
color
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_cairo_clear" clutter_cairo_clear ::
Ptr Cairo.Context.Context ->
IO ()
cairoClear ::
(B.CallStack.HasCallStack, MonadIO m) =>
Cairo.Context.Context
-> m ()
cairoClear :: forall (m :: * -> *). (HasCallStack, MonadIO m) => Context -> m ()
cairoClear Context
cr = 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 Context
cr' <- Context -> IO (Ptr Context)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Context
cr
Ptr Context -> IO ()
clutter_cairo_clear Ptr Context
cr'
Context -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Context
cr
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "clutter_base_init" clutter_base_init ::
IO ()
baseInit ::
(B.CallStack.HasCallStack, MonadIO m) =>
m ()
baseInit :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m ()
baseInit = 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
IO ()
clutter_base_init
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()