qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Gui/QInputEvent.hs
{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
---------- GENERATED FILE, EDITS WILL BE LOST ----------
module Graphics.UI.Qtah.Generated.Gui.QInputEvent (
castQInputEventToQEvent,
castQEventToQInputEvent,
QInputEventValue (..),
QInputEventConstPtr (..),
modifiers,
timestamp,
QInputEventPtr (..),
QInputEventConst (..),
castQInputEventToConst,
QInputEvent (..),
castQInputEventToNonconst,
QInputEventSuper (..),
QInputEventSuperConst (..),
) where
import qualified Foreign as HoppyF
import qualified Foreign.C as HoppyFC
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import qualified Graphics.UI.Qtah.Flags as QtahFlags
import qualified Graphics.UI.Qtah.Generated.Core.QEvent as M34
import qualified Graphics.UI.Qtah.Generated.Core.Types as M190
import Prelude (($), (.), (=<<), (==))
import qualified Prelude as HoppyP
import qualified Prelude as QtahP
foreign import ccall "genpop__QInputEvent_modifiers" modifiers' :: HoppyF.Ptr QInputEventConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QInputEvent_timestamp" timestamp' :: HoppyF.Ptr QInputEventConst -> HoppyP.IO HoppyFC.CULong
foreign import ccall "gencast__QInputEvent__QEvent" castQInputEventToQEvent :: HoppyF.Ptr QInputEventConst -> HoppyF.Ptr M34.QEventConst
foreign import ccall "gencast__QEvent__QInputEvent" castQEventToQInputEvent :: HoppyF.Ptr M34.QEventConst -> HoppyF.Ptr QInputEventConst
foreign import ccall "gendel__QInputEvent" delete'QInputEvent :: HoppyF.Ptr QInputEventConst -> HoppyP.IO ()
foreign import ccall "&gendel__QInputEvent" deletePtr'QInputEvent :: HoppyF.FunPtr (HoppyF.Ptr QInputEventConst -> HoppyP.IO ())
class QInputEventValue a where
withQInputEventPtr :: a -> (QInputEventConst -> HoppyP.IO b) -> HoppyP.IO b
instance {-# OVERLAPPABLE #-} QInputEventConstPtr a => QInputEventValue a where
withQInputEventPtr = HoppyP.flip ($) . toQInputEventConst
class (M34.QEventConstPtr this) => QInputEventConstPtr this where
toQInputEventConst :: this -> QInputEventConst
modifiers :: (QInputEventValue this) => (this) {- ^ this -} -> (HoppyP.IO M190.QtKeyboardModifiers)
modifiers arg'1 =
withQInputEventPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
QtahP.return . QtahFlags.numToFlags
) =<<
(modifiers' arg'1')
timestamp :: (QInputEventValue this) => (this) {- ^ this -} -> (HoppyP.IO HoppyFC.CULong)
timestamp arg'1 =
withQInputEventPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(timestamp' arg'1')
class (QInputEventConstPtr this, M34.QEventPtr this) => QInputEventPtr this where
toQInputEvent :: this -> QInputEvent
data QInputEventConst =
QInputEventConst (HoppyF.Ptr QInputEventConst)
| QInputEventConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QInputEventConst)
deriving (HoppyP.Show)
instance HoppyP.Eq QInputEventConst where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QInputEventConst where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQInputEventToConst :: QInputEvent -> QInputEventConst
castQInputEventToConst (QInputEvent ptr') = QInputEventConst $ HoppyF.castPtr ptr'
castQInputEventToConst (QInputEventGc fptr' ptr') = QInputEventConstGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QInputEventConst where
nullptr = QInputEventConst HoppyF.nullPtr
withCppPtr (QInputEventConst ptr') f' = f' ptr'
withCppPtr (QInputEventConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QInputEventConst ptr') = ptr'
toPtr (QInputEventConstGc _ ptr') = ptr'
touchCppPtr (QInputEventConst _) = HoppyP.return ()
touchCppPtr (QInputEventConstGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QInputEventConst where
delete (QInputEventConst ptr') = delete'QInputEvent ptr'
delete (QInputEventConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QInputEventConst", " object."]
toGc this'@(QInputEventConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QInputEventConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QInputEvent :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QInputEventConstGc {}) = HoppyP.return this'
instance QInputEventConstPtr QInputEventConst where
toQInputEventConst = HoppyP.id
instance M34.QEventConstPtr QInputEventConst where
toQEventConst (QInputEventConst ptr') = M34.QEventConst $ castQInputEventToQEvent ptr'
toQEventConst (QInputEventConstGc fptr' ptr') = M34.QEventConstGc fptr' $ castQInputEventToQEvent ptr'
data QInputEvent =
QInputEvent (HoppyF.Ptr QInputEvent)
| QInputEventGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QInputEvent)
deriving (HoppyP.Show)
instance HoppyP.Eq QInputEvent where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QInputEvent where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQInputEventToNonconst :: QInputEventConst -> QInputEvent
castQInputEventToNonconst (QInputEventConst ptr') = QInputEvent $ HoppyF.castPtr ptr'
castQInputEventToNonconst (QInputEventConstGc fptr' ptr') = QInputEventGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QInputEvent where
nullptr = QInputEvent HoppyF.nullPtr
withCppPtr (QInputEvent ptr') f' = f' ptr'
withCppPtr (QInputEventGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QInputEvent ptr') = ptr'
toPtr (QInputEventGc _ ptr') = ptr'
touchCppPtr (QInputEvent _) = HoppyP.return ()
touchCppPtr (QInputEventGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QInputEvent where
delete (QInputEvent ptr') = delete'QInputEvent $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QInputEventConst)
delete (QInputEventGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QInputEvent", " object."]
toGc this'@(QInputEvent ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QInputEventGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QInputEvent :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QInputEventGc {}) = HoppyP.return this'
instance QInputEventConstPtr QInputEvent where
toQInputEventConst (QInputEvent ptr') = QInputEventConst $ (HoppyF.castPtr :: HoppyF.Ptr QInputEvent -> HoppyF.Ptr QInputEventConst) ptr'
toQInputEventConst (QInputEventGc fptr' ptr') = QInputEventConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QInputEvent -> HoppyF.Ptr QInputEventConst) ptr'
instance QInputEventPtr QInputEvent where
toQInputEvent = HoppyP.id
instance M34.QEventConstPtr QInputEvent where
toQEventConst (QInputEvent ptr') = M34.QEventConst $ castQInputEventToQEvent $ (HoppyF.castPtr :: HoppyF.Ptr QInputEvent -> HoppyF.Ptr QInputEventConst) ptr'
toQEventConst (QInputEventGc fptr' ptr') = M34.QEventConstGc fptr' $ castQInputEventToQEvent $ (HoppyF.castPtr :: HoppyF.Ptr QInputEvent -> HoppyF.Ptr QInputEventConst) ptr'
instance M34.QEventPtr QInputEvent where
toQEvent (QInputEvent ptr') = M34.QEvent $ (HoppyF.castPtr :: HoppyF.Ptr M34.QEventConst -> HoppyF.Ptr M34.QEvent) $ castQInputEventToQEvent $ (HoppyF.castPtr :: HoppyF.Ptr QInputEvent -> HoppyF.Ptr QInputEventConst) ptr'
toQEvent (QInputEventGc fptr' ptr') = M34.QEventGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M34.QEventConst -> HoppyF.Ptr M34.QEvent) $ castQInputEventToQEvent $ (HoppyF.castPtr :: HoppyF.Ptr QInputEvent -> HoppyF.Ptr QInputEventConst) ptr'
class QInputEventSuper a where
downToQInputEvent :: a -> QInputEvent
instance QInputEventSuper M34.QEvent where
downToQInputEvent = castQInputEventToNonconst . cast' . M34.castQEventToConst
where
cast' (M34.QEventConst ptr') = QInputEventConst $ castQEventToQInputEvent ptr'
cast' (M34.QEventConstGc fptr' ptr') = QInputEventConstGc fptr' $ castQEventToQInputEvent ptr'
class QInputEventSuperConst a where
downToQInputEventConst :: a -> QInputEventConst
instance QInputEventSuperConst M34.QEventConst where
downToQInputEventConst = cast'
where
cast' (M34.QEventConst ptr') = QInputEventConst $ castQEventToQInputEvent ptr'
cast' (M34.QEventConstGc fptr' ptr') = QInputEventConstGc fptr' $ castQEventToQInputEvent ptr'
instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QInputEvent)) QInputEvent where
assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'
instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QInputEvent)) QInputEvent where
decode = HoppyP.fmap QInputEvent . HoppyF.peek