{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GstVideo.Interfaces.Navigation
(
Navigation(..) ,
IsNavigation ,
#if defined(ENABLE_OVERLOADING)
ResolveNavigationMethod ,
#endif
navigationEventGetCoordinates ,
navigationEventGetType ,
navigationEventNewCommand ,
navigationEventNewKeyPress ,
navigationEventNewKeyRelease ,
navigationEventNewMouseButtonPress ,
navigationEventNewMouseButtonRelease ,
navigationEventNewMouseMove ,
navigationEventNewMouseScroll ,
navigationEventNewTouchCancel ,
navigationEventNewTouchDown ,
navigationEventNewTouchFrame ,
navigationEventNewTouchMotion ,
navigationEventNewTouchUp ,
navigationEventParseCommand ,
navigationEventParseKeyEvent ,
navigationEventParseModifierState ,
navigationEventParseMouseButtonEvent ,
navigationEventParseMouseMoveEvent ,
navigationEventParseMouseScrollEvent ,
navigationEventParseTouchEvent ,
navigationEventParseTouchUpEvent ,
navigationEventSetCoordinates ,
navigationMessageGetType ,
navigationMessageNewAnglesChanged ,
navigationMessageNewCommandsChanged ,
navigationMessageNewEvent ,
navigationMessageNewMouseOver ,
navigationMessageParseAnglesChanged ,
navigationMessageParseEvent ,
navigationMessageParseMouseOver ,
navigationQueryGetType ,
navigationQueryNewAngles ,
navigationQueryNewCommands ,
navigationQueryParseAngles ,
navigationQueryParseCommandsLength ,
navigationQueryParseCommandsNth ,
navigationQuerySetAngles ,
navigationQuerySetCommandsv ,
#if defined(ENABLE_OVERLOADING)
NavigationSendCommandMethodInfo ,
#endif
navigationSendCommand ,
#if defined(ENABLE_OVERLOADING)
NavigationSendEventMethodInfo ,
#endif
navigationSendEvent ,
#if defined(ENABLE_OVERLOADING)
NavigationSendEventSimpleMethodInfo ,
#endif
navigationSendEventSimple ,
#if defined(ENABLE_OVERLOADING)
NavigationSendKeyEventMethodInfo ,
#endif
navigationSendKeyEvent ,
#if defined(ENABLE_OVERLOADING)
NavigationSendMouseEventMethodInfo ,
#endif
navigationSendMouseEvent ,
#if defined(ENABLE_OVERLOADING)
NavigationSendMouseScrollEventMethodInfo,
#endif
navigationSendMouseScrollEvent ,
) 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 GI.Gst.Objects.Object as Gst.Object
import qualified GI.Gst.Structs.Event as Gst.Event
import qualified GI.Gst.Structs.Message as Gst.Message
import qualified GI.Gst.Structs.Query as Gst.Query
import qualified GI.Gst.Structs.Structure as Gst.Structure
import {-# SOURCE #-} qualified GI.GstVideo.Enums as GstVideo.Enums
import {-# SOURCE #-} qualified GI.GstVideo.Flags as GstVideo.Flags
newtype Navigation = Navigation (SP.ManagedPtr Navigation)
deriving (Navigation -> Navigation -> Bool
(Navigation -> Navigation -> Bool)
-> (Navigation -> Navigation -> Bool) -> Eq Navigation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Navigation -> Navigation -> Bool
== :: Navigation -> Navigation -> Bool
$c/= :: Navigation -> Navigation -> Bool
/= :: Navigation -> Navigation -> Bool
Eq)
instance SP.ManagedPtrNewtype Navigation where
toManagedPtr :: Navigation -> ManagedPtr Navigation
toManagedPtr (Navigation ManagedPtr Navigation
p) = ManagedPtr Navigation
p
class (ManagedPtrNewtype o, O.IsDescendantOf Navigation o) => IsNavigation o
instance (ManagedPtrNewtype o, O.IsDescendantOf Navigation o) => IsNavigation o
instance BoxedPtr Navigation where
boxedPtrCopy :: Navigation -> IO Navigation
boxedPtrCopy = Navigation -> IO Navigation
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return
boxedPtrFree :: Navigation -> IO ()
boxedPtrFree = \Navigation
_x -> () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
type family ResolveNavigationMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveNavigationMethod "sendCommand" o = NavigationSendCommandMethodInfo
ResolveNavigationMethod "sendEvent" o = NavigationSendEventMethodInfo
ResolveNavigationMethod "sendEventSimple" o = NavigationSendEventSimpleMethodInfo
ResolveNavigationMethod "sendKeyEvent" o = NavigationSendKeyEventMethodInfo
ResolveNavigationMethod "sendMouseEvent" o = NavigationSendMouseEventMethodInfo
ResolveNavigationMethod "sendMouseScrollEvent" o = NavigationSendMouseScrollEventMethodInfo
ResolveNavigationMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveNavigationMethod t Navigation, O.OverloadedMethod info Navigation p) => OL.IsLabel t (Navigation -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveNavigationMethod t Navigation, O.OverloadedMethod info Navigation p, R.HasField t Navigation p) => R.HasField t Navigation p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveNavigationMethod t Navigation, O.OverloadedMethodInfo info Navigation) => OL.IsLabel t (O.MethodProxy info Navigation) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
foreign import ccall "gst_navigation_send_command" gst_navigation_send_command ::
Ptr Navigation ->
CUInt ->
IO ()
navigationSendCommand ::
(B.CallStack.HasCallStack, MonadIO m, IsNavigation a) =>
a
-> GstVideo.Enums.NavigationCommand
-> m ()
navigationSendCommand :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsNavigation a) =>
a -> NavigationCommand -> m ()
navigationSendCommand a
navigation NavigationCommand
command = 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 Navigation
navigation' <- a -> IO (Ptr Navigation)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
navigation
let command' :: CUInt
command' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (NavigationCommand -> Int) -> NavigationCommand -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. NavigationCommand -> Int
forall a. Enum a => a -> Int
fromEnum) NavigationCommand
command
Ptr Navigation -> CUInt -> IO ()
gst_navigation_send_command Ptr Navigation
navigation' CUInt
command'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
navigation
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data NavigationSendCommandMethodInfo
instance (signature ~ (GstVideo.Enums.NavigationCommand -> m ()), MonadIO m, IsNavigation a) => O.OverloadedMethod NavigationSendCommandMethodInfo a signature where
overloadedMethod = navigationSendCommand
instance O.OverloadedMethodInfo NavigationSendCommandMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstVideo.Interfaces.Navigation.navigationSendCommand",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstvideo-1.0.28/docs/GI-GstVideo-Interfaces-Navigation.html#v:navigationSendCommand"
})
#endif
foreign import ccall "gst_navigation_send_event" gst_navigation_send_event ::
Ptr Navigation ->
Ptr Gst.Structure.Structure ->
IO ()
navigationSendEvent ::
(B.CallStack.HasCallStack, MonadIO m, IsNavigation a) =>
a
-> Gst.Structure.Structure
-> m ()
navigationSendEvent :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsNavigation a) =>
a -> Structure -> m ()
navigationSendEvent a
navigation Structure
structure = 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 Navigation
navigation' <- a -> IO (Ptr Navigation)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
navigation
Ptr Structure
structure' <- Structure -> IO (Ptr Structure)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Structure
structure
Ptr Navigation -> Ptr Structure -> IO ()
gst_navigation_send_event Ptr Navigation
navigation' Ptr Structure
structure'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
navigation
Structure -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Structure
structure
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data NavigationSendEventMethodInfo
instance (signature ~ (Gst.Structure.Structure -> m ()), MonadIO m, IsNavigation a) => O.OverloadedMethod NavigationSendEventMethodInfo a signature where
overloadedMethod = navigationSendEvent
instance O.OverloadedMethodInfo NavigationSendEventMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstVideo.Interfaces.Navigation.navigationSendEvent",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstvideo-1.0.28/docs/GI-GstVideo-Interfaces-Navigation.html#v:navigationSendEvent"
})
#endif
foreign import ccall "gst_navigation_send_event_simple" gst_navigation_send_event_simple ::
Ptr Navigation ->
Ptr Gst.Event.Event ->
IO ()
navigationSendEventSimple ::
(B.CallStack.HasCallStack, MonadIO m, IsNavigation a) =>
a
-> Gst.Event.Event
-> m ()
navigationSendEventSimple :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsNavigation a) =>
a -> Event -> m ()
navigationSendEventSimple a
navigation 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 Navigation
navigation' <- a -> IO (Ptr Navigation)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
navigation
Ptr Event
event' <- Event -> IO (Ptr Event)
forall a. (HasCallStack, GBoxed a) => a -> IO (Ptr a)
B.ManagedPtr.disownBoxed Event
event
Ptr Navigation -> Ptr Event -> IO ()
gst_navigation_send_event_simple Ptr Navigation
navigation' Ptr Event
event'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
navigation
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 ()
#if defined(ENABLE_OVERLOADING)
data NavigationSendEventSimpleMethodInfo
instance (signature ~ (Gst.Event.Event -> m ()), MonadIO m, IsNavigation a) => O.OverloadedMethod NavigationSendEventSimpleMethodInfo a signature where
overloadedMethod = navigationSendEventSimple
instance O.OverloadedMethodInfo NavigationSendEventSimpleMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstVideo.Interfaces.Navigation.navigationSendEventSimple",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstvideo-1.0.28/docs/GI-GstVideo-Interfaces-Navigation.html#v:navigationSendEventSimple"
})
#endif
foreign import ccall "gst_navigation_send_key_event" gst_navigation_send_key_event ::
Ptr Navigation ->
CString ->
CString ->
IO ()
navigationSendKeyEvent ::
(B.CallStack.HasCallStack, MonadIO m, IsNavigation a) =>
a
-> T.Text
-> T.Text
-> m ()
navigationSendKeyEvent :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsNavigation a) =>
a -> Text -> Text -> m ()
navigationSendKeyEvent a
navigation Text
event Text
key = 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 Navigation
navigation' <- a -> IO (Ptr Navigation)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
navigation
CString
event' <- Text -> IO CString
textToCString Text
event
CString
key' <- Text -> IO CString
textToCString Text
key
Ptr Navigation -> CString -> CString -> IO ()
gst_navigation_send_key_event Ptr Navigation
navigation' CString
event' CString
key'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
navigation
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
event'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data NavigationSendKeyEventMethodInfo
instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, IsNavigation a) => O.OverloadedMethod NavigationSendKeyEventMethodInfo a signature where
overloadedMethod = navigationSendKeyEvent
instance O.OverloadedMethodInfo NavigationSendKeyEventMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstVideo.Interfaces.Navigation.navigationSendKeyEvent",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstvideo-1.0.28/docs/GI-GstVideo-Interfaces-Navigation.html#v:navigationSendKeyEvent"
})
#endif
foreign import ccall "gst_navigation_send_mouse_event" gst_navigation_send_mouse_event ::
Ptr Navigation ->
CString ->
Int32 ->
CDouble ->
CDouble ->
IO ()
navigationSendMouseEvent ::
(B.CallStack.HasCallStack, MonadIO m, IsNavigation a) =>
a
-> T.Text
-> Int32
-> Double
-> Double
-> m ()
navigationSendMouseEvent :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsNavigation a) =>
a -> Text -> Int32 -> Double -> Double -> m ()
navigationSendMouseEvent a
navigation Text
event Int32
button Double
x Double
y = 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 Navigation
navigation' <- a -> IO (Ptr Navigation)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
navigation
CString
event' <- Text -> IO CString
textToCString Text
event
let x' :: CDouble
x' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
x
let y' :: CDouble
y' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
y
Ptr Navigation -> CString -> Int32 -> CDouble -> CDouble -> IO ()
gst_navigation_send_mouse_event Ptr Navigation
navigation' CString
event' Int32
button CDouble
x' CDouble
y'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
navigation
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
event'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data NavigationSendMouseEventMethodInfo
instance (signature ~ (T.Text -> Int32 -> Double -> Double -> m ()), MonadIO m, IsNavigation a) => O.OverloadedMethod NavigationSendMouseEventMethodInfo a signature where
overloadedMethod = navigationSendMouseEvent
instance O.OverloadedMethodInfo NavigationSendMouseEventMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstVideo.Interfaces.Navigation.navigationSendMouseEvent",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstvideo-1.0.28/docs/GI-GstVideo-Interfaces-Navigation.html#v:navigationSendMouseEvent"
})
#endif
foreign import ccall "gst_navigation_send_mouse_scroll_event" gst_navigation_send_mouse_scroll_event ::
Ptr Navigation ->
CDouble ->
CDouble ->
CDouble ->
CDouble ->
IO ()
navigationSendMouseScrollEvent ::
(B.CallStack.HasCallStack, MonadIO m, IsNavigation a) =>
a
-> Double
-> Double
-> Double
-> Double
-> m ()
navigationSendMouseScrollEvent :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsNavigation a) =>
a -> Double -> Double -> Double -> Double -> m ()
navigationSendMouseScrollEvent a
navigation Double
x Double
y Double
deltaX Double
deltaY = 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 Navigation
navigation' <- a -> IO (Ptr Navigation)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
navigation
let x' :: CDouble
x' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
x
let y' :: CDouble
y' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
y
let deltaX' :: CDouble
deltaX' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
deltaX
let deltaY' :: CDouble
deltaY' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
deltaY
Ptr Navigation -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
gst_navigation_send_mouse_scroll_event Ptr Navigation
navigation' CDouble
x' CDouble
y' CDouble
deltaX' CDouble
deltaY'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
navigation
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data NavigationSendMouseScrollEventMethodInfo
instance (signature ~ (Double -> Double -> Double -> Double -> m ()), MonadIO m, IsNavigation a) => O.OverloadedMethod NavigationSendMouseScrollEventMethodInfo a signature where
overloadedMethod = navigationSendMouseScrollEvent
instance O.OverloadedMethodInfo NavigationSendMouseScrollEventMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstVideo.Interfaces.Navigation.navigationSendMouseScrollEvent",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstvideo-1.0.28/docs/GI-GstVideo-Interfaces-Navigation.html#v:navigationSendMouseScrollEvent"
})
#endif
foreign import ccall "gst_navigation_event_get_coordinates" gst_navigation_event_get_coordinates ::
Ptr Gst.Event.Event ->
Ptr CDouble ->
Ptr CDouble ->
IO CInt
navigationEventGetCoordinates ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Event.Event
-> m ((Bool, Double, Double))
navigationEventGetCoordinates :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Event -> m (Bool, Double, Double)
navigationEventGetCoordinates Event
event = IO (Bool, Double, Double) -> m (Bool, Double, Double)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Double, Double) -> m (Bool, Double, Double))
-> IO (Bool, Double, Double) -> m (Bool, Double, Double)
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 CDouble
x <- IO (Ptr CDouble)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CDouble)
Ptr CDouble
y <- IO (Ptr CDouble)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CDouble)
CInt
result <- Ptr Event -> Ptr CDouble -> Ptr CDouble -> IO CInt
gst_navigation_event_get_coordinates Ptr Event
event' Ptr CDouble
x Ptr CDouble
y
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
CDouble
x' <- Ptr CDouble -> IO CDouble
forall a. Storable a => Ptr a -> IO a
peek Ptr CDouble
x
let x'' :: Double
x'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
x'
CDouble
y' <- Ptr CDouble -> IO CDouble
forall a. Storable a => Ptr a -> IO a
peek Ptr CDouble
y
let y'' :: Double
y'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
y'
Event -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Event
event
Ptr CDouble -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CDouble
x
Ptr CDouble -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CDouble
y
(Bool, Double, Double) -> IO (Bool, Double, Double)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Double
x'', Double
y'')
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_get_type" gst_navigation_event_get_type ::
Ptr Gst.Event.Event ->
IO CUInt
navigationEventGetType ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Event.Event
-> m GstVideo.Enums.NavigationEventType
navigationEventGetType :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Event -> m NavigationEventType
navigationEventGetType Event
event = IO NavigationEventType -> m NavigationEventType
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO NavigationEventType -> m NavigationEventType)
-> IO NavigationEventType -> m NavigationEventType
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
CUInt
result <- Ptr Event -> IO CUInt
gst_navigation_event_get_type Ptr Event
event'
let result' :: NavigationEventType
result' = (Int -> NavigationEventType
forall a. Enum a => Int -> a
toEnum (Int -> NavigationEventType)
-> (CUInt -> Int) -> CUInt -> NavigationEventType
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
Event -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Event
event
NavigationEventType -> IO NavigationEventType
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return NavigationEventType
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_new_command" gst_navigation_event_new_command ::
CUInt ->
IO (Ptr Gst.Event.Event)
navigationEventNewCommand ::
(B.CallStack.HasCallStack, MonadIO m) =>
GstVideo.Enums.NavigationCommand
-> m Gst.Event.Event
navigationEventNewCommand :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
NavigationCommand -> m Event
navigationEventNewCommand NavigationCommand
command = 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
let command' :: CUInt
command' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (NavigationCommand -> Int) -> NavigationCommand -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. NavigationCommand -> Int
forall a. Enum a => a -> Int
fromEnum) NavigationCommand
command
Ptr Event
result <- CUInt -> IO (Ptr Event)
gst_navigation_event_new_command CUInt
command'
Text -> Ptr Event -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"navigationEventNewCommand" Ptr Event
result
Event
result' <- ((ManagedPtr Event -> Event) -> Ptr Event -> IO Event
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Event -> Event
Gst.Event.Event) Ptr Event
result
Event -> IO Event
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Event
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_new_key_press" gst_navigation_event_new_key_press ::
CString ->
CUInt ->
IO (Ptr Gst.Event.Event)
navigationEventNewKeyPress ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> [GstVideo.Flags.NavigationModifierType]
-> m Gst.Event.Event
navigationEventNewKeyPress :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Text -> [NavigationModifierType] -> m Event
navigationEventNewKeyPress Text
key [NavigationModifierType]
state = 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
CString
key' <- Text -> IO CString
textToCString Text
key
let state' :: CUInt
state' = [NavigationModifierType] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [NavigationModifierType]
state
Ptr Event
result <- CString -> CUInt -> IO (Ptr Event)
gst_navigation_event_new_key_press CString
key' CUInt
state'
Text -> Ptr Event -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"navigationEventNewKeyPress" Ptr Event
result
Event
result' <- ((ManagedPtr Event -> Event) -> Ptr Event -> IO Event
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Event -> Event
Gst.Event.Event) Ptr Event
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
Event -> IO Event
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Event
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_new_key_release" gst_navigation_event_new_key_release ::
CString ->
CUInt ->
IO (Ptr Gst.Event.Event)
navigationEventNewKeyRelease ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> [GstVideo.Flags.NavigationModifierType]
-> m Gst.Event.Event
navigationEventNewKeyRelease :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Text -> [NavigationModifierType] -> m Event
navigationEventNewKeyRelease Text
key [NavigationModifierType]
state = 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
CString
key' <- Text -> IO CString
textToCString Text
key
let state' :: CUInt
state' = [NavigationModifierType] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [NavigationModifierType]
state
Ptr Event
result <- CString -> CUInt -> IO (Ptr Event)
gst_navigation_event_new_key_release CString
key' CUInt
state'
Text -> Ptr Event -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"navigationEventNewKeyRelease" Ptr Event
result
Event
result' <- ((ManagedPtr Event -> Event) -> Ptr Event -> IO Event
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Event -> Event
Gst.Event.Event) Ptr Event
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
key'
Event -> IO Event
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Event
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_new_mouse_button_press" gst_navigation_event_new_mouse_button_press ::
Int32 ->
CDouble ->
CDouble ->
CUInt ->
IO (Ptr Gst.Event.Event)
navigationEventNewMouseButtonPress ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> Double
-> Double
-> [GstVideo.Flags.NavigationModifierType]
-> m Gst.Event.Event
navigationEventNewMouseButtonPress :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Int32 -> Double -> Double -> [NavigationModifierType] -> m Event
navigationEventNewMouseButtonPress Int32
button Double
x Double
y [NavigationModifierType]
state = 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
let x' :: CDouble
x' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
x
let y' :: CDouble
y' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
y
let state' :: CUInt
state' = [NavigationModifierType] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [NavigationModifierType]
state
Ptr Event
result <- Int32 -> CDouble -> CDouble -> CUInt -> IO (Ptr Event)
gst_navigation_event_new_mouse_button_press Int32
button CDouble
x' CDouble
y' CUInt
state'
Text -> Ptr Event -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"navigationEventNewMouseButtonPress" Ptr Event
result
Event
result' <- ((ManagedPtr Event -> Event) -> Ptr Event -> IO Event
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Event -> Event
Gst.Event.Event) Ptr Event
result
Event -> IO Event
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Event
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_new_mouse_button_release" gst_navigation_event_new_mouse_button_release ::
Int32 ->
CDouble ->
CDouble ->
CUInt ->
IO (Ptr Gst.Event.Event)
navigationEventNewMouseButtonRelease ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> Double
-> Double
-> [GstVideo.Flags.NavigationModifierType]
-> m Gst.Event.Event
navigationEventNewMouseButtonRelease :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Int32 -> Double -> Double -> [NavigationModifierType] -> m Event
navigationEventNewMouseButtonRelease Int32
button Double
x Double
y [NavigationModifierType]
state = 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
let x' :: CDouble
x' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
x
let y' :: CDouble
y' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
y
let state' :: CUInt
state' = [NavigationModifierType] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [NavigationModifierType]
state
Ptr Event
result <- Int32 -> CDouble -> CDouble -> CUInt -> IO (Ptr Event)
gst_navigation_event_new_mouse_button_release Int32
button CDouble
x' CDouble
y' CUInt
state'
Text -> Ptr Event -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"navigationEventNewMouseButtonRelease" Ptr Event
result
Event
result' <- ((ManagedPtr Event -> Event) -> Ptr Event -> IO Event
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Event -> Event
Gst.Event.Event) Ptr Event
result
Event -> IO Event
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Event
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_new_mouse_move" gst_navigation_event_new_mouse_move ::
CDouble ->
CDouble ->
CUInt ->
IO (Ptr Gst.Event.Event)
navigationEventNewMouseMove ::
(B.CallStack.HasCallStack, MonadIO m) =>
Double
-> Double
-> [GstVideo.Flags.NavigationModifierType]
-> m Gst.Event.Event
navigationEventNewMouseMove :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Double -> Double -> [NavigationModifierType] -> m Event
navigationEventNewMouseMove Double
x Double
y [NavigationModifierType]
state = 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
let x' :: CDouble
x' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
x
let y' :: CDouble
y' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
y
let state' :: CUInt
state' = [NavigationModifierType] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [NavigationModifierType]
state
Ptr Event
result <- CDouble -> CDouble -> CUInt -> IO (Ptr Event)
gst_navigation_event_new_mouse_move CDouble
x' CDouble
y' CUInt
state'
Text -> Ptr Event -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"navigationEventNewMouseMove" Ptr Event
result
Event
result' <- ((ManagedPtr Event -> Event) -> Ptr Event -> IO Event
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Event -> Event
Gst.Event.Event) Ptr Event
result
Event -> IO Event
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Event
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_new_mouse_scroll" gst_navigation_event_new_mouse_scroll ::
CDouble ->
CDouble ->
CDouble ->
CDouble ->
CUInt ->
IO (Ptr Gst.Event.Event)
navigationEventNewMouseScroll ::
(B.CallStack.HasCallStack, MonadIO m) =>
Double
-> Double
-> Double
-> Double
-> [GstVideo.Flags.NavigationModifierType]
-> m Gst.Event.Event
navigationEventNewMouseScroll :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Double
-> Double
-> Double
-> Double
-> [NavigationModifierType]
-> m Event
navigationEventNewMouseScroll Double
x Double
y Double
deltaX Double
deltaY [NavigationModifierType]
state = 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
let x' :: CDouble
x' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
x
let y' :: CDouble
y' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
y
let deltaX' :: CDouble
deltaX' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
deltaX
let deltaY' :: CDouble
deltaY' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
deltaY
let state' :: CUInt
state' = [NavigationModifierType] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [NavigationModifierType]
state
Ptr Event
result <- CDouble -> CDouble -> CDouble -> CDouble -> CUInt -> IO (Ptr Event)
gst_navigation_event_new_mouse_scroll CDouble
x' CDouble
y' CDouble
deltaX' CDouble
deltaY' CUInt
state'
Text -> Ptr Event -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"navigationEventNewMouseScroll" Ptr Event
result
Event
result' <- ((ManagedPtr Event -> Event) -> Ptr Event -> IO Event
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Event -> Event
Gst.Event.Event) Ptr Event
result
Event -> IO Event
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Event
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_new_touch_cancel" gst_navigation_event_new_touch_cancel ::
CUInt ->
IO (Ptr Gst.Event.Event)
navigationEventNewTouchCancel ::
(B.CallStack.HasCallStack, MonadIO m) =>
[GstVideo.Flags.NavigationModifierType]
-> m Gst.Event.Event
navigationEventNewTouchCancel :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
[NavigationModifierType] -> m Event
navigationEventNewTouchCancel [NavigationModifierType]
state = 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
let state' :: CUInt
state' = [NavigationModifierType] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [NavigationModifierType]
state
Ptr Event
result <- CUInt -> IO (Ptr Event)
gst_navigation_event_new_touch_cancel CUInt
state'
Text -> Ptr Event -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"navigationEventNewTouchCancel" Ptr Event
result
Event
result' <- ((ManagedPtr Event -> Event) -> Ptr Event -> IO Event
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Event -> Event
Gst.Event.Event) Ptr Event
result
Event -> IO Event
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Event
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_new_touch_down" gst_navigation_event_new_touch_down ::
Word32 ->
CDouble ->
CDouble ->
CDouble ->
CUInt ->
IO (Ptr Gst.Event.Event)
navigationEventNewTouchDown ::
(B.CallStack.HasCallStack, MonadIO m) =>
Word32
-> Double
-> Double
-> Double
-> [GstVideo.Flags.NavigationModifierType]
-> m Gst.Event.Event
navigationEventNewTouchDown :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Word32
-> Double
-> Double
-> Double
-> [NavigationModifierType]
-> m Event
navigationEventNewTouchDown Word32
identifier Double
x Double
y Double
pressure [NavigationModifierType]
state = 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
let x' :: CDouble
x' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
x
let y' :: CDouble
y' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
y
let pressure' :: CDouble
pressure' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
pressure
let state' :: CUInt
state' = [NavigationModifierType] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [NavigationModifierType]
state
Ptr Event
result <- Word32 -> CDouble -> CDouble -> CDouble -> CUInt -> IO (Ptr Event)
gst_navigation_event_new_touch_down Word32
identifier CDouble
x' CDouble
y' CDouble
pressure' CUInt
state'
Text -> Ptr Event -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"navigationEventNewTouchDown" Ptr Event
result
Event
result' <- ((ManagedPtr Event -> Event) -> Ptr Event -> IO Event
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Event -> Event
Gst.Event.Event) Ptr Event
result
Event -> IO Event
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Event
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_new_touch_frame" gst_navigation_event_new_touch_frame ::
CUInt ->
IO (Ptr Gst.Event.Event)
navigationEventNewTouchFrame ::
(B.CallStack.HasCallStack, MonadIO m) =>
[GstVideo.Flags.NavigationModifierType]
-> m Gst.Event.Event
navigationEventNewTouchFrame :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
[NavigationModifierType] -> m Event
navigationEventNewTouchFrame [NavigationModifierType]
state = 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
let state' :: CUInt
state' = [NavigationModifierType] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [NavigationModifierType]
state
Ptr Event
result <- CUInt -> IO (Ptr Event)
gst_navigation_event_new_touch_frame CUInt
state'
Text -> Ptr Event -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"navigationEventNewTouchFrame" Ptr Event
result
Event
result' <- ((ManagedPtr Event -> Event) -> Ptr Event -> IO Event
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Event -> Event
Gst.Event.Event) Ptr Event
result
Event -> IO Event
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Event
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_new_touch_motion" gst_navigation_event_new_touch_motion ::
Word32 ->
CDouble ->
CDouble ->
CDouble ->
CUInt ->
IO (Ptr Gst.Event.Event)
navigationEventNewTouchMotion ::
(B.CallStack.HasCallStack, MonadIO m) =>
Word32
-> Double
-> Double
-> Double
-> [GstVideo.Flags.NavigationModifierType]
-> m Gst.Event.Event
navigationEventNewTouchMotion :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Word32
-> Double
-> Double
-> Double
-> [NavigationModifierType]
-> m Event
navigationEventNewTouchMotion Word32
identifier Double
x Double
y Double
pressure [NavigationModifierType]
state = 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
let x' :: CDouble
x' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
x
let y' :: CDouble
y' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
y
let pressure' :: CDouble
pressure' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
pressure
let state' :: CUInt
state' = [NavigationModifierType] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [NavigationModifierType]
state
Ptr Event
result <- Word32 -> CDouble -> CDouble -> CDouble -> CUInt -> IO (Ptr Event)
gst_navigation_event_new_touch_motion Word32
identifier CDouble
x' CDouble
y' CDouble
pressure' CUInt
state'
Text -> Ptr Event -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"navigationEventNewTouchMotion" Ptr Event
result
Event
result' <- ((ManagedPtr Event -> Event) -> Ptr Event -> IO Event
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Event -> Event
Gst.Event.Event) Ptr Event
result
Event -> IO Event
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Event
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_new_touch_up" gst_navigation_event_new_touch_up ::
Word32 ->
CDouble ->
CDouble ->
CUInt ->
IO (Ptr Gst.Event.Event)
navigationEventNewTouchUp ::
(B.CallStack.HasCallStack, MonadIO m) =>
Word32
-> Double
-> Double
-> [GstVideo.Flags.NavigationModifierType]
-> m Gst.Event.Event
navigationEventNewTouchUp :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Word32 -> Double -> Double -> [NavigationModifierType] -> m Event
navigationEventNewTouchUp Word32
identifier Double
x Double
y [NavigationModifierType]
state = 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
let x' :: CDouble
x' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
x
let y' :: CDouble
y' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
y
let state' :: CUInt
state' = [NavigationModifierType] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [NavigationModifierType]
state
Ptr Event
result <- Word32 -> CDouble -> CDouble -> CUInt -> IO (Ptr Event)
gst_navigation_event_new_touch_up Word32
identifier CDouble
x' CDouble
y' CUInt
state'
Text -> Ptr Event -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"navigationEventNewTouchUp" Ptr Event
result
Event
result' <- ((ManagedPtr Event -> Event) -> Ptr Event -> IO Event
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Event -> Event
Gst.Event.Event) Ptr Event
result
Event -> IO Event
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Event
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_parse_command" gst_navigation_event_parse_command ::
Ptr Gst.Event.Event ->
Ptr CUInt ->
IO CInt
navigationEventParseCommand ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Event.Event
-> m ((Bool, GstVideo.Enums.NavigationCommand))
navigationEventParseCommand :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Event -> m (Bool, NavigationCommand)
navigationEventParseCommand Event
event = IO (Bool, NavigationCommand) -> m (Bool, NavigationCommand)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, NavigationCommand) -> m (Bool, NavigationCommand))
-> IO (Bool, NavigationCommand) -> m (Bool, NavigationCommand)
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 CUInt
command <- IO (Ptr CUInt)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CUInt)
CInt
result <- Ptr Event -> Ptr CUInt -> IO CInt
gst_navigation_event_parse_command Ptr Event
event' Ptr CUInt
command
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
CUInt
command' <- Ptr CUInt -> IO CUInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CUInt
command
let command'' :: NavigationCommand
command'' = (Int -> NavigationCommand
forall a. Enum a => Int -> a
toEnum (Int -> NavigationCommand)
-> (CUInt -> Int) -> CUInt -> NavigationCommand
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
command'
Event -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Event
event
Ptr CUInt -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CUInt
command
(Bool, NavigationCommand) -> IO (Bool, NavigationCommand)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', NavigationCommand
command'')
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_parse_key_event" gst_navigation_event_parse_key_event ::
Ptr Gst.Event.Event ->
Ptr CString ->
IO CInt
navigationEventParseKeyEvent ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Event.Event
-> m ((Bool, T.Text))
navigationEventParseKeyEvent :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Event -> m (Bool, Text)
navigationEventParseKeyEvent Event
event = IO (Bool, Text) -> m (Bool, Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Text) -> m (Bool, Text))
-> IO (Bool, Text) -> m (Bool, Text)
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 CString
key <- IO (Ptr CString)
forall a. Storable a => IO (Ptr a)
callocMem :: IO (Ptr CString)
CInt
result <- Ptr Event -> Ptr CString -> IO CInt
gst_navigation_event_parse_key_event Ptr Event
event' Ptr CString
key
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
CString
key' <- Ptr CString -> IO CString
forall a. Storable a => Ptr a -> IO a
peek Ptr CString
key
Text
key'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
key'
Event -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Event
event
Ptr CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
key
(Bool, Text) -> IO (Bool, Text)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Text
key'')
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_parse_modifier_state" gst_navigation_event_parse_modifier_state ::
Ptr Gst.Event.Event ->
CUInt ->
IO CInt
navigationEventParseModifierState ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Event.Event
-> [GstVideo.Flags.NavigationModifierType]
-> m Bool
navigationEventParseModifierState :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Event -> [NavigationModifierType] -> m Bool
navigationEventParseModifierState Event
event [NavigationModifierType]
state = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr Event
event' <- Event -> IO (Ptr Event)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Event
event
let state' :: CUInt
state' = [NavigationModifierType] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [NavigationModifierType]
state
CInt
result <- Ptr Event -> CUInt -> IO CInt
gst_navigation_event_parse_modifier_state Ptr Event
event' CUInt
state'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
Event -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Event
event
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_parse_mouse_button_event" gst_navigation_event_parse_mouse_button_event ::
Ptr Gst.Event.Event ->
Ptr Int32 ->
Ptr CDouble ->
Ptr CDouble ->
IO CInt
navigationEventParseMouseButtonEvent ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Event.Event
-> m ((Bool, Int32, Double, Double))
navigationEventParseMouseButtonEvent :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Event -> m (Bool, Int32, Double, Double)
navigationEventParseMouseButtonEvent Event
event = IO (Bool, Int32, Double, Double) -> m (Bool, Int32, Double, Double)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Int32, Double, Double)
-> m (Bool, Int32, Double, Double))
-> IO (Bool, Int32, Double, Double)
-> m (Bool, Int32, Double, Double)
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 Int32
button <- IO (Ptr Int32)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Int32)
Ptr CDouble
x <- IO (Ptr CDouble)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CDouble)
Ptr CDouble
y <- IO (Ptr CDouble)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CDouble)
CInt
result <- Ptr Event -> Ptr Int32 -> Ptr CDouble -> Ptr CDouble -> IO CInt
gst_navigation_event_parse_mouse_button_event Ptr Event
event' Ptr Int32
button Ptr CDouble
x Ptr CDouble
y
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
Int32
button' <- Ptr Int32 -> IO Int32
forall a. Storable a => Ptr a -> IO a
peek Ptr Int32
button
CDouble
x' <- Ptr CDouble -> IO CDouble
forall a. Storable a => Ptr a -> IO a
peek Ptr CDouble
x
let x'' :: Double
x'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
x'
CDouble
y' <- Ptr CDouble -> IO CDouble
forall a. Storable a => Ptr a -> IO a
peek Ptr CDouble
y
let y'' :: Double
y'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
y'
Event -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Event
event
Ptr Int32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Int32
button
Ptr CDouble -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CDouble
x
Ptr CDouble -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CDouble
y
(Bool, Int32, Double, Double) -> IO (Bool, Int32, Double, Double)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Int32
button', Double
x'', Double
y'')
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_parse_mouse_move_event" gst_navigation_event_parse_mouse_move_event ::
Ptr Gst.Event.Event ->
Ptr CDouble ->
Ptr CDouble ->
IO CInt
navigationEventParseMouseMoveEvent ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Event.Event
-> m ((Bool, Double, Double))
navigationEventParseMouseMoveEvent :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Event -> m (Bool, Double, Double)
navigationEventParseMouseMoveEvent Event
event = IO (Bool, Double, Double) -> m (Bool, Double, Double)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Double, Double) -> m (Bool, Double, Double))
-> IO (Bool, Double, Double) -> m (Bool, Double, Double)
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 CDouble
x <- IO (Ptr CDouble)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CDouble)
Ptr CDouble
y <- IO (Ptr CDouble)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CDouble)
CInt
result <- Ptr Event -> Ptr CDouble -> Ptr CDouble -> IO CInt
gst_navigation_event_parse_mouse_move_event Ptr Event
event' Ptr CDouble
x Ptr CDouble
y
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
CDouble
x' <- Ptr CDouble -> IO CDouble
forall a. Storable a => Ptr a -> IO a
peek Ptr CDouble
x
let x'' :: Double
x'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
x'
CDouble
y' <- Ptr CDouble -> IO CDouble
forall a. Storable a => Ptr a -> IO a
peek Ptr CDouble
y
let y'' :: Double
y'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
y'
Event -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Event
event
Ptr CDouble -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CDouble
x
Ptr CDouble -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CDouble
y
(Bool, Double, Double) -> IO (Bool, Double, Double)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Double
x'', Double
y'')
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_parse_mouse_scroll_event" gst_navigation_event_parse_mouse_scroll_event ::
Ptr Gst.Event.Event ->
Ptr CDouble ->
Ptr CDouble ->
Ptr CDouble ->
Ptr CDouble ->
IO CInt
navigationEventParseMouseScrollEvent ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Event.Event
-> m ((Bool, Double, Double, Double, Double))
navigationEventParseMouseScrollEvent :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Event -> m (Bool, Double, Double, Double, Double)
navigationEventParseMouseScrollEvent Event
event = IO (Bool, Double, Double, Double, Double)
-> m (Bool, Double, Double, Double, Double)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Double, Double, Double, Double)
-> m (Bool, Double, Double, Double, Double))
-> IO (Bool, Double, Double, Double, Double)
-> m (Bool, Double, Double, Double, Double)
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 CDouble
x <- IO (Ptr CDouble)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CDouble)
Ptr CDouble
y <- IO (Ptr CDouble)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CDouble)
Ptr CDouble
deltaX <- IO (Ptr CDouble)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CDouble)
Ptr CDouble
deltaY <- IO (Ptr CDouble)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CDouble)
CInt
result <- Ptr Event
-> Ptr CDouble
-> Ptr CDouble
-> Ptr CDouble
-> Ptr CDouble
-> IO CInt
gst_navigation_event_parse_mouse_scroll_event Ptr Event
event' Ptr CDouble
x Ptr CDouble
y Ptr CDouble
deltaX Ptr CDouble
deltaY
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
CDouble
x' <- Ptr CDouble -> IO CDouble
forall a. Storable a => Ptr a -> IO a
peek Ptr CDouble
x
let x'' :: Double
x'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
x'
CDouble
y' <- Ptr CDouble -> IO CDouble
forall a. Storable a => Ptr a -> IO a
peek Ptr CDouble
y
let y'' :: Double
y'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
y'
CDouble
deltaX' <- Ptr CDouble -> IO CDouble
forall a. Storable a => Ptr a -> IO a
peek Ptr CDouble
deltaX
let deltaX'' :: Double
deltaX'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
deltaX'
CDouble
deltaY' <- Ptr CDouble -> IO CDouble
forall a. Storable a => Ptr a -> IO a
peek Ptr CDouble
deltaY
let deltaY'' :: Double
deltaY'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
deltaY'
Event -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Event
event
Ptr CDouble -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CDouble
x
Ptr CDouble -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CDouble
y
Ptr CDouble -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CDouble
deltaX
Ptr CDouble -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CDouble
deltaY
(Bool, Double, Double, Double, Double)
-> IO (Bool, Double, Double, Double, Double)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Double
x'', Double
y'', Double
deltaX'', Double
deltaY'')
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_parse_touch_event" gst_navigation_event_parse_touch_event ::
Ptr Gst.Event.Event ->
Ptr Word32 ->
Ptr CDouble ->
Ptr CDouble ->
Ptr CDouble ->
IO CInt
navigationEventParseTouchEvent ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Event.Event
-> m ((Bool, Word32, Double, Double, Double))
navigationEventParseTouchEvent :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Event -> m (Bool, Word32, Double, Double, Double)
navigationEventParseTouchEvent Event
event = IO (Bool, Word32, Double, Double, Double)
-> m (Bool, Word32, Double, Double, Double)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Word32, Double, Double, Double)
-> m (Bool, Word32, Double, Double, Double))
-> IO (Bool, Word32, Double, Double, Double)
-> m (Bool, Word32, Double, Double, Double)
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 Word32
identifier <- IO (Ptr Word32)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Word32)
Ptr CDouble
x <- IO (Ptr CDouble)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CDouble)
Ptr CDouble
y <- IO (Ptr CDouble)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CDouble)
Ptr CDouble
pressure <- IO (Ptr CDouble)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CDouble)
CInt
result <- Ptr Event
-> Ptr Word32
-> Ptr CDouble
-> Ptr CDouble
-> Ptr CDouble
-> IO CInt
gst_navigation_event_parse_touch_event Ptr Event
event' Ptr Word32
identifier Ptr CDouble
x Ptr CDouble
y Ptr CDouble
pressure
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
Word32
identifier' <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek Ptr Word32
identifier
CDouble
x' <- Ptr CDouble -> IO CDouble
forall a. Storable a => Ptr a -> IO a
peek Ptr CDouble
x
let x'' :: Double
x'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
x'
CDouble
y' <- Ptr CDouble -> IO CDouble
forall a. Storable a => Ptr a -> IO a
peek Ptr CDouble
y
let y'' :: Double
y'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
y'
CDouble
pressure' <- Ptr CDouble -> IO CDouble
forall a. Storable a => Ptr a -> IO a
peek Ptr CDouble
pressure
let pressure'' :: Double
pressure'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
pressure'
Event -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Event
event
Ptr Word32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word32
identifier
Ptr CDouble -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CDouble
x
Ptr CDouble -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CDouble
y
Ptr CDouble -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CDouble
pressure
(Bool, Word32, Double, Double, Double)
-> IO (Bool, Word32, Double, Double, Double)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Word32
identifier', Double
x'', Double
y'', Double
pressure'')
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_parse_touch_up_event" gst_navigation_event_parse_touch_up_event ::
Ptr Gst.Event.Event ->
Ptr Word32 ->
Ptr CDouble ->
Ptr CDouble ->
IO CInt
navigationEventParseTouchUpEvent ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Event.Event
-> m ((Bool, Word32, Double, Double))
navigationEventParseTouchUpEvent :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Event -> m (Bool, Word32, Double, Double)
navigationEventParseTouchUpEvent Event
event = IO (Bool, Word32, Double, Double)
-> m (Bool, Word32, Double, Double)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Word32, Double, Double)
-> m (Bool, Word32, Double, Double))
-> IO (Bool, Word32, Double, Double)
-> m (Bool, Word32, Double, Double)
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 Word32
identifier <- IO (Ptr Word32)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Word32)
Ptr CDouble
x <- IO (Ptr CDouble)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CDouble)
Ptr CDouble
y <- IO (Ptr CDouble)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CDouble)
CInt
result <- Ptr Event -> Ptr Word32 -> Ptr CDouble -> Ptr CDouble -> IO CInt
gst_navigation_event_parse_touch_up_event Ptr Event
event' Ptr Word32
identifier Ptr CDouble
x Ptr CDouble
y
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
Word32
identifier' <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek Ptr Word32
identifier
CDouble
x' <- Ptr CDouble -> IO CDouble
forall a. Storable a => Ptr a -> IO a
peek Ptr CDouble
x
let x'' :: Double
x'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
x'
CDouble
y' <- Ptr CDouble -> IO CDouble
forall a. Storable a => Ptr a -> IO a
peek Ptr CDouble
y
let y'' :: Double
y'' = CDouble -> Double
forall a b. (Real a, Fractional b) => a -> b
realToFrac CDouble
y'
Event -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Event
event
Ptr Word32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word32
identifier
Ptr CDouble -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CDouble
x
Ptr CDouble -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CDouble
y
(Bool, Word32, Double, Double) -> IO (Bool, Word32, Double, Double)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Word32
identifier', Double
x'', Double
y'')
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_event_set_coordinates" gst_navigation_event_set_coordinates ::
Ptr Gst.Event.Event ->
CDouble ->
CDouble ->
IO CInt
navigationEventSetCoordinates ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Event.Event
-> Double
-> Double
-> m Bool
navigationEventSetCoordinates :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Event -> Double -> Double -> m Bool
navigationEventSetCoordinates Event
event Double
x Double
y = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
Ptr Event
event' <- Event -> IO (Ptr Event)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Event
event
let x' :: CDouble
x' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
x
let y' :: CDouble
y' = Double -> CDouble
forall a b. (Real a, Fractional b) => a -> b
realToFrac Double
y
CInt
result <- Ptr Event -> CDouble -> CDouble -> IO CInt
gst_navigation_event_set_coordinates Ptr Event
event' CDouble
x' CDouble
y'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
Event -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Event
event
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_message_get_type" gst_navigation_message_get_type ::
Ptr Gst.Message.Message ->
IO CUInt
navigationMessageGetType ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Message.Message
-> m GstVideo.Enums.NavigationMessageType
navigationMessageGetType :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Message -> m NavigationMessageType
navigationMessageGetType Message
message = IO NavigationMessageType -> m NavigationMessageType
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO NavigationMessageType -> m NavigationMessageType)
-> IO NavigationMessageType -> m NavigationMessageType
forall a b. (a -> b) -> a -> b
$ do
Ptr Message
message' <- Message -> IO (Ptr Message)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Message
message
CUInt
result <- Ptr Message -> IO CUInt
gst_navigation_message_get_type Ptr Message
message'
let result' :: NavigationMessageType
result' = (Int -> NavigationMessageType
forall a. Enum a => Int -> a
toEnum (Int -> NavigationMessageType)
-> (CUInt -> Int) -> CUInt -> NavigationMessageType
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
Message -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Message
message
NavigationMessageType -> IO NavigationMessageType
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return NavigationMessageType
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_message_new_angles_changed" gst_navigation_message_new_angles_changed ::
Ptr Gst.Object.Object ->
Word32 ->
Word32 ->
IO (Ptr Gst.Message.Message)
navigationMessageNewAnglesChanged ::
(B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>
a
-> Word32
-> Word32
-> m Gst.Message.Message
navigationMessageNewAnglesChanged :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsObject a) =>
a -> Word32 -> Word32 -> m Message
navigationMessageNewAnglesChanged a
src Word32
curAngle Word32
nAngles = IO Message -> m Message
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Message -> m Message) -> IO Message -> m Message
forall a b. (a -> b) -> a -> b
$ do
Ptr Object
src' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
Ptr Message
result <- Ptr Object -> Word32 -> Word32 -> IO (Ptr Message)
gst_navigation_message_new_angles_changed Ptr Object
src' Word32
curAngle Word32
nAngles
Text -> Ptr Message -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"navigationMessageNewAnglesChanged" Ptr Message
result
Message
result' <- ((ManagedPtr Message -> Message) -> Ptr Message -> IO Message
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Message -> Message
Gst.Message.Message) Ptr Message
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
Message -> IO Message
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Message
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_message_new_commands_changed" gst_navigation_message_new_commands_changed ::
Ptr Gst.Object.Object ->
IO (Ptr Gst.Message.Message)
navigationMessageNewCommandsChanged ::
(B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>
a
-> m Gst.Message.Message
navigationMessageNewCommandsChanged :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsObject a) =>
a -> m Message
navigationMessageNewCommandsChanged a
src = IO Message -> m Message
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Message -> m Message) -> IO Message -> m Message
forall a b. (a -> b) -> a -> b
$ do
Ptr Object
src' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
Ptr Message
result <- Ptr Object -> IO (Ptr Message)
gst_navigation_message_new_commands_changed Ptr Object
src'
Text -> Ptr Message -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"navigationMessageNewCommandsChanged" Ptr Message
result
Message
result' <- ((ManagedPtr Message -> Message) -> Ptr Message -> IO Message
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Message -> Message
Gst.Message.Message) Ptr Message
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
Message -> IO Message
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Message
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_message_new_event" gst_navigation_message_new_event ::
Ptr Gst.Object.Object ->
Ptr Gst.Event.Event ->
IO (Ptr Gst.Message.Message)
navigationMessageNewEvent ::
(B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>
a
-> Gst.Event.Event
-> m Gst.Message.Message
navigationMessageNewEvent :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsObject a) =>
a -> Event -> m Message
navigationMessageNewEvent a
src Event
event = IO Message -> m Message
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Message -> m Message) -> IO Message -> m Message
forall a b. (a -> b) -> a -> b
$ do
Ptr Object
src' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
Ptr Event
event' <- Event -> IO (Ptr Event)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Event
event
Ptr Message
result <- Ptr Object -> Ptr Event -> IO (Ptr Message)
gst_navigation_message_new_event Ptr Object
src' Ptr Event
event'
Text -> Ptr Message -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"navigationMessageNewEvent" Ptr Message
result
Message
result' <- ((ManagedPtr Message -> Message) -> Ptr Message -> IO Message
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Message -> Message
Gst.Message.Message) Ptr Message
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
Event -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Event
event
Message -> IO Message
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Message
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_message_new_mouse_over" gst_navigation_message_new_mouse_over ::
Ptr Gst.Object.Object ->
CInt ->
IO (Ptr Gst.Message.Message)
navigationMessageNewMouseOver ::
(B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>
a
-> Bool
-> m Gst.Message.Message
navigationMessageNewMouseOver :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsObject a) =>
a -> Bool -> m Message
navigationMessageNewMouseOver a
src Bool
active = IO Message -> m Message
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Message -> m Message) -> IO Message -> m Message
forall a b. (a -> b) -> a -> b
$ do
Ptr Object
src' <- a -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
src
let active' :: CInt
active' = (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
active
Ptr Message
result <- Ptr Object -> CInt -> IO (Ptr Message)
gst_navigation_message_new_mouse_over Ptr Object
src' CInt
active'
Text -> Ptr Message -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"navigationMessageNewMouseOver" Ptr Message
result
Message
result' <- ((ManagedPtr Message -> Message) -> Ptr Message -> IO Message
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Message -> Message
Gst.Message.Message) Ptr Message
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
src
Message -> IO Message
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Message
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_message_parse_angles_changed" gst_navigation_message_parse_angles_changed ::
Ptr Gst.Message.Message ->
Ptr Word32 ->
Ptr Word32 ->
IO CInt
navigationMessageParseAnglesChanged ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Message.Message
-> m ((Bool, Word32, Word32))
navigationMessageParseAnglesChanged :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Message -> m (Bool, Word32, Word32)
navigationMessageParseAnglesChanged Message
message = IO (Bool, Word32, Word32) -> m (Bool, Word32, Word32)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Word32, Word32) -> m (Bool, Word32, Word32))
-> IO (Bool, Word32, Word32) -> m (Bool, Word32, Word32)
forall a b. (a -> b) -> a -> b
$ do
Ptr Message
message' <- Message -> IO (Ptr Message)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Message
message
Ptr Word32
curAngle <- IO (Ptr Word32)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Word32)
Ptr Word32
nAngles <- IO (Ptr Word32)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Word32)
CInt
result <- Ptr Message -> Ptr Word32 -> Ptr Word32 -> IO CInt
gst_navigation_message_parse_angles_changed Ptr Message
message' Ptr Word32
curAngle Ptr Word32
nAngles
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
Word32
curAngle' <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek Ptr Word32
curAngle
Word32
nAngles' <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek Ptr Word32
nAngles
Message -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Message
message
Ptr Word32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word32
curAngle
Ptr Word32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word32
nAngles
(Bool, Word32, Word32) -> IO (Bool, Word32, Word32)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Word32
curAngle', Word32
nAngles')
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_message_parse_event" gst_navigation_message_parse_event ::
Ptr Gst.Message.Message ->
Ptr (Ptr Gst.Event.Event) ->
IO CInt
navigationMessageParseEvent ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Message.Message
-> m ((Bool, Gst.Event.Event))
navigationMessageParseEvent :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Message -> m (Bool, Event)
navigationMessageParseEvent Message
message = IO (Bool, Event) -> m (Bool, Event)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Event) -> m (Bool, Event))
-> IO (Bool, Event) -> m (Bool, Event)
forall a b. (a -> b) -> a -> b
$ do
Ptr Message
message' <- Message -> IO (Ptr Message)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Message
message
Ptr (Ptr Event)
event <- IO (Ptr (Ptr Event))
forall a. Storable a => IO (Ptr a)
callocMem :: IO (Ptr (Ptr Gst.Event.Event))
CInt
result <- Ptr Message -> Ptr (Ptr Event) -> IO CInt
gst_navigation_message_parse_event Ptr Message
message' Ptr (Ptr Event)
event
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
Ptr Event
event' <- Ptr (Ptr Event) -> IO (Ptr Event)
forall a. Storable a => Ptr a -> IO a
peek Ptr (Ptr Event)
event
Event
event'' <- ((ManagedPtr Event -> Event) -> Ptr Event -> IO Event
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Event -> Event
Gst.Event.Event) Ptr Event
event'
Message -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Message
message
Ptr (Ptr Event) -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr (Ptr Event)
event
(Bool, Event) -> IO (Bool, Event)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Event
event'')
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_message_parse_mouse_over" gst_navigation_message_parse_mouse_over ::
Ptr Gst.Message.Message ->
Ptr CInt ->
IO CInt
navigationMessageParseMouseOver ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Message.Message
-> m ((Bool, Bool))
navigationMessageParseMouseOver :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Message -> m (Bool, Bool)
navigationMessageParseMouseOver Message
message = IO (Bool, Bool) -> m (Bool, Bool)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Bool) -> m (Bool, Bool))
-> IO (Bool, Bool) -> m (Bool, Bool)
forall a b. (a -> b) -> a -> b
$ do
Ptr Message
message' <- Message -> IO (Ptr Message)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Message
message
Ptr CInt
active <- IO (Ptr CInt)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CInt)
CInt
result <- Ptr Message -> Ptr CInt -> IO CInt
gst_navigation_message_parse_mouse_over Ptr Message
message' Ptr CInt
active
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
CInt
active' <- Ptr CInt -> IO CInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CInt
active
let active'' :: Bool
active'' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
active'
Message -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Message
message
Ptr CInt -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CInt
active
(Bool, Bool) -> IO (Bool, Bool)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Bool
active'')
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_query_get_type" gst_navigation_query_get_type ::
Ptr Gst.Query.Query ->
IO CUInt
navigationQueryGetType ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Query.Query
-> m GstVideo.Enums.NavigationQueryType
navigationQueryGetType :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Query -> m NavigationQueryType
navigationQueryGetType Query
query = IO NavigationQueryType -> m NavigationQueryType
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO NavigationQueryType -> m NavigationQueryType)
-> IO NavigationQueryType -> m NavigationQueryType
forall a b. (a -> b) -> a -> b
$ do
Ptr Query
query' <- Query -> IO (Ptr Query)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Query
query
CUInt
result <- Ptr Query -> IO CUInt
gst_navigation_query_get_type Ptr Query
query'
let result' :: NavigationQueryType
result' = (Int -> NavigationQueryType
forall a. Enum a => Int -> a
toEnum (Int -> NavigationQueryType)
-> (CUInt -> Int) -> CUInt -> NavigationQueryType
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
Query -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Query
query
NavigationQueryType -> IO NavigationQueryType
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return NavigationQueryType
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_query_new_angles" gst_navigation_query_new_angles ::
IO (Ptr Gst.Query.Query)
navigationQueryNewAngles ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Gst.Query.Query
navigationQueryNewAngles :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Query
navigationQueryNewAngles = IO Query -> m Query
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Query -> m Query) -> IO Query -> m Query
forall a b. (a -> b) -> a -> b
$ do
Ptr Query
result <- IO (Ptr Query)
gst_navigation_query_new_angles
Text -> Ptr Query -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"navigationQueryNewAngles" Ptr Query
result
Query
result' <- ((ManagedPtr Query -> Query) -> Ptr Query -> IO Query
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Query -> Query
Gst.Query.Query) Ptr Query
result
Query -> IO Query
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Query
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_query_new_commands" gst_navigation_query_new_commands ::
IO (Ptr Gst.Query.Query)
navigationQueryNewCommands ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Gst.Query.Query
navigationQueryNewCommands :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Query
navigationQueryNewCommands = IO Query -> m Query
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Query -> m Query) -> IO Query -> m Query
forall a b. (a -> b) -> a -> b
$ do
Ptr Query
result <- IO (Ptr Query)
gst_navigation_query_new_commands
Text -> Ptr Query -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"navigationQueryNewCommands" Ptr Query
result
Query
result' <- ((ManagedPtr Query -> Query) -> Ptr Query -> IO Query
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Query -> Query
Gst.Query.Query) Ptr Query
result
Query -> IO Query
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Query
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_query_parse_angles" gst_navigation_query_parse_angles ::
Ptr Gst.Query.Query ->
Ptr Word32 ->
Ptr Word32 ->
IO CInt
navigationQueryParseAngles ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Query.Query
-> m ((Bool, Word32, Word32))
navigationQueryParseAngles :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Query -> m (Bool, Word32, Word32)
navigationQueryParseAngles Query
query = IO (Bool, Word32, Word32) -> m (Bool, Word32, Word32)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Word32, Word32) -> m (Bool, Word32, Word32))
-> IO (Bool, Word32, Word32) -> m (Bool, Word32, Word32)
forall a b. (a -> b) -> a -> b
$ do
Ptr Query
query' <- Query -> IO (Ptr Query)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Query
query
Ptr Word32
curAngle <- IO (Ptr Word32)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Word32)
Ptr Word32
nAngles <- IO (Ptr Word32)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Word32)
CInt
result <- Ptr Query -> Ptr Word32 -> Ptr Word32 -> IO CInt
gst_navigation_query_parse_angles Ptr Query
query' Ptr Word32
curAngle Ptr Word32
nAngles
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
Word32
curAngle' <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek Ptr Word32
curAngle
Word32
nAngles' <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek Ptr Word32
nAngles
Query -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Query
query
Ptr Word32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word32
curAngle
Ptr Word32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word32
nAngles
(Bool, Word32, Word32) -> IO (Bool, Word32, Word32)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Word32
curAngle', Word32
nAngles')
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_query_parse_commands_length" gst_navigation_query_parse_commands_length ::
Ptr Gst.Query.Query ->
Ptr Word32 ->
IO CInt
navigationQueryParseCommandsLength ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Query.Query
-> m ((Bool, Word32))
navigationQueryParseCommandsLength :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Query -> m (Bool, Word32)
navigationQueryParseCommandsLength Query
query = IO (Bool, Word32) -> m (Bool, Word32)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Word32) -> m (Bool, Word32))
-> IO (Bool, Word32) -> m (Bool, Word32)
forall a b. (a -> b) -> a -> b
$ do
Ptr Query
query' <- Query -> IO (Ptr Query)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Query
query
Ptr Word32
nCmds <- IO (Ptr Word32)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Word32)
CInt
result <- Ptr Query -> Ptr Word32 -> IO CInt
gst_navigation_query_parse_commands_length Ptr Query
query' Ptr Word32
nCmds
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
Word32
nCmds' <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek Ptr Word32
nCmds
Query -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Query
query
Ptr Word32 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word32
nCmds
(Bool, Word32) -> IO (Bool, Word32)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Word32
nCmds')
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_query_parse_commands_nth" gst_navigation_query_parse_commands_nth ::
Ptr Gst.Query.Query ->
Word32 ->
Ptr CUInt ->
IO CInt
navigationQueryParseCommandsNth ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Query.Query
-> Word32
-> m ((Bool, GstVideo.Enums.NavigationCommand))
navigationQueryParseCommandsNth :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Query -> Word32 -> m (Bool, NavigationCommand)
navigationQueryParseCommandsNth Query
query Word32
nth = IO (Bool, NavigationCommand) -> m (Bool, NavigationCommand)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, NavigationCommand) -> m (Bool, NavigationCommand))
-> IO (Bool, NavigationCommand) -> m (Bool, NavigationCommand)
forall a b. (a -> b) -> a -> b
$ do
Ptr Query
query' <- Query -> IO (Ptr Query)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Query
query
Ptr CUInt
cmd <- IO (Ptr CUInt)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr CUInt)
CInt
result <- Ptr Query -> Word32 -> Ptr CUInt -> IO CInt
gst_navigation_query_parse_commands_nth Ptr Query
query' Word32
nth Ptr CUInt
cmd
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
CUInt
cmd' <- Ptr CUInt -> IO CUInt
forall a. Storable a => Ptr a -> IO a
peek Ptr CUInt
cmd
let cmd'' :: NavigationCommand
cmd'' = (Int -> NavigationCommand
forall a. Enum a => Int -> a
toEnum (Int -> NavigationCommand)
-> (CUInt -> Int) -> CUInt -> NavigationCommand
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
cmd'
Query -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Query
query
Ptr CUInt -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CUInt
cmd
(Bool, NavigationCommand) -> IO (Bool, NavigationCommand)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', NavigationCommand
cmd'')
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_query_set_angles" gst_navigation_query_set_angles ::
Ptr Gst.Query.Query ->
Word32 ->
Word32 ->
IO ()
navigationQuerySetAngles ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Query.Query
-> Word32
-> Word32
-> m ()
navigationQuerySetAngles :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Query -> Word32 -> Word32 -> m ()
navigationQuerySetAngles Query
query Word32
curAngle Word32
nAngles = 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 Query
query' <- Query -> IO (Ptr Query)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Query
query
Ptr Query -> Word32 -> Word32 -> IO ()
gst_navigation_query_set_angles Ptr Query
query' Word32
curAngle Word32
nAngles
Query -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Query
query
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_navigation_query_set_commandsv" gst_navigation_query_set_commandsv ::
Ptr Gst.Query.Query ->
Int32 ->
Ptr CUInt ->
IO ()
navigationQuerySetCommandsv ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Query.Query
-> [GstVideo.Enums.NavigationCommand]
-> m ()
navigationQuerySetCommandsv :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Query -> [NavigationCommand] -> m ()
navigationQuerySetCommandsv Query
query [NavigationCommand]
cmds = 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 nCmds :: Int32
nCmds = Int -> Int32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> Int32) -> Int -> Int32
forall a b. (a -> b) -> a -> b
$ [NavigationCommand] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
P.length [NavigationCommand]
cmds
Ptr Query
query' <- Query -> IO (Ptr Query)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Query
query
let cmds' :: [CUInt]
cmds' = (NavigationCommand -> CUInt) -> [NavigationCommand] -> [CUInt]
forall a b. (a -> b) -> [a] -> [b]
map (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (NavigationCommand -> Int) -> NavigationCommand -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. NavigationCommand -> Int
forall a. Enum a => a -> Int
fromEnum) [NavigationCommand]
cmds
Ptr CUInt
cmds'' <- [CUInt] -> IO (Ptr CUInt)
forall a. Storable a => [a] -> IO (Ptr a)
packStorableArray [CUInt]
cmds'
Ptr Query -> Int32 -> Ptr CUInt -> IO ()
gst_navigation_query_set_commandsv Ptr Query
query' Int32
nCmds Ptr CUInt
cmds''
Query -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Query
query
Ptr CUInt -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CUInt
cmds''
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Navigation = NavigationSignalList
type NavigationSignalList = ('[ ] :: [(Symbol, DK.Type)])
#endif