{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- module Graphics.UI.Qtah.Generated.Widgets.QRubberBand ( castQRubberBandToQWidget, castQWidgetToQRubberBand, castQRubberBandToQObject, castQObjectToQRubberBand, QRubberBandValue (..), QRubberBandConstPtr (..), shape, QRubberBandPtr (..), move, resize, setGeometry, QRubberBandConst (..), castQRubberBandToConst, QRubberBand (..), castQRubberBandToNonconst, new, newWithParent, QRubberBandSuper (..), QRubberBandSuperConst (..), QRubberBandShape (..), ) 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.QObject as M94 import qualified Graphics.UI.Qtah.Generated.Core.QPoint as M114 import qualified Graphics.UI.Qtah.Generated.Core.QRect as M122 import qualified Graphics.UI.Qtah.Generated.Core.QSize as M134 import qualified Graphics.UI.Qtah.Generated.Widgets.QWidget as M506 import Prelude (($), (.), (=<<), (==), (>>=)) import qualified Prelude as HoppyP foreign import ccall "genpop__QRubberBand_new" new' :: HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr QRubberBand) foreign import ccall "genpop__QRubberBand_newWithParent" newWithParent' :: HoppyFC.CInt -> HoppyF.Ptr M506.QWidget -> HoppyP.IO (HoppyF.Ptr QRubberBand) foreign import ccall "genpop__QRubberBand_move" move' :: HoppyF.Ptr QRubberBand -> HoppyF.Ptr M114.QPointConst -> HoppyP.IO () foreign import ccall "genpop__QRubberBand_resize" resize' :: HoppyF.Ptr QRubberBand -> HoppyF.Ptr M134.QSizeConst -> HoppyP.IO () foreign import ccall "genpop__QRubberBand_setGeometry" setGeometry' :: HoppyF.Ptr QRubberBand -> HoppyF.Ptr M122.QRectConst -> HoppyP.IO () foreign import ccall "genpop__QRubberBand_shape" shape' :: HoppyF.Ptr QRubberBandConst -> HoppyP.IO HoppyFC.CInt foreign import ccall "gencast__QRubberBand__QWidget" castQRubberBandToQWidget :: HoppyF.Ptr QRubberBandConst -> HoppyF.Ptr M506.QWidgetConst foreign import ccall "gencast__QWidget__QRubberBand" castQWidgetToQRubberBand :: HoppyF.Ptr M506.QWidgetConst -> HoppyF.Ptr QRubberBandConst foreign import ccall "gencast__QRubberBand__QObject" castQRubberBandToQObject :: HoppyF.Ptr QRubberBandConst -> HoppyF.Ptr M94.QObjectConst foreign import ccall "gencast__QObject__QRubberBand" castQObjectToQRubberBand :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr QRubberBandConst foreign import ccall "gendel__QRubberBand" delete'QRubberBand :: HoppyF.Ptr QRubberBandConst -> HoppyP.IO () foreign import ccall "&gendel__QRubberBand" deletePtr'QRubberBand :: HoppyF.FunPtr (HoppyF.Ptr QRubberBandConst -> HoppyP.IO ()) class QRubberBandValue a where withQRubberBandPtr :: a -> (QRubberBandConst -> HoppyP.IO b) -> HoppyP.IO b instance {-# OVERLAPPABLE #-} QRubberBandConstPtr a => QRubberBandValue a where withQRubberBandPtr = HoppyP.flip ($) . toQRubberBandConst class (M506.QWidgetConstPtr this) => QRubberBandConstPtr this where toQRubberBandConst :: this -> QRubberBandConst shape :: (QRubberBandValue this) => (this) {- ^ this -} -> (HoppyP.IO QRubberBandShape) shape arg'1 = withQRubberBandPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> ( HoppyP.return . HoppyFHR.toCppEnum ) =<< (shape' arg'1') class (QRubberBandConstPtr this, M506.QWidgetPtr this) => QRubberBandPtr this where toQRubberBand :: this -> QRubberBand move :: (QRubberBandPtr this, M114.QPointValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ()) move arg'1 arg'2 = HoppyFHR.withCppPtr (toQRubberBand arg'1) $ \arg'1' -> M114.withQPointPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' -> (move' arg'1' arg'2') resize :: (QRubberBandPtr this, M134.QSizeValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ()) resize arg'1 arg'2 = HoppyFHR.withCppPtr (toQRubberBand arg'1) $ \arg'1' -> M134.withQSizePtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' -> (resize' arg'1' arg'2') setGeometry :: (QRubberBandPtr this, M122.QRectValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ()) setGeometry arg'1 arg'2 = HoppyFHR.withCppPtr (toQRubberBand arg'1) $ \arg'1' -> M122.withQRectPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' -> (setGeometry' arg'1' arg'2') data QRubberBandConst = QRubberBandConst (HoppyF.Ptr QRubberBandConst) | QRubberBandConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QRubberBandConst) deriving (HoppyP.Show) instance HoppyP.Eq QRubberBandConst where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QRubberBandConst where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQRubberBandToConst :: QRubberBand -> QRubberBandConst castQRubberBandToConst (QRubberBand ptr') = QRubberBandConst $ HoppyF.castPtr ptr' castQRubberBandToConst (QRubberBandGc fptr' ptr') = QRubberBandConstGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QRubberBandConst where nullptr = QRubberBandConst HoppyF.nullPtr withCppPtr (QRubberBandConst ptr') f' = f' ptr' withCppPtr (QRubberBandConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QRubberBandConst ptr') = ptr' toPtr (QRubberBandConstGc _ ptr') = ptr' touchCppPtr (QRubberBandConst _) = HoppyP.return () touchCppPtr (QRubberBandConstGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QRubberBandConst where delete (QRubberBandConst ptr') = delete'QRubberBand ptr' delete (QRubberBandConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QRubberBandConst", " object."] toGc this'@(QRubberBandConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QRubberBandConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QRubberBand :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QRubberBandConstGc {}) = HoppyP.return this' instance QRubberBandConstPtr QRubberBandConst where toQRubberBandConst = HoppyP.id instance M506.QWidgetConstPtr QRubberBandConst where toQWidgetConst (QRubberBandConst ptr') = M506.QWidgetConst $ castQRubberBandToQWidget ptr' toQWidgetConst (QRubberBandConstGc fptr' ptr') = M506.QWidgetConstGc fptr' $ castQRubberBandToQWidget ptr' instance M94.QObjectConstPtr QRubberBandConst where toQObjectConst (QRubberBandConst ptr') = M94.QObjectConst $ castQRubberBandToQObject ptr' toQObjectConst (QRubberBandConstGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQRubberBandToQObject ptr' data QRubberBand = QRubberBand (HoppyF.Ptr QRubberBand) | QRubberBandGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QRubberBand) deriving (HoppyP.Show) instance HoppyP.Eq QRubberBand where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QRubberBand where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQRubberBandToNonconst :: QRubberBandConst -> QRubberBand castQRubberBandToNonconst (QRubberBandConst ptr') = QRubberBand $ HoppyF.castPtr ptr' castQRubberBandToNonconst (QRubberBandConstGc fptr' ptr') = QRubberBandGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QRubberBand where nullptr = QRubberBand HoppyF.nullPtr withCppPtr (QRubberBand ptr') f' = f' ptr' withCppPtr (QRubberBandGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QRubberBand ptr') = ptr' toPtr (QRubberBandGc _ ptr') = ptr' touchCppPtr (QRubberBand _) = HoppyP.return () touchCppPtr (QRubberBandGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QRubberBand where delete (QRubberBand ptr') = delete'QRubberBand $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QRubberBandConst) delete (QRubberBandGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QRubberBand", " object."] toGc this'@(QRubberBand ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QRubberBandGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QRubberBand :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QRubberBandGc {}) = HoppyP.return this' instance QRubberBandConstPtr QRubberBand where toQRubberBandConst (QRubberBand ptr') = QRubberBandConst $ (HoppyF.castPtr :: HoppyF.Ptr QRubberBand -> HoppyF.Ptr QRubberBandConst) ptr' toQRubberBandConst (QRubberBandGc fptr' ptr') = QRubberBandConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QRubberBand -> HoppyF.Ptr QRubberBandConst) ptr' instance QRubberBandPtr QRubberBand where toQRubberBand = HoppyP.id instance M506.QWidgetConstPtr QRubberBand where toQWidgetConst (QRubberBand ptr') = M506.QWidgetConst $ castQRubberBandToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QRubberBand -> HoppyF.Ptr QRubberBandConst) ptr' toQWidgetConst (QRubberBandGc fptr' ptr') = M506.QWidgetConstGc fptr' $ castQRubberBandToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QRubberBand -> HoppyF.Ptr QRubberBandConst) ptr' instance M506.QWidgetPtr QRubberBand where toQWidget (QRubberBand ptr') = M506.QWidget $ (HoppyF.castPtr :: HoppyF.Ptr M506.QWidgetConst -> HoppyF.Ptr M506.QWidget) $ castQRubberBandToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QRubberBand -> HoppyF.Ptr QRubberBandConst) ptr' toQWidget (QRubberBandGc fptr' ptr') = M506.QWidgetGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M506.QWidgetConst -> HoppyF.Ptr M506.QWidget) $ castQRubberBandToQWidget $ (HoppyF.castPtr :: HoppyF.Ptr QRubberBand -> HoppyF.Ptr QRubberBandConst) ptr' instance M94.QObjectConstPtr QRubberBand where toQObjectConst (QRubberBand ptr') = M94.QObjectConst $ castQRubberBandToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QRubberBand -> HoppyF.Ptr QRubberBandConst) ptr' toQObjectConst (QRubberBandGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQRubberBandToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QRubberBand -> HoppyF.Ptr QRubberBandConst) ptr' instance M94.QObjectPtr QRubberBand where toQObject (QRubberBand ptr') = M94.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQRubberBandToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QRubberBand -> HoppyF.Ptr QRubberBandConst) ptr' toQObject (QRubberBandGc fptr' ptr') = M94.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQRubberBandToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QRubberBand -> HoppyF.Ptr QRubberBandConst) ptr' new :: (QRubberBandShape) -> (HoppyP.IO QRubberBand) new arg'1 = ( HoppyP.return . HoppyFHR.fromCppEnum ) arg'1 >>= \arg'1' -> HoppyP.fmap QRubberBand (new' arg'1') newWithParent :: (M506.QWidgetPtr arg'2) => (QRubberBandShape) -> (arg'2) -> (HoppyP.IO QRubberBand) newWithParent arg'1 arg'2 = ( HoppyP.return . HoppyFHR.fromCppEnum ) arg'1 >>= \arg'1' -> HoppyFHR.withCppPtr (M506.toQWidget arg'2) $ \arg'2' -> HoppyP.fmap QRubberBand (newWithParent' arg'1' arg'2') class QRubberBandSuper a where downToQRubberBand :: a -> QRubberBand instance QRubberBandSuper M506.QWidget where downToQRubberBand = castQRubberBandToNonconst . cast' . M506.castQWidgetToConst where cast' (M506.QWidgetConst ptr') = QRubberBandConst $ castQWidgetToQRubberBand ptr' cast' (M506.QWidgetConstGc fptr' ptr') = QRubberBandConstGc fptr' $ castQWidgetToQRubberBand ptr' instance QRubberBandSuper M94.QObject where downToQRubberBand = castQRubberBandToNonconst . cast' . M94.castQObjectToConst where cast' (M94.QObjectConst ptr') = QRubberBandConst $ castQObjectToQRubberBand ptr' cast' (M94.QObjectConstGc fptr' ptr') = QRubberBandConstGc fptr' $ castQObjectToQRubberBand ptr' class QRubberBandSuperConst a where downToQRubberBandConst :: a -> QRubberBandConst instance QRubberBandSuperConst M506.QWidgetConst where downToQRubberBandConst = cast' where cast' (M506.QWidgetConst ptr') = QRubberBandConst $ castQWidgetToQRubberBand ptr' cast' (M506.QWidgetConstGc fptr' ptr') = QRubberBandConstGc fptr' $ castQWidgetToQRubberBand ptr' instance QRubberBandSuperConst M94.QObjectConst where downToQRubberBandConst = cast' where cast' (M94.QObjectConst ptr') = QRubberBandConst $ castQObjectToQRubberBand ptr' cast' (M94.QObjectConstGc fptr' ptr') = QRubberBandConstGc fptr' $ castQObjectToQRubberBand ptr' instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QRubberBand)) QRubberBand where assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value' instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QRubberBand)) QRubberBand where decode = HoppyP.fmap QRubberBand . HoppyF.peek data QRubberBandShape = Line | Rectangle | UnknownQRubberBandShape (HoppyFC.CInt) deriving (HoppyP.Show) instance HoppyFHR.CppEnum (HoppyFC.CInt) QRubberBandShape where fromCppEnum Line = 0 fromCppEnum Rectangle = 1 fromCppEnum (UnknownQRubberBandShape n) = n toCppEnum (0) = Line toCppEnum (1) = Rectangle toCppEnum n = UnknownQRubberBandShape n instance HoppyP.Eq QRubberBandShape where x == y = HoppyFHR.fromCppEnum x == HoppyFHR.fromCppEnum y instance HoppyP.Ord QRubberBandShape where compare x y = HoppyP.compare (HoppyFHR.fromCppEnum x) (HoppyFHR.fromCppEnum y)