qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Gui/QGradient.hs
{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
---------- GENERATED FILE, EDITS WILL BE LOST ----------
module Graphics.UI.Qtah.Generated.Gui.QGradient (
QGradientValue (..),
QGradientConstPtr (..),
coordinateMode,
spread,
getType,
eQ,
nE,
QGradientPtr (..),
setCoordinateMode,
setColorAt,
setSpread,
QGradientConst (..),
castQGradientToConst,
QGradient (..),
castQGradientToNonconst,
new,
newCopy,
QGradientSuper (..),
QGradientSuperConst (..),
QGradientCoordinateMode (..),
QGradientPreset (..),
QGradientSpread (..),
QGradientType (..),
) where
import Control.Monad ((>=>))
import qualified Foreign as HoppyF
import qualified Foreign.C as HoppyFC
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import qualified Graphics.UI.Qtah.Generated.Gui.QColor as M252
import Prelude (($), (.), (/=), (=<<), (==), (>>=))
import qualified Prelude as HoppyP
foreign import ccall "genpop__QGradient_new" new' :: HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr QGradient)
foreign import ccall "genpop__QGradient_newCopy" newCopy' :: HoppyF.Ptr QGradientConst -> HoppyP.IO (HoppyF.Ptr QGradient)
foreign import ccall "genpop__QGradient_coordinateMode" coordinateMode' :: HoppyF.Ptr QGradientConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QGradient_setCoordinateMode" setCoordinateMode' :: HoppyF.Ptr QGradient -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QGradient_setColorAt" setColorAt' :: HoppyF.Ptr QGradient -> HoppyFC.CDouble -> HoppyF.Ptr M252.QColorConst -> HoppyP.IO ()
foreign import ccall "genpop__QGradient_spread" spread' :: HoppyF.Ptr QGradientConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QGradient_setSpread" setSpread' :: HoppyF.Ptr QGradient -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QGradient_getType" getType' :: HoppyF.Ptr QGradientConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QGradient_EQ" eQ' :: HoppyF.Ptr QGradientConst -> HoppyF.Ptr QGradientConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "genpop__QGradient_NE" nE' :: HoppyF.Ptr QGradientConst -> HoppyF.Ptr QGradientConst -> HoppyP.IO HoppyFC.CBool
foreign import ccall "gendel__QGradient" delete'QGradient :: HoppyF.Ptr QGradientConst -> HoppyP.IO ()
foreign import ccall "&gendel__QGradient" deletePtr'QGradient :: HoppyF.FunPtr (HoppyF.Ptr QGradientConst -> HoppyP.IO ())
class QGradientValue a where
withQGradientPtr :: a -> (QGradientConst -> HoppyP.IO b) -> HoppyP.IO b
instance {-# OVERLAPPABLE #-} QGradientConstPtr a => QGradientValue a where
withQGradientPtr = HoppyP.flip ($) . toQGradientConst
class (HoppyFHR.CppPtr this) => QGradientConstPtr this where
toQGradientConst :: this -> QGradientConst
coordinateMode :: (QGradientValue this) => (this) {- ^ this -} -> (HoppyP.IO QGradientCoordinateMode)
coordinateMode arg'1 =
withQGradientPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.toCppEnum
) =<<
(coordinateMode' arg'1')
spread :: (QGradientValue this) => (this) {- ^ this -} -> (HoppyP.IO QGradientSpread)
spread arg'1 =
withQGradientPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.toCppEnum
) =<<
(spread' arg'1')
getType :: (QGradientValue this) => (this) {- ^ this -} -> (HoppyP.IO QGradientType)
getType arg'1 =
withQGradientPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(
HoppyP.return . HoppyFHR.toCppEnum
) =<<
(getType' arg'1')
eQ :: (QGradientValue this, QGradientValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
eQ arg'1 arg'2 =
withQGradientPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
withQGradientPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
(
(HoppyP.return . (/= 0))
) =<<
(eQ' arg'1' arg'2')
nE :: (QGradientValue this, QGradientValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO HoppyP.Bool)
nE arg'1 arg'2 =
withQGradientPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
withQGradientPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
(
(HoppyP.return . (/= 0))
) =<<
(nE' arg'1' arg'2')
class (QGradientConstPtr this) => QGradientPtr this where
toQGradient :: this -> QGradient
setCoordinateMode :: (QGradientPtr this) => (this) {- ^ this -} -> (QGradientCoordinateMode) -> (HoppyP.IO ())
setCoordinateMode arg'1 arg'2 =
HoppyFHR.withCppPtr (toQGradient arg'1) $ \arg'1' ->
(
HoppyP.return . HoppyFHR.fromCppEnum
) arg'2 >>= \arg'2' ->
(setCoordinateMode' arg'1' arg'2')
setColorAt :: (QGradientPtr this, M252.QColorValue arg'3) => (this) {- ^ this -} -> (HoppyP.Double) -> (arg'3) -> (HoppyP.IO ())
setColorAt arg'1 arg'2 arg'3 =
HoppyFHR.withCppPtr (toQGradient arg'1) $ \arg'1' ->
(
HoppyP.return . HoppyP.realToFrac
) arg'2 >>= \arg'2' ->
M252.withQColorPtr arg'3 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'3' ->
(setColorAt' arg'1' arg'2' arg'3')
setSpread :: (QGradientPtr this) => (this) {- ^ this -} -> (QGradientSpread) -> (HoppyP.IO ())
setSpread arg'1 arg'2 =
HoppyFHR.withCppPtr (toQGradient arg'1) $ \arg'1' ->
(
HoppyP.return . HoppyFHR.fromCppEnum
) arg'2 >>= \arg'2' ->
(setSpread' arg'1' arg'2')
data QGradientConst =
QGradientConst (HoppyF.Ptr QGradientConst)
| QGradientConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QGradientConst)
deriving (HoppyP.Show)
instance HoppyP.Eq QGradientConst where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QGradientConst where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQGradientToConst :: QGradient -> QGradientConst
castQGradientToConst (QGradient ptr') = QGradientConst $ HoppyF.castPtr ptr'
castQGradientToConst (QGradientGc fptr' ptr') = QGradientConstGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QGradientConst where
nullptr = QGradientConst HoppyF.nullPtr
withCppPtr (QGradientConst ptr') f' = f' ptr'
withCppPtr (QGradientConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QGradientConst ptr') = ptr'
toPtr (QGradientConstGc _ ptr') = ptr'
touchCppPtr (QGradientConst _) = HoppyP.return ()
touchCppPtr (QGradientConstGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QGradientConst where
delete (QGradientConst ptr') = delete'QGradient ptr'
delete (QGradientConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QGradientConst", " object."]
toGc this'@(QGradientConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QGradientConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QGradient :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QGradientConstGc {}) = HoppyP.return this'
instance HoppyFHR.Copyable QGradientConst QGradient where copy = newCopy
instance QGradientConstPtr QGradientConst where
toQGradientConst = HoppyP.id
data QGradient =
QGradient (HoppyF.Ptr QGradient)
| QGradientGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QGradient)
deriving (HoppyP.Show)
instance HoppyP.Eq QGradient where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QGradient where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQGradientToNonconst :: QGradientConst -> QGradient
castQGradientToNonconst (QGradientConst ptr') = QGradient $ HoppyF.castPtr ptr'
castQGradientToNonconst (QGradientConstGc fptr' ptr') = QGradientGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QGradient where
nullptr = QGradient HoppyF.nullPtr
withCppPtr (QGradient ptr') f' = f' ptr'
withCppPtr (QGradientGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QGradient ptr') = ptr'
toPtr (QGradientGc _ ptr') = ptr'
touchCppPtr (QGradient _) = HoppyP.return ()
touchCppPtr (QGradientGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QGradient where
delete (QGradient ptr') = delete'QGradient $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QGradientConst)
delete (QGradientGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QGradient", " object."]
toGc this'@(QGradient ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QGradientGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QGradient :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QGradientGc {}) = HoppyP.return this'
instance HoppyFHR.Copyable QGradient QGradient where copy = newCopy
instance QGradientConstPtr QGradient where
toQGradientConst (QGradient ptr') = QGradientConst $ (HoppyF.castPtr :: HoppyF.Ptr QGradient -> HoppyF.Ptr QGradientConst) ptr'
toQGradientConst (QGradientGc fptr' ptr') = QGradientConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QGradient -> HoppyF.Ptr QGradientConst) ptr'
instance QGradientPtr QGradient where
toQGradient = HoppyP.id
new :: (QGradientPreset) -> (HoppyP.IO QGradient)
new arg'1 =
(
HoppyP.return . HoppyFHR.fromCppEnum
) arg'1 >>= \arg'1' ->
HoppyP.fmap QGradient
(new' arg'1')
newCopy :: (QGradientValue arg'1) => (arg'1) -> (HoppyP.IO QGradient)
newCopy arg'1 =
withQGradientPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap QGradient
(newCopy' arg'1')
class QGradientSuper a where
downToQGradient :: a -> QGradient
class QGradientSuperConst a where
downToQGradientConst :: a -> QGradientConst
instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QGradient)) QGradient where
assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'
instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QGradient)) QGradient where
decode = HoppyP.fmap QGradient . HoppyF.peek
instance HoppyFHR.Decodable QGradient (QGradient) where
decode = HoppyFHR.decode . toQGradientConst
instance HoppyFHR.Decodable QGradientConst (QGradient) where
decode =
HoppyFHR.copy >=> HoppyFHR.toGc
data QGradientCoordinateMode =
LogicalMode
| StretchToDeviceMode
| ObjectBoundingMode
| ObjectMode
| UnknownQGradientCoordinateMode (HoppyFC.CInt)
deriving (HoppyP.Show)
instance HoppyFHR.CppEnum (HoppyFC.CInt) QGradientCoordinateMode where
fromCppEnum LogicalMode = 0
fromCppEnum StretchToDeviceMode = 1
fromCppEnum ObjectBoundingMode = 2
fromCppEnum ObjectMode = 3
fromCppEnum (UnknownQGradientCoordinateMode n) = n
toCppEnum (0) = LogicalMode
toCppEnum (1) = StretchToDeviceMode
toCppEnum (2) = ObjectBoundingMode
toCppEnum (3) = ObjectMode
toCppEnum n = UnknownQGradientCoordinateMode n
instance HoppyP.Eq QGradientCoordinateMode where
x == y = HoppyFHR.fromCppEnum x == HoppyFHR.fromCppEnum y
instance HoppyP.Ord QGradientCoordinateMode where
compare x y = HoppyP.compare (HoppyFHR.fromCppEnum x) (HoppyFHR.fromCppEnum y)
data QGradientPreset =
WarmFlame
| UnknownQGradientPreset (HoppyFC.CInt)
deriving (HoppyP.Show)
instance HoppyFHR.CppEnum (HoppyFC.CInt) QGradientPreset where
fromCppEnum WarmFlame = 1
fromCppEnum (UnknownQGradientPreset n) = n
toCppEnum (1) = WarmFlame
toCppEnum n = UnknownQGradientPreset n
instance HoppyP.Eq QGradientPreset where
x == y = HoppyFHR.fromCppEnum x == HoppyFHR.fromCppEnum y
instance HoppyP.Ord QGradientPreset where
compare x y = HoppyP.compare (HoppyFHR.fromCppEnum x) (HoppyFHR.fromCppEnum y)
data QGradientSpread =
PadSpread
| ReflectSpread
| RepeatSpread
| UnknownQGradientSpread (HoppyFC.CInt)
deriving (HoppyP.Show)
instance HoppyFHR.CppEnum (HoppyFC.CInt) QGradientSpread where
fromCppEnum PadSpread = 0
fromCppEnum ReflectSpread = 1
fromCppEnum RepeatSpread = 2
fromCppEnum (UnknownQGradientSpread n) = n
toCppEnum (0) = PadSpread
toCppEnum (1) = ReflectSpread
toCppEnum (2) = RepeatSpread
toCppEnum n = UnknownQGradientSpread n
instance HoppyP.Eq QGradientSpread where
x == y = HoppyFHR.fromCppEnum x == HoppyFHR.fromCppEnum y
instance HoppyP.Ord QGradientSpread where
compare x y = HoppyP.compare (HoppyFHR.fromCppEnum x) (HoppyFHR.fromCppEnum y)
data QGradientType =
LinearGradient
| RadialGradient
| ConicalGradient
| NoGradient
| UnknownQGradientType (HoppyFC.CInt)
deriving (HoppyP.Show)
instance HoppyFHR.CppEnum (HoppyFC.CInt) QGradientType where
fromCppEnum LinearGradient = 0
fromCppEnum RadialGradient = 1
fromCppEnum ConicalGradient = 2
fromCppEnum NoGradient = 3
fromCppEnum (UnknownQGradientType n) = n
toCppEnum (0) = LinearGradient
toCppEnum (1) = RadialGradient
toCppEnum (2) = ConicalGradient
toCppEnum (3) = NoGradient
toCppEnum n = UnknownQGradientType n
instance HoppyP.Eq QGradientType where
x == y = HoppyFHR.fromCppEnum x == HoppyFHR.fromCppEnum y
instance HoppyP.Ord QGradientType where
compare x y = HoppyP.compare (HoppyFHR.fromCppEnum x) (HoppyFHR.fromCppEnum y)