{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- module Graphics.UI.Qtah.Generated.Core.QPauseAnimation ( castQPauseAnimationToQAbstractAnimation, castQAbstractAnimationToQPauseAnimation, castQPauseAnimationToQObject, castQObjectToQPauseAnimation, QPauseAnimationValue (..), QPauseAnimationConstPtr (..), QPauseAnimationPtr (..), setDuration, QPauseAnimationConst (..), castQPauseAnimationToConst, QPauseAnimation (..), castQPauseAnimationToNonconst, QPauseAnimationSuper (..), QPauseAnimationSuperConst (..), ) where import qualified Foreign as HoppyF import qualified Foreign.C as HoppyFC import qualified Foreign.Hoppy.Runtime as HoppyFHR import qualified Graphics.UI.Qtah.Generated.Core.QAbstractAnimation as M2 import qualified Graphics.UI.Qtah.Generated.Core.QObject as M94 import Prelude (($), (.), (==), (>>=)) import qualified Prelude as HoppyP foreign import ccall "genpop__QPauseAnimation_setDuration" setDuration' :: HoppyF.Ptr QPauseAnimation -> HoppyFC.CInt -> HoppyP.IO () foreign import ccall "gencast__QPauseAnimation__QAbstractAnimation" castQPauseAnimationToQAbstractAnimation :: HoppyF.Ptr QPauseAnimationConst -> HoppyF.Ptr M2.QAbstractAnimationConst foreign import ccall "gencast__QAbstractAnimation__QPauseAnimation" castQAbstractAnimationToQPauseAnimation :: HoppyF.Ptr M2.QAbstractAnimationConst -> HoppyF.Ptr QPauseAnimationConst foreign import ccall "gencast__QPauseAnimation__QObject" castQPauseAnimationToQObject :: HoppyF.Ptr QPauseAnimationConst -> HoppyF.Ptr M94.QObjectConst foreign import ccall "gencast__QObject__QPauseAnimation" castQObjectToQPauseAnimation :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr QPauseAnimationConst foreign import ccall "gendel__QPauseAnimation" delete'QPauseAnimation :: HoppyF.Ptr QPauseAnimationConst -> HoppyP.IO () foreign import ccall "&gendel__QPauseAnimation" deletePtr'QPauseAnimation :: HoppyF.FunPtr (HoppyF.Ptr QPauseAnimationConst -> HoppyP.IO ()) class QPauseAnimationValue a where withQPauseAnimationPtr :: a -> (QPauseAnimationConst -> HoppyP.IO b) -> HoppyP.IO b instance {-# OVERLAPPABLE #-} QPauseAnimationConstPtr a => QPauseAnimationValue a where withQPauseAnimationPtr = HoppyP.flip ($) . toQPauseAnimationConst class (M2.QAbstractAnimationConstPtr this) => QPauseAnimationConstPtr this where toQPauseAnimationConst :: this -> QPauseAnimationConst class (QPauseAnimationConstPtr this, M2.QAbstractAnimationPtr this) => QPauseAnimationPtr this where toQPauseAnimation :: this -> QPauseAnimation setDuration :: (QPauseAnimationPtr this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.IO ()) setDuration arg'1 arg'2 = HoppyFHR.withCppPtr (toQPauseAnimation arg'1) $ \arg'1' -> ( HoppyP.return . HoppyFHR.coerceIntegral ) arg'2 >>= \arg'2' -> (setDuration' arg'1' arg'2') data QPauseAnimationConst = QPauseAnimationConst (HoppyF.Ptr QPauseAnimationConst) | QPauseAnimationConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QPauseAnimationConst) deriving (HoppyP.Show) instance HoppyP.Eq QPauseAnimationConst where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QPauseAnimationConst where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQPauseAnimationToConst :: QPauseAnimation -> QPauseAnimationConst castQPauseAnimationToConst (QPauseAnimation ptr') = QPauseAnimationConst $ HoppyF.castPtr ptr' castQPauseAnimationToConst (QPauseAnimationGc fptr' ptr') = QPauseAnimationConstGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QPauseAnimationConst where nullptr = QPauseAnimationConst HoppyF.nullPtr withCppPtr (QPauseAnimationConst ptr') f' = f' ptr' withCppPtr (QPauseAnimationConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QPauseAnimationConst ptr') = ptr' toPtr (QPauseAnimationConstGc _ ptr') = ptr' touchCppPtr (QPauseAnimationConst _) = HoppyP.return () touchCppPtr (QPauseAnimationConstGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QPauseAnimationConst where delete (QPauseAnimationConst ptr') = delete'QPauseAnimation ptr' delete (QPauseAnimationConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QPauseAnimationConst", " object."] toGc this'@(QPauseAnimationConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QPauseAnimationConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QPauseAnimation :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QPauseAnimationConstGc {}) = HoppyP.return this' instance QPauseAnimationConstPtr QPauseAnimationConst where toQPauseAnimationConst = HoppyP.id instance M2.QAbstractAnimationConstPtr QPauseAnimationConst where toQAbstractAnimationConst (QPauseAnimationConst ptr') = M2.QAbstractAnimationConst $ castQPauseAnimationToQAbstractAnimation ptr' toQAbstractAnimationConst (QPauseAnimationConstGc fptr' ptr') = M2.QAbstractAnimationConstGc fptr' $ castQPauseAnimationToQAbstractAnimation ptr' instance M94.QObjectConstPtr QPauseAnimationConst where toQObjectConst (QPauseAnimationConst ptr') = M94.QObjectConst $ castQPauseAnimationToQObject ptr' toQObjectConst (QPauseAnimationConstGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQPauseAnimationToQObject ptr' data QPauseAnimation = QPauseAnimation (HoppyF.Ptr QPauseAnimation) | QPauseAnimationGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QPauseAnimation) deriving (HoppyP.Show) instance HoppyP.Eq QPauseAnimation where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QPauseAnimation where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQPauseAnimationToNonconst :: QPauseAnimationConst -> QPauseAnimation castQPauseAnimationToNonconst (QPauseAnimationConst ptr') = QPauseAnimation $ HoppyF.castPtr ptr' castQPauseAnimationToNonconst (QPauseAnimationConstGc fptr' ptr') = QPauseAnimationGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QPauseAnimation where nullptr = QPauseAnimation HoppyF.nullPtr withCppPtr (QPauseAnimation ptr') f' = f' ptr' withCppPtr (QPauseAnimationGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QPauseAnimation ptr') = ptr' toPtr (QPauseAnimationGc _ ptr') = ptr' touchCppPtr (QPauseAnimation _) = HoppyP.return () touchCppPtr (QPauseAnimationGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QPauseAnimation where delete (QPauseAnimation ptr') = delete'QPauseAnimation $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QPauseAnimationConst) delete (QPauseAnimationGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QPauseAnimation", " object."] toGc this'@(QPauseAnimation ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QPauseAnimationGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QPauseAnimation :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QPauseAnimationGc {}) = HoppyP.return this' instance QPauseAnimationConstPtr QPauseAnimation where toQPauseAnimationConst (QPauseAnimation ptr') = QPauseAnimationConst $ (HoppyF.castPtr :: HoppyF.Ptr QPauseAnimation -> HoppyF.Ptr QPauseAnimationConst) ptr' toQPauseAnimationConst (QPauseAnimationGc fptr' ptr') = QPauseAnimationConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QPauseAnimation -> HoppyF.Ptr QPauseAnimationConst) ptr' instance QPauseAnimationPtr QPauseAnimation where toQPauseAnimation = HoppyP.id instance M2.QAbstractAnimationConstPtr QPauseAnimation where toQAbstractAnimationConst (QPauseAnimation ptr') = M2.QAbstractAnimationConst $ castQPauseAnimationToQAbstractAnimation $ (HoppyF.castPtr :: HoppyF.Ptr QPauseAnimation -> HoppyF.Ptr QPauseAnimationConst) ptr' toQAbstractAnimationConst (QPauseAnimationGc fptr' ptr') = M2.QAbstractAnimationConstGc fptr' $ castQPauseAnimationToQAbstractAnimation $ (HoppyF.castPtr :: HoppyF.Ptr QPauseAnimation -> HoppyF.Ptr QPauseAnimationConst) ptr' instance M2.QAbstractAnimationPtr QPauseAnimation where toQAbstractAnimation (QPauseAnimation ptr') = M2.QAbstractAnimation $ (HoppyF.castPtr :: HoppyF.Ptr M2.QAbstractAnimationConst -> HoppyF.Ptr M2.QAbstractAnimation) $ castQPauseAnimationToQAbstractAnimation $ (HoppyF.castPtr :: HoppyF.Ptr QPauseAnimation -> HoppyF.Ptr QPauseAnimationConst) ptr' toQAbstractAnimation (QPauseAnimationGc fptr' ptr') = M2.QAbstractAnimationGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M2.QAbstractAnimationConst -> HoppyF.Ptr M2.QAbstractAnimation) $ castQPauseAnimationToQAbstractAnimation $ (HoppyF.castPtr :: HoppyF.Ptr QPauseAnimation -> HoppyF.Ptr QPauseAnimationConst) ptr' instance M94.QObjectConstPtr QPauseAnimation where toQObjectConst (QPauseAnimation ptr') = M94.QObjectConst $ castQPauseAnimationToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QPauseAnimation -> HoppyF.Ptr QPauseAnimationConst) ptr' toQObjectConst (QPauseAnimationGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQPauseAnimationToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QPauseAnimation -> HoppyF.Ptr QPauseAnimationConst) ptr' instance M94.QObjectPtr QPauseAnimation where toQObject (QPauseAnimation ptr') = M94.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQPauseAnimationToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QPauseAnimation -> HoppyF.Ptr QPauseAnimationConst) ptr' toQObject (QPauseAnimationGc fptr' ptr') = M94.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQPauseAnimationToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QPauseAnimation -> HoppyF.Ptr QPauseAnimationConst) ptr' class QPauseAnimationSuper a where downToQPauseAnimation :: a -> QPauseAnimation instance QPauseAnimationSuper M2.QAbstractAnimation where downToQPauseAnimation = castQPauseAnimationToNonconst . cast' . M2.castQAbstractAnimationToConst where cast' (M2.QAbstractAnimationConst ptr') = QPauseAnimationConst $ castQAbstractAnimationToQPauseAnimation ptr' cast' (M2.QAbstractAnimationConstGc fptr' ptr') = QPauseAnimationConstGc fptr' $ castQAbstractAnimationToQPauseAnimation ptr' instance QPauseAnimationSuper M94.QObject where downToQPauseAnimation = castQPauseAnimationToNonconst . cast' . M94.castQObjectToConst where cast' (M94.QObjectConst ptr') = QPauseAnimationConst $ castQObjectToQPauseAnimation ptr' cast' (M94.QObjectConstGc fptr' ptr') = QPauseAnimationConstGc fptr' $ castQObjectToQPauseAnimation ptr' class QPauseAnimationSuperConst a where downToQPauseAnimationConst :: a -> QPauseAnimationConst instance QPauseAnimationSuperConst M2.QAbstractAnimationConst where downToQPauseAnimationConst = cast' where cast' (M2.QAbstractAnimationConst ptr') = QPauseAnimationConst $ castQAbstractAnimationToQPauseAnimation ptr' cast' (M2.QAbstractAnimationConstGc fptr' ptr') = QPauseAnimationConstGc fptr' $ castQAbstractAnimationToQPauseAnimation ptr' instance QPauseAnimationSuperConst M94.QObjectConst where downToQPauseAnimationConst = cast' where cast' (M94.QObjectConst ptr') = QPauseAnimationConst $ castQObjectToQPauseAnimation ptr' cast' (M94.QObjectConstGc fptr' ptr') = QPauseAnimationConstGc fptr' $ castQObjectToQPauseAnimation ptr' instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QPauseAnimation)) QPauseAnimation where assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value' instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QPauseAnimation)) QPauseAnimation where decode = HoppyP.fmap QPauseAnimation . HoppyF.peek