{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, GeneralizedNewtypeDeriving, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
module Graphics.UI.Qtah.Generated.Gui.QOpenGLWindow (
castQOpenGLWindowToQPaintDeviceWindow,
castQPaintDeviceWindowToQOpenGLWindow,
castQOpenGLWindowToQWindow,
castQWindowToQOpenGLWindow,
castQOpenGLWindowToQObject,
castQObjectToQOpenGLWindow,
castQOpenGLWindowToQSurface,
castQSurfaceToQOpenGLWindow,
castQOpenGLWindowToQPaintDevice,
castQPaintDeviceToQOpenGLWindow,
QOpenGLWindowValue (..),
QOpenGLWindowConstPtr (..),
defaultFramebufferObject,
isValid,
updateBehavior,
QOpenGLWindowPtr (..),
doneCurrent,
grabFramebuffer,
makeCurrent,
QOpenGLWindowConst (..),
castQOpenGLWindowToConst,
QOpenGLWindow (..),
castQOpenGLWindowToNonconst,
new,
newWithUpdateBehavior,
newWithUpdateBehaviorAndParent,
QOpenGLWindowSuper (..),
QOpenGLWindowSuperConst (..),
QOpenGLWindowUpdateBehavior (..),
) where
import qualified Data.Word as HoppyDW
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 M34
import qualified Graphics.UI.Qtah.Generated.Gui.QImage as M126
import qualified Graphics.UI.Qtah.Generated.Gui.QPaintDevice as M138
import qualified Graphics.UI.Qtah.Generated.Gui.QPaintDeviceWindow as M140
import qualified Graphics.UI.Qtah.Generated.Gui.QSurface as M168
import qualified Graphics.UI.Qtah.Generated.Gui.QWindow as M176
import Prelude (($), (++), (.), (/=), (=<<), (==))
import qualified Prelude as HoppyP
foreign import ccall "genpop__QOpenGLWindow_new" new' :: HoppyP.IO (HoppyF.Ptr QOpenGLWindow)
foreign import ccall "genpop__QOpenGLWindow_newWithUpdateBehavior" newWithUpdateBehavior' :: HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr QOpenGLWindow)
foreign import ccall "genpop__QOpenGLWindow_newWithUpdateBehaviorAndParent" newWithUpdateBehaviorAndParent' :: HoppyFC.CInt -> HoppyF.Ptr M176.QWindow -> HoppyP.IO (HoppyF.Ptr QOpenGLWindow)
foreign import ccall "genpop__QOpenGLWindow_defaultFramebufferObject" defaultFramebufferObject' :: HoppyF.Ptr QOpenGLWindowConst -> HoppyP.IO HoppyDW.Word32
foreign import ccall "genpop__QOpenGLWindow_doneCurrent" doneCurrent' :: HoppyF.Ptr QOpenGLWindow -> HoppyP.IO ()
foreign import ccall "genpop__QOpenGLWindow_grabFramebuffer" grabFramebuffer' :: HoppyF.Ptr QOpenGLWindow -> HoppyP.IO (HoppyF.Ptr M126.QImageConst)
foreign import ccall "genpop__QOpenGLWindow_isValid" isValid' :: HoppyF.Ptr QOpenGLWindowConst -> HoppyP.IO HoppyFHR.CBool
foreign import ccall "genpop__QOpenGLWindow_makeCurrent" makeCurrent' :: HoppyF.Ptr QOpenGLWindow -> HoppyP.IO ()
foreign import ccall "genpop__QOpenGLWindow_updateBehavior" updateBehavior' :: HoppyF.Ptr QOpenGLWindowConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "gencast__QOpenGLWindow__QPaintDeviceWindow" castQOpenGLWindowToQPaintDeviceWindow :: HoppyF.Ptr QOpenGLWindowConst -> HoppyF.Ptr M140.QPaintDeviceWindowConst
foreign import ccall "gencast__QPaintDeviceWindow__QOpenGLWindow" castQPaintDeviceWindowToQOpenGLWindow :: HoppyF.Ptr M140.QPaintDeviceWindowConst -> HoppyF.Ptr QOpenGLWindowConst
foreign import ccall "gencast__QOpenGLWindow__QWindow" castQOpenGLWindowToQWindow :: HoppyF.Ptr QOpenGLWindowConst -> HoppyF.Ptr M176.QWindowConst
foreign import ccall "gencast__QWindow__QOpenGLWindow" castQWindowToQOpenGLWindow :: HoppyF.Ptr M176.QWindowConst -> HoppyF.Ptr QOpenGLWindowConst
foreign import ccall "gencast__QOpenGLWindow__QObject" castQOpenGLWindowToQObject :: HoppyF.Ptr QOpenGLWindowConst -> HoppyF.Ptr M34.QObjectConst
foreign import ccall "gencast__QObject__QOpenGLWindow" castQObjectToQOpenGLWindow :: HoppyF.Ptr M34.QObjectConst -> HoppyF.Ptr QOpenGLWindowConst
foreign import ccall "gencast__QOpenGLWindow__QSurface" castQOpenGLWindowToQSurface :: HoppyF.Ptr QOpenGLWindowConst -> HoppyF.Ptr M168.QSurfaceConst
foreign import ccall "gencast__QSurface__QOpenGLWindow" castQSurfaceToQOpenGLWindow :: HoppyF.Ptr M168.QSurfaceConst -> HoppyF.Ptr QOpenGLWindowConst
foreign import ccall "gencast__QOpenGLWindow__QPaintDevice" castQOpenGLWindowToQPaintDevice :: HoppyF.Ptr QOpenGLWindowConst -> HoppyF.Ptr M138.QPaintDeviceConst
foreign import ccall "gencast__QPaintDevice__QOpenGLWindow" castQPaintDeviceToQOpenGLWindow :: HoppyF.Ptr M138.QPaintDeviceConst -> HoppyF.Ptr QOpenGLWindowConst
foreign import ccall "gendel__QOpenGLWindow" delete'QOpenGLWindow :: HoppyF.Ptr QOpenGLWindowConst -> HoppyP.IO ()
foreign import ccall "&gendel__QOpenGLWindow" deletePtr'QOpenGLWindow :: HoppyF.FunPtr (HoppyF.Ptr QOpenGLWindowConst -> HoppyP.IO ())
class QOpenGLWindowValue a where
withQOpenGLWindowPtr :: a -> (QOpenGLWindowConst -> HoppyP.IO b) -> HoppyP.IO b
instance {-# OVERLAPPABLE #-} QOpenGLWindowConstPtr a => QOpenGLWindowValue a where
withQOpenGLWindowPtr = HoppyP.flip ($) . toQOpenGLWindowConst
class (M140.QPaintDeviceWindowConstPtr this) => QOpenGLWindowConstPtr this where
toQOpenGLWindowConst :: this -> QOpenGLWindowConst
defaultFramebufferObject :: (QOpenGLWindowValue arg'1) => arg'1 -> HoppyP.IO HoppyDW.Word32
defaultFramebufferObject arg'1 =
withQOpenGLWindowPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
(defaultFramebufferObject' arg'1')
isValid :: (QOpenGLWindowValue arg'1) => arg'1 -> HoppyP.IO HoppyP.Bool
isValid arg'1 =
withQOpenGLWindowPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (/= 0)
(isValid' arg'1')
updateBehavior :: (QOpenGLWindowValue arg'1) => arg'1 -> HoppyP.IO QOpenGLWindowUpdateBehavior
updateBehavior arg'1 =
withQOpenGLWindowPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
HoppyP.fmap (HoppyP.toEnum . HoppyFHR.coerceIntegral)
(updateBehavior' arg'1')
class (QOpenGLWindowConstPtr this, M140.QPaintDeviceWindowPtr this) => QOpenGLWindowPtr this where
toQOpenGLWindow :: this -> QOpenGLWindow
doneCurrent :: (QOpenGLWindowPtr arg'1) => arg'1 -> HoppyP.IO ()
doneCurrent arg'1 =
HoppyFHR.withCppPtr (toQOpenGLWindow arg'1) $ \arg'1' ->
(doneCurrent' arg'1')
grabFramebuffer :: (QOpenGLWindowPtr arg'1) => arg'1 -> HoppyP.IO M126.QImage
grabFramebuffer arg'1 =
HoppyFHR.withCppPtr (toQOpenGLWindow arg'1) $ \arg'1' ->
(HoppyFHR.decodeAndDelete . M126.QImageConst) =<<
(grabFramebuffer' arg'1')
makeCurrent :: (QOpenGLWindowPtr arg'1) => arg'1 -> HoppyP.IO ()
makeCurrent arg'1 =
HoppyFHR.withCppPtr (toQOpenGLWindow arg'1) $ \arg'1' ->
(makeCurrent' arg'1')
data QOpenGLWindowConst =
QOpenGLWindowConst (HoppyF.Ptr QOpenGLWindowConst)
| QOpenGLWindowConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QOpenGLWindowConst)
deriving (HoppyP.Show)
instance HoppyP.Eq QOpenGLWindowConst where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QOpenGLWindowConst where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQOpenGLWindowToConst :: QOpenGLWindow -> QOpenGLWindowConst
castQOpenGLWindowToConst (QOpenGLWindow ptr') = QOpenGLWindowConst $ HoppyF.castPtr ptr'
castQOpenGLWindowToConst (QOpenGLWindowGc fptr' ptr') = QOpenGLWindowConstGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QOpenGLWindowConst where
nullptr = QOpenGLWindowConst HoppyF.nullPtr
withCppPtr (QOpenGLWindowConst ptr') f' = f' ptr'
withCppPtr (QOpenGLWindowConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QOpenGLWindowConst ptr') = ptr'
toPtr (QOpenGLWindowConstGc _ ptr') = ptr'
touchCppPtr (QOpenGLWindowConst _) = HoppyP.return ()
touchCppPtr (QOpenGLWindowConstGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QOpenGLWindowConst where
delete (QOpenGLWindowConst ptr') = delete'QOpenGLWindow ptr'
delete (QOpenGLWindowConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QOpenGLWindowConst", " object."]
toGc this'@(QOpenGLWindowConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QOpenGLWindowConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QOpenGLWindow :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QOpenGLWindowConstGc {}) = HoppyP.return this'
instance QOpenGLWindowConstPtr QOpenGLWindowConst where
toQOpenGLWindowConst = HoppyP.id
instance M140.QPaintDeviceWindowConstPtr QOpenGLWindowConst where
toQPaintDeviceWindowConst (QOpenGLWindowConst ptr') = M140.QPaintDeviceWindowConst $ castQOpenGLWindowToQPaintDeviceWindow ptr'
toQPaintDeviceWindowConst (QOpenGLWindowConstGc fptr' ptr') = M140.QPaintDeviceWindowConstGc fptr' $ castQOpenGLWindowToQPaintDeviceWindow ptr'
instance M176.QWindowConstPtr QOpenGLWindowConst where
toQWindowConst (QOpenGLWindowConst ptr') = M176.QWindowConst $ castQOpenGLWindowToQWindow ptr'
toQWindowConst (QOpenGLWindowConstGc fptr' ptr') = M176.QWindowConstGc fptr' $ castQOpenGLWindowToQWindow ptr'
instance M34.QObjectConstPtr QOpenGLWindowConst where
toQObjectConst (QOpenGLWindowConst ptr') = M34.QObjectConst $ castQOpenGLWindowToQObject ptr'
toQObjectConst (QOpenGLWindowConstGc fptr' ptr') = M34.QObjectConstGc fptr' $ castQOpenGLWindowToQObject ptr'
instance M168.QSurfaceConstPtr QOpenGLWindowConst where
toQSurfaceConst (QOpenGLWindowConst ptr') = M168.QSurfaceConst $ castQOpenGLWindowToQSurface ptr'
toQSurfaceConst (QOpenGLWindowConstGc fptr' ptr') = M168.QSurfaceConstGc fptr' $ castQOpenGLWindowToQSurface ptr'
instance M138.QPaintDeviceConstPtr QOpenGLWindowConst where
toQPaintDeviceConst (QOpenGLWindowConst ptr') = M138.QPaintDeviceConst $ castQOpenGLWindowToQPaintDevice ptr'
toQPaintDeviceConst (QOpenGLWindowConstGc fptr' ptr') = M138.QPaintDeviceConstGc fptr' $ castQOpenGLWindowToQPaintDevice ptr'
data QOpenGLWindow =
QOpenGLWindow (HoppyF.Ptr QOpenGLWindow)
| QOpenGLWindowGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QOpenGLWindow)
deriving (HoppyP.Show)
instance HoppyP.Eq QOpenGLWindow where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QOpenGLWindow where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQOpenGLWindowToNonconst :: QOpenGLWindowConst -> QOpenGLWindow
castQOpenGLWindowToNonconst (QOpenGLWindowConst ptr') = QOpenGLWindow $ HoppyF.castPtr ptr'
castQOpenGLWindowToNonconst (QOpenGLWindowConstGc fptr' ptr') = QOpenGLWindowGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QOpenGLWindow where
nullptr = QOpenGLWindow HoppyF.nullPtr
withCppPtr (QOpenGLWindow ptr') f' = f' ptr'
withCppPtr (QOpenGLWindowGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QOpenGLWindow ptr') = ptr'
toPtr (QOpenGLWindowGc _ ptr') = ptr'
touchCppPtr (QOpenGLWindow _) = HoppyP.return ()
touchCppPtr (QOpenGLWindowGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QOpenGLWindow where
delete (QOpenGLWindow ptr') = delete'QOpenGLWindow $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QOpenGLWindowConst)
delete (QOpenGLWindowGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QOpenGLWindow", " object."]
toGc this'@(QOpenGLWindow ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QOpenGLWindowGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QOpenGLWindow :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QOpenGLWindowGc {}) = HoppyP.return this'
instance QOpenGLWindowConstPtr QOpenGLWindow where
toQOpenGLWindowConst (QOpenGLWindow ptr') = QOpenGLWindowConst $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
toQOpenGLWindowConst (QOpenGLWindowGc fptr' ptr') = QOpenGLWindowConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
instance QOpenGLWindowPtr QOpenGLWindow where
toQOpenGLWindow = HoppyP.id
instance M140.QPaintDeviceWindowConstPtr QOpenGLWindow where
toQPaintDeviceWindowConst (QOpenGLWindow ptr') = M140.QPaintDeviceWindowConst $ castQOpenGLWindowToQPaintDeviceWindow $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
toQPaintDeviceWindowConst (QOpenGLWindowGc fptr' ptr') = M140.QPaintDeviceWindowConstGc fptr' $ castQOpenGLWindowToQPaintDeviceWindow $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
instance M140.QPaintDeviceWindowPtr QOpenGLWindow where
toQPaintDeviceWindow (QOpenGLWindow ptr') = M140.QPaintDeviceWindow $ (HoppyF.castPtr :: HoppyF.Ptr M140.QPaintDeviceWindowConst -> HoppyF.Ptr M140.QPaintDeviceWindow) $ castQOpenGLWindowToQPaintDeviceWindow $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
toQPaintDeviceWindow (QOpenGLWindowGc fptr' ptr') = M140.QPaintDeviceWindowGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M140.QPaintDeviceWindowConst -> HoppyF.Ptr M140.QPaintDeviceWindow) $ castQOpenGLWindowToQPaintDeviceWindow $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
instance M176.QWindowConstPtr QOpenGLWindow where
toQWindowConst (QOpenGLWindow ptr') = M176.QWindowConst $ castQOpenGLWindowToQWindow $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
toQWindowConst (QOpenGLWindowGc fptr' ptr') = M176.QWindowConstGc fptr' $ castQOpenGLWindowToQWindow $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
instance M176.QWindowPtr QOpenGLWindow where
toQWindow (QOpenGLWindow ptr') = M176.QWindow $ (HoppyF.castPtr :: HoppyF.Ptr M176.QWindowConst -> HoppyF.Ptr M176.QWindow) $ castQOpenGLWindowToQWindow $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
toQWindow (QOpenGLWindowGc fptr' ptr') = M176.QWindowGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M176.QWindowConst -> HoppyF.Ptr M176.QWindow) $ castQOpenGLWindowToQWindow $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
instance M34.QObjectConstPtr QOpenGLWindow where
toQObjectConst (QOpenGLWindow ptr') = M34.QObjectConst $ castQOpenGLWindowToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
toQObjectConst (QOpenGLWindowGc fptr' ptr') = M34.QObjectConstGc fptr' $ castQOpenGLWindowToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
instance M34.QObjectPtr QOpenGLWindow where
toQObject (QOpenGLWindow ptr') = M34.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M34.QObjectConst -> HoppyF.Ptr M34.QObject) $ castQOpenGLWindowToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
toQObject (QOpenGLWindowGc fptr' ptr') = M34.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M34.QObjectConst -> HoppyF.Ptr M34.QObject) $ castQOpenGLWindowToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
instance M168.QSurfaceConstPtr QOpenGLWindow where
toQSurfaceConst (QOpenGLWindow ptr') = M168.QSurfaceConst $ castQOpenGLWindowToQSurface $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
toQSurfaceConst (QOpenGLWindowGc fptr' ptr') = M168.QSurfaceConstGc fptr' $ castQOpenGLWindowToQSurface $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
instance M168.QSurfacePtr QOpenGLWindow where
toQSurface (QOpenGLWindow ptr') = M168.QSurface $ (HoppyF.castPtr :: HoppyF.Ptr M168.QSurfaceConst -> HoppyF.Ptr M168.QSurface) $ castQOpenGLWindowToQSurface $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
toQSurface (QOpenGLWindowGc fptr' ptr') = M168.QSurfaceGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M168.QSurfaceConst -> HoppyF.Ptr M168.QSurface) $ castQOpenGLWindowToQSurface $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
instance M138.QPaintDeviceConstPtr QOpenGLWindow where
toQPaintDeviceConst (QOpenGLWindow ptr') = M138.QPaintDeviceConst $ castQOpenGLWindowToQPaintDevice $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
toQPaintDeviceConst (QOpenGLWindowGc fptr' ptr') = M138.QPaintDeviceConstGc fptr' $ castQOpenGLWindowToQPaintDevice $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
instance M138.QPaintDevicePtr QOpenGLWindow where
toQPaintDevice (QOpenGLWindow ptr') = M138.QPaintDevice $ (HoppyF.castPtr :: HoppyF.Ptr M138.QPaintDeviceConst -> HoppyF.Ptr M138.QPaintDevice) $ castQOpenGLWindowToQPaintDevice $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
toQPaintDevice (QOpenGLWindowGc fptr' ptr') = M138.QPaintDeviceGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M138.QPaintDeviceConst -> HoppyF.Ptr M138.QPaintDevice) $ castQOpenGLWindowToQPaintDevice $ (HoppyF.castPtr :: HoppyF.Ptr QOpenGLWindow -> HoppyF.Ptr QOpenGLWindowConst) ptr'
new :: HoppyP.IO QOpenGLWindow
new =
HoppyP.fmap QOpenGLWindow
(new')
newWithUpdateBehavior :: QOpenGLWindowUpdateBehavior -> HoppyP.IO QOpenGLWindow
newWithUpdateBehavior arg'1 =
let arg'1' = HoppyFHR.coerceIntegral $ HoppyP.fromEnum arg'1 in
HoppyP.fmap QOpenGLWindow
(newWithUpdateBehavior' arg'1')
newWithUpdateBehaviorAndParent :: (M176.QWindowPtr arg'2) => QOpenGLWindowUpdateBehavior -> arg'2 -> HoppyP.IO QOpenGLWindow
newWithUpdateBehaviorAndParent arg'1 arg'2 =
let arg'1' = HoppyFHR.coerceIntegral $ HoppyP.fromEnum arg'1 in
HoppyFHR.withCppPtr (M176.toQWindow arg'2) $ \arg'2' ->
HoppyP.fmap QOpenGLWindow
(newWithUpdateBehaviorAndParent' arg'1' arg'2')
class QOpenGLWindowSuper a where
downToQOpenGLWindow :: a -> QOpenGLWindow
instance QOpenGLWindowSuper M140.QPaintDeviceWindow where
downToQOpenGLWindow = castQOpenGLWindowToNonconst . cast' . M140.castQPaintDeviceWindowToConst
where
cast' (M140.QPaintDeviceWindowConst ptr') = QOpenGLWindowConst $ castQPaintDeviceWindowToQOpenGLWindow ptr'
cast' (M140.QPaintDeviceWindowConstGc fptr' ptr') = QOpenGLWindowConstGc fptr' $ castQPaintDeviceWindowToQOpenGLWindow ptr'
instance QOpenGLWindowSuper M176.QWindow where
downToQOpenGLWindow = castQOpenGLWindowToNonconst . cast' . M176.castQWindowToConst
where
cast' (M176.QWindowConst ptr') = QOpenGLWindowConst $ castQWindowToQOpenGLWindow ptr'
cast' (M176.QWindowConstGc fptr' ptr') = QOpenGLWindowConstGc fptr' $ castQWindowToQOpenGLWindow ptr'
instance QOpenGLWindowSuper M34.QObject where
downToQOpenGLWindow = castQOpenGLWindowToNonconst . cast' . M34.castQObjectToConst
where
cast' (M34.QObjectConst ptr') = QOpenGLWindowConst $ castQObjectToQOpenGLWindow ptr'
cast' (M34.QObjectConstGc fptr' ptr') = QOpenGLWindowConstGc fptr' $ castQObjectToQOpenGLWindow ptr'
instance QOpenGLWindowSuper M168.QSurface where
downToQOpenGLWindow = castQOpenGLWindowToNonconst . cast' . M168.castQSurfaceToConst
where
cast' (M168.QSurfaceConst ptr') = QOpenGLWindowConst $ castQSurfaceToQOpenGLWindow ptr'
cast' (M168.QSurfaceConstGc fptr' ptr') = QOpenGLWindowConstGc fptr' $ castQSurfaceToQOpenGLWindow ptr'
instance QOpenGLWindowSuper M138.QPaintDevice where
downToQOpenGLWindow = castQOpenGLWindowToNonconst . cast' . M138.castQPaintDeviceToConst
where
cast' (M138.QPaintDeviceConst ptr') = QOpenGLWindowConst $ castQPaintDeviceToQOpenGLWindow ptr'
cast' (M138.QPaintDeviceConstGc fptr' ptr') = QOpenGLWindowConstGc fptr' $ castQPaintDeviceToQOpenGLWindow ptr'
class QOpenGLWindowSuperConst a where
downToQOpenGLWindowConst :: a -> QOpenGLWindowConst
instance QOpenGLWindowSuperConst M140.QPaintDeviceWindowConst where
downToQOpenGLWindowConst = cast'
where
cast' (M140.QPaintDeviceWindowConst ptr') = QOpenGLWindowConst $ castQPaintDeviceWindowToQOpenGLWindow ptr'
cast' (M140.QPaintDeviceWindowConstGc fptr' ptr') = QOpenGLWindowConstGc fptr' $ castQPaintDeviceWindowToQOpenGLWindow ptr'
instance QOpenGLWindowSuperConst M176.QWindowConst where
downToQOpenGLWindowConst = cast'
where
cast' (M176.QWindowConst ptr') = QOpenGLWindowConst $ castQWindowToQOpenGLWindow ptr'
cast' (M176.QWindowConstGc fptr' ptr') = QOpenGLWindowConstGc fptr' $ castQWindowToQOpenGLWindow ptr'
instance QOpenGLWindowSuperConst M34.QObjectConst where
downToQOpenGLWindowConst = cast'
where
cast' (M34.QObjectConst ptr') = QOpenGLWindowConst $ castQObjectToQOpenGLWindow ptr'
cast' (M34.QObjectConstGc fptr' ptr') = QOpenGLWindowConstGc fptr' $ castQObjectToQOpenGLWindow ptr'
instance QOpenGLWindowSuperConst M168.QSurfaceConst where
downToQOpenGLWindowConst = cast'
where
cast' (M168.QSurfaceConst ptr') = QOpenGLWindowConst $ castQSurfaceToQOpenGLWindow ptr'
cast' (M168.QSurfaceConstGc fptr' ptr') = QOpenGLWindowConstGc fptr' $ castQSurfaceToQOpenGLWindow ptr'
instance QOpenGLWindowSuperConst M138.QPaintDeviceConst where
downToQOpenGLWindowConst = cast'
where
cast' (M138.QPaintDeviceConst ptr') = QOpenGLWindowConst $ castQPaintDeviceToQOpenGLWindow ptr'
cast' (M138.QPaintDeviceConstGc fptr' ptr') = QOpenGLWindowConstGc fptr' $ castQPaintDeviceToQOpenGLWindow ptr'
instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QOpenGLWindow)) QOpenGLWindow where
assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'
instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QOpenGLWindow)) QOpenGLWindow where
decode = HoppyP.fmap QOpenGLWindow . HoppyF.peek
data QOpenGLWindowUpdateBehavior =
NoPartialUpdate
| PartialUpdateBlit
| PartialUpdateBlend
deriving (HoppyP.Bounded, HoppyP.Eq, HoppyP.Ord, HoppyP.Show)
instance HoppyP.Enum QOpenGLWindowUpdateBehavior where
fromEnum NoPartialUpdate = 0
fromEnum PartialUpdateBlit = 1
fromEnum PartialUpdateBlend = 2
toEnum (0) = NoPartialUpdate
toEnum (1) = PartialUpdateBlit
toEnum (2) = PartialUpdateBlend
toEnum n' = HoppyP.error $ "Unknown QOpenGLWindowUpdateBehavior numeric value: " ++ HoppyP.show n'