qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Gui/QFontDatabase.hs
{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
---------- GENERATED FILE, EDITS WILL BE LOST ----------
module Graphics.UI.Qtah.Generated.Gui.QFontDatabase (
QFontDatabaseValue (..),
QFontDatabaseConstPtr (..),
QFontDatabasePtr (..),
addApplicationFont,
QFontDatabaseConst (..),
castQFontDatabaseToConst,
QFontDatabase (..),
castQFontDatabaseToNonconst,
QFontDatabaseSuper (..),
QFontDatabaseSuperConst (..),
) 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.QString as M142
import Prelude (($), (.), (=<<), (==))
import qualified Prelude as HoppyP
foreign import ccall "genpop__QFontDatabase_addApplicationFont" addApplicationFont' :: HoppyF.Ptr M142.QStringConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "gendel__QFontDatabase" delete'QFontDatabase :: HoppyF.Ptr QFontDatabaseConst -> HoppyP.IO ()
foreign import ccall "&gendel__QFontDatabase" deletePtr'QFontDatabase :: HoppyF.FunPtr (HoppyF.Ptr QFontDatabaseConst -> HoppyP.IO ())
class QFontDatabaseValue a where
withQFontDatabasePtr :: a -> (QFontDatabaseConst -> HoppyP.IO b) -> HoppyP.IO b
instance {-# OVERLAPPABLE #-} QFontDatabaseConstPtr a => QFontDatabaseValue a where
withQFontDatabasePtr = HoppyP.flip ($) . toQFontDatabaseConst
class (HoppyFHR.CppPtr this) => QFontDatabaseConstPtr this where
toQFontDatabaseConst :: this -> QFontDatabaseConst
class (QFontDatabaseConstPtr this) => QFontDatabasePtr this where
toQFontDatabase :: this -> QFontDatabase
addApplicationFont :: (M142.QStringValue arg'1) => (arg'1) -> (HoppyP.IO HoppyP.Int)
addApplicationFont arg'1 =
M142.withQStringPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) =<<
(addApplicationFont' arg'1')
data QFontDatabaseConst =
QFontDatabaseConst (HoppyF.Ptr QFontDatabaseConst)
| QFontDatabaseConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QFontDatabaseConst)
deriving (HoppyP.Show)
instance HoppyP.Eq QFontDatabaseConst where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QFontDatabaseConst where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQFontDatabaseToConst :: QFontDatabase -> QFontDatabaseConst
castQFontDatabaseToConst (QFontDatabase ptr') = QFontDatabaseConst $ HoppyF.castPtr ptr'
castQFontDatabaseToConst (QFontDatabaseGc fptr' ptr') = QFontDatabaseConstGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QFontDatabaseConst where
nullptr = QFontDatabaseConst HoppyF.nullPtr
withCppPtr (QFontDatabaseConst ptr') f' = f' ptr'
withCppPtr (QFontDatabaseConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QFontDatabaseConst ptr') = ptr'
toPtr (QFontDatabaseConstGc _ ptr') = ptr'
touchCppPtr (QFontDatabaseConst _) = HoppyP.return ()
touchCppPtr (QFontDatabaseConstGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QFontDatabaseConst where
delete (QFontDatabaseConst ptr') = delete'QFontDatabase ptr'
delete (QFontDatabaseConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QFontDatabaseConst", " object."]
toGc this'@(QFontDatabaseConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QFontDatabaseConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QFontDatabase :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QFontDatabaseConstGc {}) = HoppyP.return this'
instance QFontDatabaseConstPtr QFontDatabaseConst where
toQFontDatabaseConst = HoppyP.id
data QFontDatabase =
QFontDatabase (HoppyF.Ptr QFontDatabase)
| QFontDatabaseGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QFontDatabase)
deriving (HoppyP.Show)
instance HoppyP.Eq QFontDatabase where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QFontDatabase where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQFontDatabaseToNonconst :: QFontDatabaseConst -> QFontDatabase
castQFontDatabaseToNonconst (QFontDatabaseConst ptr') = QFontDatabase $ HoppyF.castPtr ptr'
castQFontDatabaseToNonconst (QFontDatabaseConstGc fptr' ptr') = QFontDatabaseGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QFontDatabase where
nullptr = QFontDatabase HoppyF.nullPtr
withCppPtr (QFontDatabase ptr') f' = f' ptr'
withCppPtr (QFontDatabaseGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QFontDatabase ptr') = ptr'
toPtr (QFontDatabaseGc _ ptr') = ptr'
touchCppPtr (QFontDatabase _) = HoppyP.return ()
touchCppPtr (QFontDatabaseGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QFontDatabase where
delete (QFontDatabase ptr') = delete'QFontDatabase $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QFontDatabaseConst)
delete (QFontDatabaseGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QFontDatabase", " object."]
toGc this'@(QFontDatabase ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QFontDatabaseGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QFontDatabase :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QFontDatabaseGc {}) = HoppyP.return this'
instance QFontDatabaseConstPtr QFontDatabase where
toQFontDatabaseConst (QFontDatabase ptr') = QFontDatabaseConst $ (HoppyF.castPtr :: HoppyF.Ptr QFontDatabase -> HoppyF.Ptr QFontDatabaseConst) ptr'
toQFontDatabaseConst (QFontDatabaseGc fptr' ptr') = QFontDatabaseConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QFontDatabase -> HoppyF.Ptr QFontDatabaseConst) ptr'
instance QFontDatabasePtr QFontDatabase where
toQFontDatabase = HoppyP.id
class QFontDatabaseSuper a where
downToQFontDatabase :: a -> QFontDatabase
class QFontDatabaseSuperConst a where
downToQFontDatabaseConst :: a -> QFontDatabaseConst
instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QFontDatabase)) QFontDatabase where
assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'
instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QFontDatabase)) QFontDatabase where
decode = HoppyP.fmap QFontDatabase . HoppyF.peek