packages feed

qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Core/QSequentialAnimationGroup.hs

{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
---------- GENERATED FILE, EDITS WILL BE LOST ----------

module Graphics.UI.Qtah.Generated.Core.QSequentialAnimationGroup (
  castQSequentialAnimationGroupToQAnimationGroup,
  castQAnimationGroupToQSequentialAnimationGroup,
  castQSequentialAnimationGroupToQAbstractAnimation,
  castQAbstractAnimationToQSequentialAnimationGroup,
  castQSequentialAnimationGroupToQObject,
  castQObjectToQSequentialAnimationGroup,
  QSequentialAnimationGroupValue (..),
  QSequentialAnimationGroupConstPtr (..),
  currentAnimation,
  QSequentialAnimationGroupPtr (..),
  addPause,
  insertPause,
  emitCurrentAnimationChanged,
  QSequentialAnimationGroupConst (..),
  castQSequentialAnimationGroupToConst,
  QSequentialAnimationGroup (..),
  castQSequentialAnimationGroupToNonconst,
  QSequentialAnimationGroupSuper (..),
  QSequentialAnimationGroupSuperConst (..),
  ) 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.QAnimationGroup as M10
import qualified Graphics.UI.Qtah.Generated.Core.QObject as M94
import qualified Graphics.UI.Qtah.Generated.Core.QPauseAnimation as M102
import Prelude (($), (.), (==), (>>=))
import qualified Prelude as HoppyP

foreign import ccall "genpop__QSequentialAnimationGroup_addPause" addPause' ::  HoppyF.Ptr QSequentialAnimationGroup -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M102.QPauseAnimation)
foreign import ccall "genpop__QSequentialAnimationGroup_insertPause" insertPause' ::  HoppyF.Ptr QSequentialAnimationGroup -> HoppyFC.CInt -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M102.QPauseAnimation)
foreign import ccall "genpop__QSequentialAnimationGroup_currentAnimation" currentAnimation' ::  HoppyF.Ptr QSequentialAnimationGroupConst -> HoppyP.IO (HoppyF.Ptr M2.QAbstractAnimation)
foreign import ccall "genpop__QSequentialAnimationGroup_emitCurrentAnimationChanged" emitCurrentAnimationChanged' ::  HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr M2.QAbstractAnimation -> HoppyP.IO ()
foreign import ccall "gencast__QSequentialAnimationGroup__QAnimationGroup" castQSequentialAnimationGroupToQAnimationGroup :: HoppyF.Ptr QSequentialAnimationGroupConst -> HoppyF.Ptr M10.QAnimationGroupConst
foreign import ccall "gencast__QAnimationGroup__QSequentialAnimationGroup" castQAnimationGroupToQSequentialAnimationGroup :: HoppyF.Ptr M10.QAnimationGroupConst -> HoppyF.Ptr QSequentialAnimationGroupConst
foreign import ccall "gencast__QSequentialAnimationGroup__QAbstractAnimation" castQSequentialAnimationGroupToQAbstractAnimation :: HoppyF.Ptr QSequentialAnimationGroupConst -> HoppyF.Ptr M2.QAbstractAnimationConst
foreign import ccall "gencast__QAbstractAnimation__QSequentialAnimationGroup" castQAbstractAnimationToQSequentialAnimationGroup :: HoppyF.Ptr M2.QAbstractAnimationConst -> HoppyF.Ptr QSequentialAnimationGroupConst
foreign import ccall "gencast__QSequentialAnimationGroup__QObject" castQSequentialAnimationGroupToQObject :: HoppyF.Ptr QSequentialAnimationGroupConst -> HoppyF.Ptr M94.QObjectConst
foreign import ccall "gencast__QObject__QSequentialAnimationGroup" castQObjectToQSequentialAnimationGroup :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr QSequentialAnimationGroupConst
foreign import ccall "gendel__QSequentialAnimationGroup" delete'QSequentialAnimationGroup :: HoppyF.Ptr QSequentialAnimationGroupConst -> HoppyP.IO ()
foreign import ccall "&gendel__QSequentialAnimationGroup" deletePtr'QSequentialAnimationGroup :: HoppyF.FunPtr (HoppyF.Ptr QSequentialAnimationGroupConst -> HoppyP.IO ())

class QSequentialAnimationGroupValue a where
  withQSequentialAnimationGroupPtr :: a -> (QSequentialAnimationGroupConst -> HoppyP.IO b) -> HoppyP.IO b

instance {-# OVERLAPPABLE #-} QSequentialAnimationGroupConstPtr a => QSequentialAnimationGroupValue a where
  withQSequentialAnimationGroupPtr = HoppyP.flip ($) . toQSequentialAnimationGroupConst

class (M10.QAnimationGroupConstPtr this) => QSequentialAnimationGroupConstPtr this where
  toQSequentialAnimationGroupConst :: this -> QSequentialAnimationGroupConst

currentAnimation :: (QSequentialAnimationGroupValue this) => (this) {- ^ this -} -> (HoppyP.IO M2.QAbstractAnimation)
currentAnimation arg'1 =
  withQSequentialAnimationGroupPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap M2.QAbstractAnimation
  (currentAnimation' arg'1')

class (QSequentialAnimationGroupConstPtr this, M10.QAnimationGroupPtr this) => QSequentialAnimationGroupPtr this where
  toQSequentialAnimationGroup :: this -> QSequentialAnimationGroup

addPause :: (QSequentialAnimationGroupPtr this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.IO M102.QPauseAnimation)
addPause arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQSequentialAnimationGroup arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  HoppyP.fmap M102.QPauseAnimation
  (addPause' arg'1' arg'2')

insertPause :: (QSequentialAnimationGroupPtr this) => (this) {- ^ this -} -> (HoppyP.Int) -> (HoppyP.Int) -> (HoppyP.IO M102.QPauseAnimation)
insertPause arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQSequentialAnimationGroup arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'2 >>= \arg'2' ->
  (
    HoppyP.return . HoppyFHR.coerceIntegral
  ) arg'3 >>= \arg'3' ->
  HoppyP.fmap M102.QPauseAnimation
  (insertPause' arg'1' arg'2' arg'3')

emitCurrentAnimationChanged :: (QSequentialAnimationGroupPtr this, M2.QAbstractAnimationPtr arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
emitCurrentAnimationChanged arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQSequentialAnimationGroup arg'1) $ \arg'1' ->
  HoppyFHR.withCppPtr (M2.toQAbstractAnimation arg'2) $ \arg'2' ->
  (emitCurrentAnimationChanged' arg'1' arg'2')

data QSequentialAnimationGroupConst =
    QSequentialAnimationGroupConst (HoppyF.Ptr QSequentialAnimationGroupConst)
  | QSequentialAnimationGroupConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QSequentialAnimationGroupConst)
  deriving (HoppyP.Show)

instance HoppyP.Eq QSequentialAnimationGroupConst where
  x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y

instance HoppyP.Ord QSequentialAnimationGroupConst where
  compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)

castQSequentialAnimationGroupToConst :: QSequentialAnimationGroup -> QSequentialAnimationGroupConst
castQSequentialAnimationGroupToConst (QSequentialAnimationGroup ptr') = QSequentialAnimationGroupConst $ HoppyF.castPtr ptr'
castQSequentialAnimationGroupToConst (QSequentialAnimationGroupGc fptr' ptr') = QSequentialAnimationGroupConstGc fptr' $ HoppyF.castPtr ptr'

instance HoppyFHR.CppPtr QSequentialAnimationGroupConst where
  nullptr = QSequentialAnimationGroupConst HoppyF.nullPtr
  
  withCppPtr (QSequentialAnimationGroupConst ptr') f' = f' ptr'
  withCppPtr (QSequentialAnimationGroupConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
  
  toPtr (QSequentialAnimationGroupConst ptr') = ptr'
  toPtr (QSequentialAnimationGroupConstGc _ ptr') = ptr'
  
  touchCppPtr (QSequentialAnimationGroupConst _) = HoppyP.return ()
  touchCppPtr (QSequentialAnimationGroupConstGc fptr' _) = HoppyF.touchForeignPtr fptr'

instance HoppyFHR.Deletable QSequentialAnimationGroupConst where
  delete (QSequentialAnimationGroupConst ptr') = delete'QSequentialAnimationGroup ptr'
  delete (QSequentialAnimationGroupConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QSequentialAnimationGroupConst", " object."]
  
  toGc this'@(QSequentialAnimationGroupConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QSequentialAnimationGroupConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QSequentialAnimationGroup :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
  toGc this'@(QSequentialAnimationGroupConstGc {}) = HoppyP.return this'

instance QSequentialAnimationGroupConstPtr QSequentialAnimationGroupConst where
  toQSequentialAnimationGroupConst = HoppyP.id

instance M10.QAnimationGroupConstPtr QSequentialAnimationGroupConst where
  toQAnimationGroupConst (QSequentialAnimationGroupConst ptr') = M10.QAnimationGroupConst $ castQSequentialAnimationGroupToQAnimationGroup ptr'
  toQAnimationGroupConst (QSequentialAnimationGroupConstGc fptr' ptr') = M10.QAnimationGroupConstGc fptr' $ castQSequentialAnimationGroupToQAnimationGroup ptr'

instance M2.QAbstractAnimationConstPtr QSequentialAnimationGroupConst where
  toQAbstractAnimationConst (QSequentialAnimationGroupConst ptr') = M2.QAbstractAnimationConst $ castQSequentialAnimationGroupToQAbstractAnimation ptr'
  toQAbstractAnimationConst (QSequentialAnimationGroupConstGc fptr' ptr') = M2.QAbstractAnimationConstGc fptr' $ castQSequentialAnimationGroupToQAbstractAnimation ptr'

instance M94.QObjectConstPtr QSequentialAnimationGroupConst where
  toQObjectConst (QSequentialAnimationGroupConst ptr') = M94.QObjectConst $ castQSequentialAnimationGroupToQObject ptr'
  toQObjectConst (QSequentialAnimationGroupConstGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQSequentialAnimationGroupToQObject ptr'

data QSequentialAnimationGroup =
    QSequentialAnimationGroup (HoppyF.Ptr QSequentialAnimationGroup)
  | QSequentialAnimationGroupGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QSequentialAnimationGroup)
  deriving (HoppyP.Show)

instance HoppyP.Eq QSequentialAnimationGroup where
  x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y

instance HoppyP.Ord QSequentialAnimationGroup where
  compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)

castQSequentialAnimationGroupToNonconst :: QSequentialAnimationGroupConst -> QSequentialAnimationGroup
castQSequentialAnimationGroupToNonconst (QSequentialAnimationGroupConst ptr') = QSequentialAnimationGroup $ HoppyF.castPtr ptr'
castQSequentialAnimationGroupToNonconst (QSequentialAnimationGroupConstGc fptr' ptr') = QSequentialAnimationGroupGc fptr' $ HoppyF.castPtr ptr'

instance HoppyFHR.CppPtr QSequentialAnimationGroup where
  nullptr = QSequentialAnimationGroup HoppyF.nullPtr
  
  withCppPtr (QSequentialAnimationGroup ptr') f' = f' ptr'
  withCppPtr (QSequentialAnimationGroupGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
  
  toPtr (QSequentialAnimationGroup ptr') = ptr'
  toPtr (QSequentialAnimationGroupGc _ ptr') = ptr'
  
  touchCppPtr (QSequentialAnimationGroup _) = HoppyP.return ()
  touchCppPtr (QSequentialAnimationGroupGc fptr' _) = HoppyF.touchForeignPtr fptr'

instance HoppyFHR.Deletable QSequentialAnimationGroup where
  delete (QSequentialAnimationGroup ptr') = delete'QSequentialAnimationGroup $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QSequentialAnimationGroupConst)
  delete (QSequentialAnimationGroupGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QSequentialAnimationGroup", " object."]
  
  toGc this'@(QSequentialAnimationGroup ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QSequentialAnimationGroupGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QSequentialAnimationGroup :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
  toGc this'@(QSequentialAnimationGroupGc {}) = HoppyP.return this'

instance QSequentialAnimationGroupConstPtr QSequentialAnimationGroup where
  toQSequentialAnimationGroupConst (QSequentialAnimationGroup ptr') = QSequentialAnimationGroupConst $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr'
  toQSequentialAnimationGroupConst (QSequentialAnimationGroupGc fptr' ptr') = QSequentialAnimationGroupConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr'

instance QSequentialAnimationGroupPtr QSequentialAnimationGroup where
  toQSequentialAnimationGroup = HoppyP.id

instance M10.QAnimationGroupConstPtr QSequentialAnimationGroup where
  toQAnimationGroupConst (QSequentialAnimationGroup ptr') = M10.QAnimationGroupConst $ castQSequentialAnimationGroupToQAnimationGroup $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr'
  toQAnimationGroupConst (QSequentialAnimationGroupGc fptr' ptr') = M10.QAnimationGroupConstGc fptr' $ castQSequentialAnimationGroupToQAnimationGroup $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr'

instance M10.QAnimationGroupPtr QSequentialAnimationGroup where
  toQAnimationGroup (QSequentialAnimationGroup ptr') = M10.QAnimationGroup $ (HoppyF.castPtr :: HoppyF.Ptr M10.QAnimationGroupConst -> HoppyF.Ptr M10.QAnimationGroup) $ castQSequentialAnimationGroupToQAnimationGroup $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr'
  toQAnimationGroup (QSequentialAnimationGroupGc fptr' ptr') = M10.QAnimationGroupGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M10.QAnimationGroupConst -> HoppyF.Ptr M10.QAnimationGroup) $ castQSequentialAnimationGroupToQAnimationGroup $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr'

instance M2.QAbstractAnimationConstPtr QSequentialAnimationGroup where
  toQAbstractAnimationConst (QSequentialAnimationGroup ptr') = M2.QAbstractAnimationConst $ castQSequentialAnimationGroupToQAbstractAnimation $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr'
  toQAbstractAnimationConst (QSequentialAnimationGroupGc fptr' ptr') = M2.QAbstractAnimationConstGc fptr' $ castQSequentialAnimationGroupToQAbstractAnimation $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr'

instance M2.QAbstractAnimationPtr QSequentialAnimationGroup where
  toQAbstractAnimation (QSequentialAnimationGroup ptr') = M2.QAbstractAnimation $ (HoppyF.castPtr :: HoppyF.Ptr M2.QAbstractAnimationConst -> HoppyF.Ptr M2.QAbstractAnimation) $ castQSequentialAnimationGroupToQAbstractAnimation $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr'
  toQAbstractAnimation (QSequentialAnimationGroupGc fptr' ptr') = M2.QAbstractAnimationGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M2.QAbstractAnimationConst -> HoppyF.Ptr M2.QAbstractAnimation) $ castQSequentialAnimationGroupToQAbstractAnimation $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr'

instance M94.QObjectConstPtr QSequentialAnimationGroup where
  toQObjectConst (QSequentialAnimationGroup ptr') = M94.QObjectConst $ castQSequentialAnimationGroupToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr'
  toQObjectConst (QSequentialAnimationGroupGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQSequentialAnimationGroupToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr'

instance M94.QObjectPtr QSequentialAnimationGroup where
  toQObject (QSequentialAnimationGroup ptr') = M94.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQSequentialAnimationGroupToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr'
  toQObject (QSequentialAnimationGroupGc fptr' ptr') = M94.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQSequentialAnimationGroupToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QSequentialAnimationGroup -> HoppyF.Ptr QSequentialAnimationGroupConst) ptr'

class QSequentialAnimationGroupSuper a where
  downToQSequentialAnimationGroup :: a -> QSequentialAnimationGroup

instance QSequentialAnimationGroupSuper M10.QAnimationGroup where
  downToQSequentialAnimationGroup = castQSequentialAnimationGroupToNonconst . cast' . M10.castQAnimationGroupToConst
    where
      cast' (M10.QAnimationGroupConst ptr') = QSequentialAnimationGroupConst $ castQAnimationGroupToQSequentialAnimationGroup ptr'
      cast' (M10.QAnimationGroupConstGc fptr' ptr') = QSequentialAnimationGroupConstGc fptr' $ castQAnimationGroupToQSequentialAnimationGroup ptr'
instance QSequentialAnimationGroupSuper M2.QAbstractAnimation where
  downToQSequentialAnimationGroup = castQSequentialAnimationGroupToNonconst . cast' . M2.castQAbstractAnimationToConst
    where
      cast' (M2.QAbstractAnimationConst ptr') = QSequentialAnimationGroupConst $ castQAbstractAnimationToQSequentialAnimationGroup ptr'
      cast' (M2.QAbstractAnimationConstGc fptr' ptr') = QSequentialAnimationGroupConstGc fptr' $ castQAbstractAnimationToQSequentialAnimationGroup ptr'
instance QSequentialAnimationGroupSuper M94.QObject where
  downToQSequentialAnimationGroup = castQSequentialAnimationGroupToNonconst . cast' . M94.castQObjectToConst
    where
      cast' (M94.QObjectConst ptr') = QSequentialAnimationGroupConst $ castQObjectToQSequentialAnimationGroup ptr'
      cast' (M94.QObjectConstGc fptr' ptr') = QSequentialAnimationGroupConstGc fptr' $ castQObjectToQSequentialAnimationGroup ptr'

class QSequentialAnimationGroupSuperConst a where
  downToQSequentialAnimationGroupConst :: a -> QSequentialAnimationGroupConst

instance QSequentialAnimationGroupSuperConst M10.QAnimationGroupConst where
  downToQSequentialAnimationGroupConst = cast'
    where
      cast' (M10.QAnimationGroupConst ptr') = QSequentialAnimationGroupConst $ castQAnimationGroupToQSequentialAnimationGroup ptr'
      cast' (M10.QAnimationGroupConstGc fptr' ptr') = QSequentialAnimationGroupConstGc fptr' $ castQAnimationGroupToQSequentialAnimationGroup ptr'
instance QSequentialAnimationGroupSuperConst M2.QAbstractAnimationConst where
  downToQSequentialAnimationGroupConst = cast'
    where
      cast' (M2.QAbstractAnimationConst ptr') = QSequentialAnimationGroupConst $ castQAbstractAnimationToQSequentialAnimationGroup ptr'
      cast' (M2.QAbstractAnimationConstGc fptr' ptr') = QSequentialAnimationGroupConstGc fptr' $ castQAbstractAnimationToQSequentialAnimationGroup ptr'
instance QSequentialAnimationGroupSuperConst M94.QObjectConst where
  downToQSequentialAnimationGroupConst = cast'
    where
      cast' (M94.QObjectConst ptr') = QSequentialAnimationGroupConst $ castQObjectToQSequentialAnimationGroup ptr'
      cast' (M94.QObjectConstGc fptr' ptr') = QSequentialAnimationGroupConstGc fptr' $ castQObjectToQSequentialAnimationGroup ptr'

instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QSequentialAnimationGroup)) QSequentialAnimationGroup where
  assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'

instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QSequentialAnimationGroup)) QSequentialAnimationGroup where
  decode = HoppyP.fmap QSequentialAnimationGroup . HoppyF.peek