packages feed

qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Gui/QRasterWindow.hs

{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
---------- GENERATED FILE, EDITS WILL BE LOST ----------

module Graphics.UI.Qtah.Generated.Gui.QRasterWindow (
  castQRasterWindowToQPaintDeviceWindow,
  castQPaintDeviceWindowToQRasterWindow,
  castQRasterWindowToQWindow,
  castQWindowToQRasterWindow,
  castQRasterWindowToQObject,
  castQObjectToQRasterWindow,
  castQRasterWindowToQSurface,
  castQSurfaceToQRasterWindow,
  castQRasterWindowToQPaintDevice,
  castQPaintDeviceToQRasterWindow,
  QRasterWindowValue (..),
  QRasterWindowConstPtr (..),
  QRasterWindowPtr (..),
  QRasterWindowConst (..),
  castQRasterWindowToConst,
  QRasterWindow (..),
  castQRasterWindowToNonconst,
  new,
  newWithParent,
  QRasterWindowSuper (..),
  QRasterWindowSuperConst (..),
  ) where

import qualified Foreign as HoppyF
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import qualified Graphics.UI.Qtah.Generated.Core.QObject as M94
import qualified Graphics.UI.Qtah.Generated.Gui.QPaintDevice as M304
import qualified Graphics.UI.Qtah.Generated.Gui.QPaintDeviceWindow as M306
import qualified Graphics.UI.Qtah.Generated.Gui.QSurface as M334
import qualified Graphics.UI.Qtah.Generated.Gui.QWindow as M342
import Prelude (($), (.), (==))
import qualified Prelude as HoppyP

foreign import ccall "genpop__QRasterWindow_new" new' ::  HoppyP.IO (HoppyF.Ptr QRasterWindow)
foreign import ccall "genpop__QRasterWindow_newWithParent" newWithParent' ::  HoppyF.Ptr M342.QWindow -> HoppyP.IO (HoppyF.Ptr QRasterWindow)
foreign import ccall "gencast__QRasterWindow__QPaintDeviceWindow" castQRasterWindowToQPaintDeviceWindow :: HoppyF.Ptr QRasterWindowConst -> HoppyF.Ptr M306.QPaintDeviceWindowConst
foreign import ccall "gencast__QPaintDeviceWindow__QRasterWindow" castQPaintDeviceWindowToQRasterWindow :: HoppyF.Ptr M306.QPaintDeviceWindowConst -> HoppyF.Ptr QRasterWindowConst
foreign import ccall "gencast__QRasterWindow__QWindow" castQRasterWindowToQWindow :: HoppyF.Ptr QRasterWindowConst -> HoppyF.Ptr M342.QWindowConst
foreign import ccall "gencast__QWindow__QRasterWindow" castQWindowToQRasterWindow :: HoppyF.Ptr M342.QWindowConst -> HoppyF.Ptr QRasterWindowConst
foreign import ccall "gencast__QRasterWindow__QObject" castQRasterWindowToQObject :: HoppyF.Ptr QRasterWindowConst -> HoppyF.Ptr M94.QObjectConst
foreign import ccall "gencast__QObject__QRasterWindow" castQObjectToQRasterWindow :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr QRasterWindowConst
foreign import ccall "gencast__QRasterWindow__QSurface" castQRasterWindowToQSurface :: HoppyF.Ptr QRasterWindowConst -> HoppyF.Ptr M334.QSurfaceConst
foreign import ccall "gencast__QSurface__QRasterWindow" castQSurfaceToQRasterWindow :: HoppyF.Ptr M334.QSurfaceConst -> HoppyF.Ptr QRasterWindowConst
foreign import ccall "gencast__QRasterWindow__QPaintDevice" castQRasterWindowToQPaintDevice :: HoppyF.Ptr QRasterWindowConst -> HoppyF.Ptr M304.QPaintDeviceConst
foreign import ccall "gencast__QPaintDevice__QRasterWindow" castQPaintDeviceToQRasterWindow :: HoppyF.Ptr M304.QPaintDeviceConst -> HoppyF.Ptr QRasterWindowConst
foreign import ccall "gendel__QRasterWindow" delete'QRasterWindow :: HoppyF.Ptr QRasterWindowConst -> HoppyP.IO ()
foreign import ccall "&gendel__QRasterWindow" deletePtr'QRasterWindow :: HoppyF.FunPtr (HoppyF.Ptr QRasterWindowConst -> HoppyP.IO ())

class QRasterWindowValue a where
  withQRasterWindowPtr :: a -> (QRasterWindowConst -> HoppyP.IO b) -> HoppyP.IO b

instance {-# OVERLAPPABLE #-} QRasterWindowConstPtr a => QRasterWindowValue a where
  withQRasterWindowPtr = HoppyP.flip ($) . toQRasterWindowConst

class (M306.QPaintDeviceWindowConstPtr this) => QRasterWindowConstPtr this where
  toQRasterWindowConst :: this -> QRasterWindowConst

class (QRasterWindowConstPtr this, M306.QPaintDeviceWindowPtr this) => QRasterWindowPtr this where
  toQRasterWindow :: this -> QRasterWindow

data QRasterWindowConst =
    QRasterWindowConst (HoppyF.Ptr QRasterWindowConst)
  | QRasterWindowConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QRasterWindowConst)
  deriving (HoppyP.Show)

instance HoppyP.Eq QRasterWindowConst where
  x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y

instance HoppyP.Ord QRasterWindowConst where
  compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)

