qtah-qt5-0.3.0: src/Graphics/UI/Qtah/Generated/Widgets/QAbstractGraphicsShapeItem.hs
{-# LANGUAGE CPP, FlexibleContexts, FlexibleInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
#if !MIN_VERSION_base(4,8,0)
{-# LANGUAGE OverlappingInstances #-}
#endif
---------- GENERATED FILE, EDITS WILL BE LOST ----------
module Graphics.UI.Qtah.Generated.Widgets.QAbstractGraphicsShapeItem (
castQAbstractGraphicsShapeItemToQGraphicsItem,
castQGraphicsItemToQAbstractGraphicsShapeItem,
QAbstractGraphicsShapeItemValue (..),
QAbstractGraphicsShapeItemConstPtr (..),
brush,
pen,
QAbstractGraphicsShapeItemPtr (..),
setBrush,
setPen,
QAbstractGraphicsShapeItemConst (..),
castQAbstractGraphicsShapeItemToConst,
QAbstractGraphicsShapeItem (..),
castQAbstractGraphicsShapeItemToNonconst,
QAbstractGraphicsShapeItemSuper (..),
QAbstractGraphicsShapeItemSuperConst (..),
) where
import qualified Foreign as HoppyF
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import qualified Graphics.UI.Qtah.Generated.Gui.QBrush as M86
import qualified Graphics.UI.Qtah.Generated.Gui.QPen as M130
import {-# SOURCE #-} qualified Graphics.UI.Qtah.Generated.Widgets.QGraphicsItem as M202
import Prelude (($), (.), (=<<), (==))
import qualified Prelude as HoppyP
foreign import ccall "genpop__QAbstractGraphicsShapeItem_brush" brush' :: HoppyF.Ptr QAbstractGraphicsShapeItemConst -> HoppyP.IO (HoppyF.Ptr M86.QBrushConst)
foreign import ccall "genpop__QAbstractGraphicsShapeItem_pen" pen' :: HoppyF.Ptr QAbstractGraphicsShapeItemConst -> HoppyP.IO (HoppyF.Ptr M130.QPenConst)
foreign import ccall "genpop__QAbstractGraphicsShapeItem_setBrush" setBrush' :: HoppyF.Ptr QAbstractGraphicsShapeItem -> HoppyF.Ptr M86.QBrushConst -> HoppyP.IO ()
foreign import ccall "genpop__QAbstractGraphicsShapeItem_setPen" setPen' :: HoppyF.Ptr QAbstractGraphicsShapeItem -> HoppyF.Ptr M130.QPenConst -> HoppyP.IO ()
foreign import ccall "gencast__QAbstractGraphicsShapeItem__QGraphicsItem" castQAbstractGraphicsShapeItemToQGraphicsItem :: HoppyF.Ptr QAbstractGraphicsShapeItemConst -> HoppyF.Ptr M202.QGraphicsItemConst
foreign import ccall "gencast__QGraphicsItem__QAbstractGraphicsShapeItem" castQGraphicsItemToQAbstractGraphicsShapeItem :: HoppyF.Ptr M202.QGraphicsItemConst -> HoppyF.Ptr QAbstractGraphicsShapeItemConst
foreign import ccall "gendel__QAbstractGraphicsShapeItem" delete'QAbstractGraphicsShapeItem :: HoppyF.Ptr QAbstractGraphicsShapeItemConst -> HoppyP.IO ()
foreign import ccall "&gendel__QAbstractGraphicsShapeItem" deletePtr'QAbstractGraphicsShapeItem :: HoppyF.FunPtr (HoppyF.Ptr QAbstractGraphicsShapeItemConst -> HoppyP.IO ())
class QAbstractGraphicsShapeItemValue a where
withQAbstractGraphicsShapeItemPtr :: a -> (QAbstractGraphicsShapeItemConst -> HoppyP.IO b) -> HoppyP.IO b
#if MIN_VERSION_base(4,8,0)
instance {-# OVERLAPPABLE #-} QAbstractGraphicsShapeItemConstPtr a => QAbstractGraphicsShapeItemValue a where
#else
instance QAbstractGraphicsShapeItemConstPtr a => QAbstractGraphicsShapeItemValue a where
#endif
withQAbstractGraphicsShapeItemPtr = HoppyP.flip ($) . toQAbstractGraphicsShapeItemConst
class (M202.QGraphicsItemConstPtr this) => QAbstractGraphicsShapeItemConstPtr this where
toQAbstractGraphicsShapeItemConst :: this -> QAbstractGraphicsShapeItemConst
brush :: (QAbstractGraphicsShapeItemValue arg'1) => arg'1 -> HoppyP.IO M86.QBrush
brush arg'1 =
withQAbstractGraphicsShapeItemPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(HoppyFHR.decodeAndDelete . M86.QBrushConst) =<<
(brush' arg'1')
pen :: (QAbstractGraphicsShapeItemValue arg'1) => arg'1 -> HoppyP.IO M130.QPen
pen arg'1 =
withQAbstractGraphicsShapeItemPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(HoppyFHR.decodeAndDelete . M130.QPenConst) =<<
(pen' arg'1')
class (QAbstractGraphicsShapeItemConstPtr this, M202.QGraphicsItemPtr this) => QAbstractGraphicsShapeItemPtr this where
toQAbstractGraphicsShapeItem :: this -> QAbstractGraphicsShapeItem
setBrush :: (QAbstractGraphicsShapeItemPtr arg'1, M86.QBrushValue arg'2) => arg'1 -> arg'2 -> HoppyP.IO ()
setBrush arg'1 arg'2 =
HoppyFHR.withCppPtr (toQAbstractGraphicsShapeItem arg'1) $ \arg'1' ->
M86.withQBrushPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
(setBrush' arg'1' arg'2')
setPen :: (QAbstractGraphicsShapeItemPtr arg'1, M130.QPenValue arg'2) => arg'1 -> arg'2 -> HoppyP.IO ()
setPen arg'1 arg'2 =
HoppyFHR.withCppPtr (toQAbstractGraphicsShapeItem arg'1) $ \arg'1' ->
M130.withQPenPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
(setPen' arg'1' arg'2')
data QAbstractGraphicsShapeItemConst =
QAbstractGraphicsShapeItemConst (HoppyF.Ptr QAbstractGraphicsShapeItemConst)
| QAbstractGraphicsShapeItemConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QAbstractGraphicsShapeItemConst)
deriving (HoppyP.Show)
instance HoppyP.Eq QAbstractGraphicsShapeItemConst where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QAbstractGraphicsShapeItemConst where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQAbstractGraphicsShapeItemToConst :: QAbstractGraphicsShapeItem -> QAbstractGraphicsShapeItemConst
castQAbstractGraphicsShapeItemToConst (QAbstractGraphicsShapeItem ptr') = QAbstractGraphicsShapeItemConst $ HoppyF.castPtr ptr'
castQAbstractGraphicsShapeItemToConst (QAbstractGraphicsShapeItemGc fptr' ptr') = QAbstractGraphicsShapeItemConstGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QAbstractGraphicsShapeItemConst where
nullptr = QAbstractGraphicsShapeItemConst HoppyF.nullPtr
withCppPtr (QAbstractGraphicsShapeItemConst ptr') f' = f' ptr'
withCppPtr (QAbstractGraphicsShapeItemConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QAbstractGraphicsShapeItemConst ptr') = ptr'
toPtr (QAbstractGraphicsShapeItemConstGc _ ptr') = ptr'
touchCppPtr (QAbstractGraphicsShapeItemConst _) = HoppyP.return ()
touchCppPtr (QAbstractGraphicsShapeItemConstGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QAbstractGraphicsShapeItemConst where
delete (QAbstractGraphicsShapeItemConst ptr') = delete'QAbstractGraphicsShapeItem ptr'
delete (QAbstractGraphicsShapeItemConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QAbstractGraphicsShapeItemConst", " object."]
toGc this'@(QAbstractGraphicsShapeItemConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QAbstractGraphicsShapeItemConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QAbstractGraphicsShapeItem :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QAbstractGraphicsShapeItemConstGc {}) = HoppyP.return this'
instance QAbstractGraphicsShapeItemConstPtr QAbstractGraphicsShapeItemConst where
toQAbstractGraphicsShapeItemConst = HoppyP.id
instance M202.QGraphicsItemConstPtr QAbstractGraphicsShapeItemConst where
toQGraphicsItemConst (QAbstractGraphicsShapeItemConst ptr') = M202.QGraphicsItemConst $ castQAbstractGraphicsShapeItemToQGraphicsItem ptr'
toQGraphicsItemConst (QAbstractGraphicsShapeItemConstGc fptr' ptr') = M202.QGraphicsItemConstGc fptr' $ castQAbstractGraphicsShapeItemToQGraphicsItem ptr'
data QAbstractGraphicsShapeItem =
QAbstractGraphicsShapeItem (HoppyF.Ptr QAbstractGraphicsShapeItem)
| QAbstractGraphicsShapeItemGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QAbstractGraphicsShapeItem)
deriving (HoppyP.Show)
instance HoppyP.Eq QAbstractGraphicsShapeItem where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QAbstractGraphicsShapeItem where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQAbstractGraphicsShapeItemToNonconst :: QAbstractGraphicsShapeItemConst -> QAbstractGraphicsShapeItem
castQAbstractGraphicsShapeItemToNonconst (QAbstractGraphicsShapeItemConst ptr') = QAbstractGraphicsShapeItem $ HoppyF.castPtr ptr'
castQAbstractGraphicsShapeItemToNonconst (QAbstractGraphicsShapeItemConstGc fptr' ptr') = QAbstractGraphicsShapeItemGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QAbstractGraphicsShapeItem where
nullptr = QAbstractGraphicsShapeItem HoppyF.nullPtr
withCppPtr (QAbstractGraphicsShapeItem ptr') f' = f' ptr'
withCppPtr (QAbstractGraphicsShapeItemGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QAbstractGraphicsShapeItem ptr') = ptr'
toPtr (QAbstractGraphicsShapeItemGc _ ptr') = ptr'
touchCppPtr (QAbstractGraphicsShapeItem _) = HoppyP.return ()
touchCppPtr (QAbstractGraphicsShapeItemGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QAbstractGraphicsShapeItem where
delete (QAbstractGraphicsShapeItem ptr') = delete'QAbstractGraphicsShapeItem $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QAbstractGraphicsShapeItemConst)
delete (QAbstractGraphicsShapeItemGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QAbstractGraphicsShapeItem", " object."]
toGc this'@(QAbstractGraphicsShapeItem ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QAbstractGraphicsShapeItemGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QAbstractGraphicsShapeItem :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QAbstractGraphicsShapeItemGc {}) = HoppyP.return this'
instance QAbstractGraphicsShapeItemConstPtr QAbstractGraphicsShapeItem where
toQAbstractGraphicsShapeItemConst (QAbstractGraphicsShapeItem ptr') = QAbstractGraphicsShapeItemConst $ (HoppyF.castPtr :: HoppyF.Ptr QAbstractGraphicsShapeItem -> HoppyF.Ptr QAbstractGraphicsShapeItemConst) ptr'
toQAbstractGraphicsShapeItemConst (QAbstractGraphicsShapeItemGc fptr' ptr') = QAbstractGraphicsShapeItemConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QAbstractGraphicsShapeItem -> HoppyF.Ptr QAbstractGraphicsShapeItemConst) ptr'
instance QAbstractGraphicsShapeItemPtr QAbstractGraphicsShapeItem where
toQAbstractGraphicsShapeItem = HoppyP.id
instance M202.QGraphicsItemConstPtr QAbstractGraphicsShapeItem where
toQGraphicsItemConst (QAbstractGraphicsShapeItem ptr') = M202.QGraphicsItemConst $ castQAbstractGraphicsShapeItemToQGraphicsItem $ (HoppyF.castPtr :: HoppyF.Ptr QAbstractGraphicsShapeItem -> HoppyF.Ptr QAbstractGraphicsShapeItemConst) ptr'
toQGraphicsItemConst (QAbstractGraphicsShapeItemGc fptr' ptr') = M202.QGraphicsItemConstGc fptr' $ castQAbstractGraphicsShapeItemToQGraphicsItem $ (HoppyF.castPtr :: HoppyF.Ptr QAbstractGraphicsShapeItem -> HoppyF.Ptr QAbstractGraphicsShapeItemConst) ptr'
instance M202.QGraphicsItemPtr QAbstractGraphicsShapeItem where
toQGraphicsItem (QAbstractGraphicsShapeItem ptr') = M202.QGraphicsItem $ (HoppyF.castPtr :: HoppyF.Ptr M202.QGraphicsItemConst -> HoppyF.Ptr M202.QGraphicsItem) $ castQAbstractGraphicsShapeItemToQGraphicsItem $ (HoppyF.castPtr :: HoppyF.Ptr QAbstractGraphicsShapeItem -> HoppyF.Ptr QAbstractGraphicsShapeItemConst) ptr'
toQGraphicsItem (QAbstractGraphicsShapeItemGc fptr' ptr') = M202.QGraphicsItemGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M202.QGraphicsItemConst -> HoppyF.Ptr M202.QGraphicsItem) $ castQAbstractGraphicsShapeItemToQGraphicsItem $ (HoppyF.castPtr :: HoppyF.Ptr QAbstractGraphicsShapeItem -> HoppyF.Ptr QAbstractGraphicsShapeItemConst) ptr'
class QAbstractGraphicsShapeItemSuper a where
downToQAbstractGraphicsShapeItem :: a -> QAbstractGraphicsShapeItem
instance QAbstractGraphicsShapeItemSuper M202.QGraphicsItem where
downToQAbstractGraphicsShapeItem = castQAbstractGraphicsShapeItemToNonconst . cast' . M202.castQGraphicsItemToConst
where
cast' (M202.QGraphicsItemConst ptr') = QAbstractGraphicsShapeItemConst $ castQGraphicsItemToQAbstractGraphicsShapeItem ptr'
cast' (M202.QGraphicsItemConstGc fptr' ptr') = QAbstractGraphicsShapeItemConstGc fptr' $ castQGraphicsItemToQAbstractGraphicsShapeItem ptr'
class QAbstractGraphicsShapeItemSuperConst a where
downToQAbstractGraphicsShapeItemConst :: a -> QAbstractGraphicsShapeItemConst
instance QAbstractGraphicsShapeItemSuperConst M202.QGraphicsItemConst where
downToQAbstractGraphicsShapeItemConst = cast'
where
cast' (M202.QGraphicsItemConst ptr') = QAbstractGraphicsShapeItemConst $ castQGraphicsItemToQAbstractGraphicsShapeItem ptr'
cast' (M202.QGraphicsItemConstGc fptr' ptr') = QAbstractGraphicsShapeItemConstGc fptr' $ castQGraphicsItemToQAbstractGraphicsShapeItem ptr'
instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QAbstractGraphicsShapeItem)) QAbstractGraphicsShapeItem where
assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'
instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QAbstractGraphicsShapeItem)) QAbstractGraphicsShapeItem where
decode = HoppyP.fmap QAbstractGraphicsShapeItem . HoppyF.peek