{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- module Graphics.UI.Qtah.Generated.Gui.QPaintEvent ( castQPaintEventToQEvent, castQEventToQPaintEvent, QPaintEventValue (..), QPaintEventConstPtr (..), rect, region, QPaintEventPtr (..), QPaintEventConst (..), castQPaintEventToConst, QPaintEvent (..), castQPaintEventToNonconst, newWithRect, newWithRegion, QPaintEventSuper (..), QPaintEventSuperConst (..), ) where import qualified Foreign as HoppyF import qualified Foreign.Hoppy.Runtime as HoppyFHR import qualified Graphics.UI.Qtah.Generated.Core.QEvent as M34 import qualified Graphics.UI.Qtah.Generated.Core.QRect as M122 import qualified Graphics.UI.Qtah.Generated.Gui.QRegion as M324 import Prelude (($), (.), (==)) import qualified Prelude as HoppyP foreign import ccall "genpop__QPaintEvent_newWithRect" newWithRect' :: HoppyF.Ptr M122.QRectConst -> HoppyP.IO (HoppyF.Ptr QPaintEvent) foreign import ccall "genpop__QPaintEvent_newWithRegion" newWithRegion' :: HoppyF.Ptr M324.QRegionConst -> HoppyP.IO (HoppyF.Ptr QPaintEvent) foreign import ccall "genpop__QPaintEvent_rect" rect' :: HoppyF.Ptr QPaintEventConst -> HoppyP.IO (HoppyF.Ptr M122.QRectConst) foreign import ccall "genpop__QPaintEvent_region" region' :: HoppyF.Ptr QPaintEventConst -> HoppyP.IO (HoppyF.Ptr M324.QRegionConst) foreign import ccall "gencast__QPaintEvent__QEvent" castQPaintEventToQEvent :: HoppyF.Ptr QPaintEventConst -> HoppyF.Ptr M34.QEventConst foreign import ccall "gencast__QEvent__QPaintEvent" castQEventToQPaintEvent :: HoppyF.Ptr M34.QEventConst -> HoppyF.Ptr QPaintEventConst foreign import ccall "gendel__QPaintEvent" delete'QPaintEvent :: HoppyF.Ptr QPaintEventConst -> HoppyP.IO () foreign import ccall "&gendel__QPaintEvent" deletePtr'QPaintEvent :: HoppyF.FunPtr (HoppyF.Ptr QPaintEventConst -> HoppyP.IO ()) class QPaintEventValue a where withQPaintEventPtr :: a -> (QPaintEventConst -> HoppyP.IO b) -> HoppyP.IO b instance {-# OVERLAPPABLE #-} QPaintEventConstPtr a => QPaintEventValue a where withQPaintEventPtr = HoppyP.flip ($) . toQPaintEventConst class (M34.QEventConstPtr this) => QPaintEventConstPtr this where toQPaintEventConst :: this -> QPaintEventConst rect :: (QPaintEventValue this) => (this) {- ^ this -} -> (HoppyP.IO M122.QRectConst) rect arg'1 = withQPaintEventPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> HoppyP.fmap M122.QRectConst (rect' arg'1') region :: (QPaintEventValue this) => (this) {- ^ this -} -> (HoppyP.IO M324.QRegionConst) region arg'1 = withQPaintEventPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> HoppyP.fmap M324.QRegionConst (region' arg'1') class (QPaintEventConstPtr this, M34.QEventPtr this) => QPaintEventPtr this where toQPaintEvent :: this -> QPaintEvent data QPaintEventConst = QPaintEventConst (HoppyF.Ptr QPaintEventConst) | QPaintEventConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QPaintEventConst) deriving (HoppyP.Show) instance HoppyP.Eq QPaintEventConst where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QPaintEventConst where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQPaintEventToConst :: QPaintEvent -> QPaintEventConst castQPaintEventToConst (QPaintEvent ptr') = QPaintEventConst $ HoppyF.castPtr ptr' castQPaintEventToConst (QPaintEventGc fptr' ptr') = QPaintEventConstGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QPaintEventConst where nullptr = QPaintEventConst HoppyF.nullPtr withCppPtr (QPaintEventConst ptr') f' = f' ptr' withCppPtr (QPaintEventConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QPaintEventConst ptr') = ptr' toPtr (QPaintEventConstGc _ ptr') = ptr' touchCppPtr (QPaintEventConst _) = HoppyP.return () touchCppPtr (QPaintEventConstGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QPaintEventConst where delete (QPaintEventConst ptr') = delete'QPaintEvent ptr' delete (QPaintEventConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QPaintEventConst", " object."] toGc this'@(QPaintEventConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QPaintEventConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QPaintEvent :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QPaintEventConstGc {}) = HoppyP.return this' instance QPaintEventConstPtr QPaintEventConst where toQPaintEventConst = HoppyP.id instance M34.QEventConstPtr QPaintEventConst where toQEventConst (QPaintEventConst ptr') = M34.QEventConst $ castQPaintEventToQEvent ptr' toQEventConst (QPaintEventConstGc fptr' ptr') = M34.QEventConstGc fptr' $ castQPaintEventToQEvent ptr' data QPaintEvent = QPaintEvent (HoppyF.Ptr QPaintEvent) | QPaintEventGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QPaintEvent) deriving (HoppyP.Show) instance HoppyP.Eq QPaintEvent where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QPaintEvent where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQPaintEventToNonconst :: QPaintEventConst -> QPaintEvent castQPaintEventToNonconst (QPaintEventConst ptr') = QPaintEvent $ HoppyF.castPtr ptr' castQPaintEventToNonconst (QPaintEventConstGc fptr' ptr') = QPaintEventGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QPaintEvent where nullptr = QPaintEvent HoppyF.nullPtr withCppPtr (QPaintEvent ptr') f' = f' ptr' withCppPtr (QPaintEventGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QPaintEvent ptr') = ptr' toPtr (QPaintEventGc _ ptr') = ptr' touchCppPtr (QPaintEvent _) = HoppyP.return () touchCppPtr (QPaintEventGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QPaintEvent where delete (QPaintEvent ptr') = delete'QPaintEvent $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QPaintEventConst) delete (QPaintEventGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QPaintEvent", " object."] toGc this'@(QPaintEvent ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QPaintEventGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QPaintEvent :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QPaintEventGc {}) = HoppyP.return this' instance QPaintEventConstPtr QPaintEvent where toQPaintEventConst (QPaintEvent ptr') = QPaintEventConst $ (HoppyF.castPtr :: HoppyF.Ptr QPaintEvent -> HoppyF.Ptr QPaintEventConst) ptr' toQPaintEventConst (QPaintEventGc fptr' ptr') = QPaintEventConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QPaintEvent -> HoppyF.Ptr QPaintEventConst) ptr' instance QPaintEventPtr QPaintEvent where toQPaintEvent = HoppyP.id instance M34.QEventConstPtr QPaintEvent where toQEventConst (QPaintEvent ptr') = M34.QEventConst $ castQPaintEventToQEvent $ (HoppyF.castPtr :: HoppyF.Ptr QPaintEvent -> HoppyF.Ptr QPaintEventConst) ptr' toQEventConst (QPaintEventGc fptr' ptr') = M34.QEventConstGc fptr' $ castQPaintEventToQEvent $ (HoppyF.castPtr :: HoppyF.Ptr QPaintEvent -> HoppyF.Ptr QPaintEventConst) ptr' instance M34.QEventPtr QPaintEvent where toQEvent (QPaintEvent ptr') = M34.QEvent $ (HoppyF.castPtr :: HoppyF.Ptr M34.QEventConst -> HoppyF.Ptr M34.QEvent) $ castQPaintEventToQEvent $ (HoppyF.castPtr :: HoppyF.Ptr QPaintEvent -> HoppyF.Ptr QPaintEventConst) ptr' toQEvent (QPaintEventGc fptr' ptr') = M34.QEventGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M34.QEventConst -> HoppyF.Ptr M34.QEvent) $ castQPaintEventToQEvent $ (HoppyF.castPtr :: HoppyF.Ptr QPaintEvent -> HoppyF.Ptr QPaintEventConst) ptr' newWithRect :: (M122.QRectValue arg'1) => (arg'1) -> (HoppyP.IO QPaintEvent) newWithRect arg'1 = M122.withQRectPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> HoppyP.fmap QPaintEvent (newWithRect' arg'1') newWithRegion :: (M324.QRegionValue arg'1) => (arg'1) -> (HoppyP.IO QPaintEvent) newWithRegion arg'1 = M324.withQRegionPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> HoppyP.fmap QPaintEvent (newWithRegion' arg'1') class QPaintEventSuper a where downToQPaintEvent :: a -> QPaintEvent instance QPaintEventSuper M34.QEvent where downToQPaintEvent = castQPaintEventToNonconst . cast' . M34.castQEventToConst where cast' (M34.QEventConst ptr') = QPaintEventConst $ castQEventToQPaintEvent ptr' cast' (M34.QEventConstGc fptr' ptr') = QPaintEventConstGc fptr' $ castQEventToQPaintEvent ptr' class QPaintEventSuperConst a where downToQPaintEventConst :: a -> QPaintEventConst instance QPaintEventSuperConst M34.QEventConst where downToQPaintEventConst = cast' where cast' (M34.QEventConst ptr') = QPaintEventConst $ castQEventToQPaintEvent ptr' cast' (M34.QEventConstGc fptr' ptr') = QPaintEventConstGc fptr' $ castQEventToQPaintEvent ptr' instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QPaintEvent)) QPaintEvent where assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value' instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QPaintEvent)) QPaintEvent where decode = HoppyP.fmap QPaintEvent . HoppyF.peek