castQRasterWindowToConst :: QRasterWindow -> QRasterWindowConst
castQRasterWindowToConst (QRasterWindow ptr') = QRasterWindowConst $ HoppyF.castPtr ptr'
castQRasterWindowToConst (QRasterWindowGc fptr' ptr') = QRasterWindowConstGc fptr' $ HoppyF.castPtr ptr'

instance HoppyFHR.CppPtr QRasterWindowConst where
  nullptr = QRasterWindowConst HoppyF.nullPtr
  
  withCppPtr (QRasterWindowConst ptr') f' = f' ptr'
  withCppPtr (QRasterWindowConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
  
  toPtr (QRasterWindowConst ptr') = ptr'
  toPtr (QRasterWindowConstGc _ ptr') = ptr'
  
  touchCppPtr (QRasterWindowConst _) = HoppyP.return ()
  touchCppPtr (QRasterWindowConstGc fptr' _) = HoppyF.touchForeignPtr fptr'

instance HoppyFHR.Deletable QRasterWindowConst where
  delete (QRasterWindowConst ptr') = delete'QRasterWindow ptr'
  delete (QRasterWindowConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QRasterWindowConst", " object."]
  
  toGc this'@(QRasterWindowConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QRasterWindowConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QRasterWindow :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
  toGc this'@(QRasterWindowConstGc {}) = HoppyP.return this'

instance QRasterWindowConstPtr QRasterWindowConst where
  toQRasterWindowConst = HoppyP.id

instance M306.QPaintDeviceWindowConstPtr QRasterWindowConst where
  toQPaintDeviceWindowConst (QRasterWindowConst ptr') = M306.QPaintDeviceWindowConst $ castQRasterWindowToQPaintDeviceWindow ptr'
  toQPaintDeviceWindowConst (QRasterWindowConstGc fptr' ptr') = M306.QPaintDeviceWindowConstGc fptr' $ castQRasterWindowToQPaintDeviceWindow ptr'

instance M342.QWindowConstPtr QRasterWindowConst where
  toQWindowConst (QRasterWindowConst ptr') = M342.QWindowConst $ castQRasterWindowToQWindow ptr'
  toQWindowConst (QRasterWindowConstGc fptr' ptr') = M342.QWindowConstGc fptr' $ castQRasterWindowToQWindow ptr'

instance M94.QObjectConstPtr QRasterWindowConst where
  toQObjectConst (QRasterWindowConst ptr') = M94.QObjectConst $ castQRasterWindowToQObject ptr'
  toQObjectConst (QRasterWindowConstGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQRasterWindowToQObject ptr'

instance M334.QSurfaceConstPtr QRasterWindowConst where
  toQSurfaceConst (QRasterWindowConst ptr') = M334.QSurfaceConst $ castQRasterWindowToQSurface ptr'
  toQSurfaceConst (QRasterWindowConstGc fptr' ptr') = M334.QSurfaceConstGc fptr' $ castQRasterWindowToQSurface ptr'

instance M304.QPaintDeviceConstPtr QRasterWindowConst where
  toQPaintDeviceConst (QRasterWindowConst ptr') = M304.QPaintDeviceConst $ castQRasterWindowToQPaintDevice ptr'
  toQPaintDeviceConst (QRasterWindowConstGc fptr' ptr') = M304.QPaintDeviceConstGc fptr' $ castQRasterWindowToQPaintDevice ptr'

data QRasterWindow =
    QRasterWindow (HoppyF.Ptr QRasterWindow)
  | QRasterWindowGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QRasterWindow)
  deriving (HoppyP.Show)

instance HoppyP.Eq QRasterWindow where
  x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y

instance HoppyP.Ord QRasterWindow where
  compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)

castQRasterWindowToNonconst :: QRasterWindowConst -> QRasterWindow
castQRasterWindowToNonconst (QRasterWindowConst ptr') = QRasterWindow $ HoppyF.castPtr ptr'
castQRasterWindowToNonconst (QRasterWindowConstGc fptr' ptr') = QRasterWindowGc fptr' $ HoppyF.castPtr ptr'

instance HoppyFHR.CppPtr QRasterWindow where
  nullptr = QRasterWindow HoppyF.nullPtr
  
  withCppPtr (QRasterWindow ptr') f' = f' ptr'
  withCppPtr (QRasterWindowGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
  
  toPtr (QRasterWindow ptr') = ptr'
  toPtr (QRasterWindowGc _ ptr') = ptr'
  
  touchCppPtr (QRasterWindow _) = HoppyP.return ()
  touchCppPtr (QRasterWindowGc fptr' _) = HoppyF.touchForeignPtr fptr'

instance HoppyFHR.Deletable QRasterWindow where
  delete (QRasterWindow ptr') = delete'QRasterWindow $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QRasterWindowConst)
  delete (QRasterWindowGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QRasterWindow", " object."]
  
  toGc this'@(QRasterWindow ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QRasterWindowGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QRasterWindow :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
  toGc this'@(QRasterWindowGc {}) = HoppyP.return this'

instance QRasterWindowConstPtr QRasterWindow where
  toQRasterWindowConst (QRasterWindow ptr') = QRasterWindowConst $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'
  toQRasterWindowConst (QRasterWindowGc fptr' ptr') = QRasterWindowConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'

instance QRasterWindowPtr QRasterWindow where
  toQRasterWindow = HoppyP.id

instance M306.QPaintDeviceWindowConstPtr QRasterWindow where
  toQPaintDeviceWindowConst (QRasterWindow ptr') = M306.QPaintDeviceWindowConst $ castQRasterWindowToQPaintDeviceWindow $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'
  toQPaintDeviceWindowConst (QRasterWindowGc fptr' ptr') = M306.QPaintDeviceWindowConstGc fptr' $ castQRasterWindowToQPaintDeviceWindow $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'

instance M306.QPaintDeviceWindowPtr QRasterWindow where
  toQPaintDeviceWindow (QRasterWindow ptr') = M306.QPaintDeviceWindow $ (HoppyF.castPtr :: HoppyF.Ptr M306.QPaintDeviceWindowConst -> HoppyF.Ptr M306.QPaintDeviceWindow) $ castQRasterWindowToQPaintDeviceWindow $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'
  toQPaintDeviceWindow (QRasterWindowGc fptr' ptr') = M306.QPaintDeviceWindowGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M306.QPaintDeviceWindowConst -> HoppyF.Ptr M306.QPaintDeviceWindow) $ castQRasterWindowToQPaintDeviceWindow $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'

instance M342.QWindowConstPtr QRasterWindow where
  toQWindowConst (QRasterWindow ptr') = M342.QWindowConst $ castQRasterWindowToQWindow $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'
  toQWindowConst (QRasterWindowGc fptr' ptr') = M342.QWindowConstGc fptr' $ castQRasterWindowToQWindow $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'

instance M342.QWindowPtr QRasterWindow where
  toQWindow (QRasterWindow ptr') = M342.QWindow $ (HoppyF.castPtr :: HoppyF.Ptr M342.QWindowConst -> HoppyF.Ptr M342.QWindow) $ castQRasterWindowToQWindow $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'
  toQWindow (QRasterWindowGc fptr' ptr') = M342.QWindowGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M342.QWindowConst -> HoppyF.Ptr M342.QWindow) $ castQRasterWindowToQWindow $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'

instance M94.QObjectConstPtr QRasterWindow where
  toQObjectConst (QRasterWindow ptr') = M94.QObjectConst $ castQRasterWindowToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'
  toQObjectConst (QRasterWindowGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQRasterWindowToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'

instance M94.QObjectPtr QRasterWindow where
  toQObject (QRasterWindow ptr') = M94.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQRasterWindowToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'
  toQObject (QRasterWindowGc fptr' ptr') = M94.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQRasterWindowToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'

instance M334.QSurfaceConstPtr QRasterWindow where
  toQSurfaceConst (QRasterWindow ptr') = M334.QSurfaceConst $ castQRasterWindowToQSurface $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'
  toQSurfaceConst (QRasterWindowGc fptr' ptr') = M334.QSurfaceConstGc fptr' $ castQRasterWindowToQSurface $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'

instance M334.QSurfacePtr QRasterWindow where
  toQSurface (QRasterWindow ptr') = M334.QSurface $ (HoppyF.castPtr :: HoppyF.Ptr M334.QSurfaceConst -> HoppyF.Ptr M334.QSurface) $ castQRasterWindowToQSurface $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'
  toQSurface (QRasterWindowGc fptr' ptr') = M334.QSurfaceGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M334.QSurfaceConst -> HoppyF.Ptr M334.QSurface) $ castQRasterWindowToQSurface $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'

instance M304.QPaintDeviceConstPtr QRasterWindow where
  toQPaintDeviceConst (QRasterWindow ptr') = M304.QPaintDeviceConst $ castQRasterWindowToQPaintDevice $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'
  toQPaintDeviceConst (QRasterWindowGc fptr' ptr') = M304.QPaintDeviceConstGc fptr' $ castQRasterWindowToQPaintDevice $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'

instance M304.QPaintDevicePtr QRasterWindow where
  toQPaintDevice (QRasterWindow ptr') = M304.QPaintDevice $ (HoppyF.castPtr :: HoppyF.Ptr M304.QPaintDeviceConst -> HoppyF.Ptr M304.QPaintDevice) $ castQRasterWindowToQPaintDevice $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'
  toQPaintDevice (QRasterWindowGc fptr' ptr') = M304.QPaintDeviceGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M304.QPaintDeviceConst -> HoppyF.Ptr M304.QPaintDevice) $ castQRasterWindowToQPaintDevice $ (HoppyF.castPtr :: HoppyF.Ptr QRasterWindow -> HoppyF.Ptr QRasterWindowConst) ptr'

new :: (HoppyP.IO QRasterWindow)
new =
  HoppyP.fmap QRasterWindow
  (new')

newWithParent :: (M342.QWindowPtr arg'1) => (arg'1) -> (HoppyP.IO QRasterWindow)
newWithParent arg'1 =
  HoppyFHR.withCppPtr (M342.toQWindow arg'1) $ \arg'1' ->
  HoppyP.fmap QRasterWindow
  (newWithParent' arg'1')

class QRasterWindowSuper a where
  downToQRasterWindow :: a -> QRasterWindow

instance QRasterWindowSuper M306.QPaintDeviceWindow where
  downToQRasterWindow = castQRasterWindowToNonconst . cast' . M306.castQPaintDeviceWindowToConst
    where
      cast' (M306.QPaintDeviceWindowConst ptr') = QRasterWindowConst $ castQPaintDeviceWindowToQRasterWindow ptr'
      cast' (M306.QPaintDeviceWindowConstGc fptr' ptr') = QRasterWindowConstGc fptr' $ castQPaintDeviceWindowToQRasterWindow ptr'
instance QRasterWindowSuper M342.QWindow where
  downToQRasterWindow = castQRasterWindowToNonconst . cast' . M342.castQWindowToConst
    where
      cast' (M342.QWindowConst ptr') = QRasterWindowConst $ castQWindowToQRasterWindow ptr'
      cast' (M342.QWindowConstGc fptr' ptr') = QRasterWindowConstGc fptr' $ castQWindowToQRasterWindow ptr'
instance QRasterWindowSuper M94.QObject where
  downToQRasterWindow = castQRasterWindowToNonconst . cast' . M94.castQObjectToConst
    where
      cast' (M94.QObjectConst ptr') = QRasterWindowConst $ castQObjectToQRasterWindow ptr'
      cast' (M94.QObjectConstGc fptr' ptr') = QRasterWindowConstGc fptr' $ castQObjectToQRasterWindow ptr'
instance QRasterWindowSuper M334.QSurface where
  downToQRasterWindow = castQRasterWindowToNonconst . cast' . M334.castQSurfaceToConst
    where
      cast' (M334.QSurfaceConst ptr') = QRasterWindowConst $ castQSurfaceToQRasterWindow ptr'
      cast' (M334.QSurfaceConstGc fptr' ptr') = QRasterWindowConstGc fptr' $ castQSurfaceToQRasterWindow ptr'
instance QRasterWindowSuper M304.QPaintDevice where
  downToQRasterWindow = castQRasterWindowToNonconst . cast' . M304.castQPaintDeviceToConst
    where
      cast' (M304.QPaintDeviceConst ptr') = QRasterWindowConst $ castQPaintDeviceToQRasterWindow ptr'
      cast' (M304.QPaintDeviceConstGc fptr' ptr') = QRasterWindowConstGc fptr' $ castQPaintDeviceToQRasterWindow ptr'

class QRasterWindowSuperConst a where
  downToQRasterWindowConst :: a -> QRasterWindowConst

instance QRasterWindowSuperConst M306.QPaintDeviceWindowConst where
  downToQRasterWindowConst = cast'
    where
      cast' (M306.QPaintDeviceWindowConst ptr') = QRasterWindowConst $ castQPaintDeviceWindowToQRasterWindow ptr'
      cast' (M306.QPaintDeviceWindowConstGc fptr' ptr') = QRasterWindowConstGc fptr' $ castQPaintDeviceWindowToQRasterWindow ptr'
instance QRasterWindowSuperConst M342.QWindowConst where
  downToQRasterWindowConst = cast'
    where
      cast' (M342.QWindowConst ptr') = QRasterWindowConst $ castQWindowToQRasterWindow ptr'
      cast' (M342.QWindowConstGc fptr' ptr') = QRasterWindowConstGc fptr' $ castQWindowToQRasterWindow ptr'
instance QRasterWindowSuperConst M94.QObjectConst where
  downToQRasterWindowConst = cast'
    where
      cast' (M94.QObjectConst ptr') = QRasterWindowConst $ castQObjectToQRasterWindow ptr'
      cast' (M94.QObjectConstGc fptr' ptr') = QRasterWindowConstGc fptr' $ castQObjectToQRasterWindow ptr'
instance QRasterWindowSuperConst M334.QSurfaceConst where
  downToQRasterWindowConst = cast'
    where
      cast' (M334.QSurfaceConst ptr') = QRasterWindowConst $ castQSurfaceToQRasterWindow ptr'
      cast' (M334.QSurfaceConstGc fptr' ptr') = QRasterWindowConstGc fptr' $ castQSurfaceToQRasterWindow ptr'
instance QRasterWindowSuperConst M304.QPaintDeviceConst where
  downToQRasterWindowConst = cast'
    where
      cast' (M304.QPaintDeviceConst ptr') = QRasterWindowConst $ castQPaintDeviceToQRasterWindow ptr'
      cast' (M304.QPaintDeviceConstGc fptr' ptr') = QRasterWindowConstGc fptr' $ castQPaintDeviceToQRasterWindow ptr'

instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QRasterWindow)) QRasterWindow where
  assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'

instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QRasterWindow)) QRasterWindow where
  decode = HoppyP.fmap QRasterWindow . HoppyF.peek