packages feed

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

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

module Graphics.UI.Qtah.Generated.Gui.QPaintDeviceWindow (
  castQPaintDeviceWindowToQWindow,
  castQWindowToQPaintDeviceWindow,
  castQPaintDeviceWindowToQObject,
  castQObjectToQPaintDeviceWindow,
  castQPaintDeviceWindowToQSurface,
  castQSurfaceToQPaintDeviceWindow,
  castQPaintDeviceWindowToQPaintDevice,
  castQPaintDeviceToQPaintDeviceWindow,
  QPaintDeviceWindowValue (..),
  QPaintDeviceWindowConstPtr (..),
  QPaintDeviceWindowPtr (..),
  update,
  updateRect,
  updateRegion,
  QPaintDeviceWindowConst (..),
  castQPaintDeviceWindowToConst,
  QPaintDeviceWindow (..),
  castQPaintDeviceWindowToNonconst,
  QPaintDeviceWindowSuper (..),
  QPaintDeviceWindowSuperConst (..),
  ) 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.Core.QRect as M122
import qualified Graphics.UI.Qtah.Generated.Gui.QPaintDevice as M304
import qualified Graphics.UI.Qtah.Generated.Gui.QRegion as M324
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__QPaintDeviceWindow_update" update' ::  HoppyF.Ptr QPaintDeviceWindow -> HoppyP.IO ()
foreign import ccall "genpop__QPaintDeviceWindow_updateRect" updateRect' ::  HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr M122.QRectConst -> HoppyP.IO ()
foreign import ccall "genpop__QPaintDeviceWindow_updateRegion" updateRegion' ::  HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr M324.QRegionConst -> HoppyP.IO ()
foreign import ccall "gencast__QPaintDeviceWindow__QWindow" castQPaintDeviceWindowToQWindow :: HoppyF.Ptr QPaintDeviceWindowConst -> HoppyF.Ptr M342.QWindowConst
foreign import ccall "gencast__QWindow__QPaintDeviceWindow" castQWindowToQPaintDeviceWindow :: HoppyF.Ptr M342.QWindowConst -> HoppyF.Ptr QPaintDeviceWindowConst
foreign import ccall "gencast__QPaintDeviceWindow__QObject" castQPaintDeviceWindowToQObject :: HoppyF.Ptr QPaintDeviceWindowConst -> HoppyF.Ptr M94.QObjectConst
foreign import ccall "gencast__QObject__QPaintDeviceWindow" castQObjectToQPaintDeviceWindow :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr QPaintDeviceWindowConst
foreign import ccall "gencast__QPaintDeviceWindow__QSurface" castQPaintDeviceWindowToQSurface :: HoppyF.Ptr QPaintDeviceWindowConst -> HoppyF.Ptr M334.QSurfaceConst
foreign import ccall "gencast__QSurface__QPaintDeviceWindow" castQSurfaceToQPaintDeviceWindow :: HoppyF.Ptr M334.QSurfaceConst -> HoppyF.Ptr QPaintDeviceWindowConst
foreign import ccall "gencast__QPaintDeviceWindow__QPaintDevice" castQPaintDeviceWindowToQPaintDevice :: HoppyF.Ptr QPaintDeviceWindowConst -> HoppyF.Ptr M304.QPaintDeviceConst
foreign import ccall "gencast__QPaintDevice__QPaintDeviceWindow" castQPaintDeviceToQPaintDeviceWindow :: HoppyF.Ptr M304.QPaintDeviceConst -> HoppyF.Ptr QPaintDeviceWindowConst
foreign import ccall "gendel__QPaintDeviceWindow" delete'QPaintDeviceWindow :: HoppyF.Ptr QPaintDeviceWindowConst -> HoppyP.IO ()
foreign import ccall "&gendel__QPaintDeviceWindow" deletePtr'QPaintDeviceWindow :: HoppyF.FunPtr (HoppyF.Ptr QPaintDeviceWindowConst -> HoppyP.IO ())

class QPaintDeviceWindowValue a where
  withQPaintDeviceWindowPtr :: a -> (QPaintDeviceWindowConst -> HoppyP.IO b) -> HoppyP.IO b

instance {-# OVERLAPPABLE #-} QPaintDeviceWindowConstPtr a => QPaintDeviceWindowValue a where
  withQPaintDeviceWindowPtr = HoppyP.flip ($) . toQPaintDeviceWindowConst

class (M342.QWindowConstPtr this, M304.QPaintDeviceConstPtr this) => QPaintDeviceWindowConstPtr this where
  toQPaintDeviceWindowConst :: this -> QPaintDeviceWindowConst

class (QPaintDeviceWindowConstPtr this, M342.QWindowPtr this, M304.QPaintDevicePtr this) => QPaintDeviceWindowPtr this where
  toQPaintDeviceWindow :: this -> QPaintDeviceWindow

update :: (QPaintDeviceWindowPtr this) => (this) {- ^ this -} -> (HoppyP.IO ())
update arg'1 =
  HoppyFHR.withCppPtr (toQPaintDeviceWindow arg'1) $ \arg'1' ->
  (update' arg'1')

updateRect :: (QPaintDeviceWindowPtr this, M122.QRectValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
updateRect arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQPaintDeviceWindow arg'1) $ \arg'1' ->
  M122.withQRectPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (updateRect' arg'1' arg'2')

updateRegion :: (QPaintDeviceWindowPtr this, M324.QRegionValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
updateRegion arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQPaintDeviceWindow arg'1) $ \arg'1' ->
  M324.withQRegionPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (updateRegion' arg'1' arg'2')

data QPaintDeviceWindowConst =
    QPaintDeviceWindowConst (HoppyF.Ptr QPaintDeviceWindowConst)
  | QPaintDeviceWindowConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QPaintDeviceWindowConst)
  deriving (HoppyP.Show)

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

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

castQPaintDeviceWindowToConst :: QPaintDeviceWindow -> QPaintDeviceWindowConst
castQPaintDeviceWindowToConst (QPaintDeviceWindow ptr') = QPaintDeviceWindowConst $ HoppyF.castPtr ptr'
castQPaintDeviceWindowToConst (QPaintDeviceWindowGc fptr' ptr') = QPaintDeviceWindowConstGc fptr' $ HoppyF.castPtr ptr'

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

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

instance QPaintDeviceWindowConstPtr QPaintDeviceWindowConst where
  toQPaintDeviceWindowConst = HoppyP.id

instance M342.QWindowConstPtr QPaintDeviceWindowConst where
  toQWindowConst (QPaintDeviceWindowConst ptr') = M342.QWindowConst $ castQPaintDeviceWindowToQWindow ptr'
  toQWindowConst (QPaintDeviceWindowConstGc fptr' ptr') = M342.QWindowConstGc fptr' $ castQPaintDeviceWindowToQWindow ptr'

instance M94.QObjectConstPtr QPaintDeviceWindowConst where
  toQObjectConst (QPaintDeviceWindowConst ptr') = M94.QObjectConst $ castQPaintDeviceWindowToQObject ptr'
  toQObjectConst (QPaintDeviceWindowConstGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQPaintDeviceWindowToQObject ptr'

instance M334.QSurfaceConstPtr QPaintDeviceWindowConst where
  toQSurfaceConst (QPaintDeviceWindowConst ptr') = M334.QSurfaceConst $ castQPaintDeviceWindowToQSurface ptr'
  toQSurfaceConst (QPaintDeviceWindowConstGc fptr' ptr') = M334.QSurfaceConstGc fptr' $ castQPaintDeviceWindowToQSurface ptr'

instance M304.QPaintDeviceConstPtr QPaintDeviceWindowConst where
  toQPaintDeviceConst (QPaintDeviceWindowConst ptr') = M304.QPaintDeviceConst $ castQPaintDeviceWindowToQPaintDevice ptr'
  toQPaintDeviceConst (QPaintDeviceWindowConstGc fptr' ptr') = M304.QPaintDeviceConstGc fptr' $ castQPaintDeviceWindowToQPaintDevice ptr'

data QPaintDeviceWindow =
    QPaintDeviceWindow (HoppyF.Ptr QPaintDeviceWindow)
  | QPaintDeviceWindowGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QPaintDeviceWindow)
  deriving (HoppyP.Show)

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

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

castQPaintDeviceWindowToNonconst :: QPaintDeviceWindowConst -> QPaintDeviceWindow
castQPaintDeviceWindowToNonconst (QPaintDeviceWindowConst ptr') = QPaintDeviceWindow $ HoppyF.castPtr ptr'
castQPaintDeviceWindowToNonconst (QPaintDeviceWindowConstGc fptr' ptr') = QPaintDeviceWindowGc fptr' $ HoppyF.castPtr ptr'

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

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

instance QPaintDeviceWindowConstPtr QPaintDeviceWindow where
  toQPaintDeviceWindowConst (QPaintDeviceWindow ptr') = QPaintDeviceWindowConst $ (HoppyF.castPtr :: HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr QPaintDeviceWindowConst) ptr'
  toQPaintDeviceWindowConst (QPaintDeviceWindowGc fptr' ptr') = QPaintDeviceWindowConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr QPaintDeviceWindowConst) ptr'

instance QPaintDeviceWindowPtr QPaintDeviceWindow where
  toQPaintDeviceWindow = HoppyP.id

instance M342.QWindowConstPtr QPaintDeviceWindow where
  toQWindowConst (QPaintDeviceWindow ptr') = M342.QWindowConst $ castQPaintDeviceWindowToQWindow $ (HoppyF.castPtr :: HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr QPaintDeviceWindowConst) ptr'
  toQWindowConst (QPaintDeviceWindowGc fptr' ptr') = M342.QWindowConstGc fptr' $ castQPaintDeviceWindowToQWindow $ (HoppyF.castPtr :: HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr QPaintDeviceWindowConst) ptr'

instance M342.QWindowPtr QPaintDeviceWindow where
  toQWindow (QPaintDeviceWindow ptr') = M342.QWindow $ (HoppyF.castPtr :: HoppyF.Ptr M342.QWindowConst -> HoppyF.Ptr M342.QWindow) $ castQPaintDeviceWindowToQWindow $ (HoppyF.castPtr :: HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr QPaintDeviceWindowConst) ptr'
  toQWindow (QPaintDeviceWindowGc fptr' ptr') = M342.QWindowGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M342.QWindowConst -> HoppyF.Ptr M342.QWindow) $ castQPaintDeviceWindowToQWindow $ (HoppyF.castPtr :: HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr QPaintDeviceWindowConst) ptr'

instance M94.QObjectConstPtr QPaintDeviceWindow where
  toQObjectConst (QPaintDeviceWindow ptr') = M94.QObjectConst $ castQPaintDeviceWindowToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr QPaintDeviceWindowConst) ptr'
  toQObjectConst (QPaintDeviceWindowGc fptr' ptr') = M94.QObjectConstGc fptr' $ castQPaintDeviceWindowToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr QPaintDeviceWindowConst) ptr'

instance M94.QObjectPtr QPaintDeviceWindow where
  toQObject (QPaintDeviceWindow ptr') = M94.QObject $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQPaintDeviceWindowToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr QPaintDeviceWindowConst) ptr'
  toQObject (QPaintDeviceWindowGc fptr' ptr') = M94.QObjectGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M94.QObjectConst -> HoppyF.Ptr M94.QObject) $ castQPaintDeviceWindowToQObject $ (HoppyF.castPtr :: HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr QPaintDeviceWindowConst) ptr'

instance M334.QSurfaceConstPtr QPaintDeviceWindow where
  toQSurfaceConst (QPaintDeviceWindow ptr') = M334.QSurfaceConst $ castQPaintDeviceWindowToQSurface $ (HoppyF.castPtr :: HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr QPaintDeviceWindowConst) ptr'
  toQSurfaceConst (QPaintDeviceWindowGc fptr' ptr') = M334.QSurfaceConstGc fptr' $ castQPaintDeviceWindowToQSurface $ (HoppyF.castPtr :: HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr QPaintDeviceWindowConst) ptr'

instance M334.QSurfacePtr QPaintDeviceWindow where
  toQSurface (QPaintDeviceWindow ptr') = M334.QSurface $ (HoppyF.castPtr :: HoppyF.Ptr M334.QSurfaceConst -> HoppyF.Ptr M334.QSurface) $ castQPaintDeviceWindowToQSurface $ (HoppyF.castPtr :: HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr QPaintDeviceWindowConst) ptr'
  toQSurface (QPaintDeviceWindowGc fptr' ptr') = M334.QSurfaceGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M334.QSurfaceConst -> HoppyF.Ptr M334.QSurface) $ castQPaintDeviceWindowToQSurface $ (HoppyF.castPtr :: HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr QPaintDeviceWindowConst) ptr'

instance M304.QPaintDeviceConstPtr QPaintDeviceWindow where
  toQPaintDeviceConst (QPaintDeviceWindow ptr') = M304.QPaintDeviceConst $ castQPaintDeviceWindowToQPaintDevice $ (HoppyF.castPtr :: HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr QPaintDeviceWindowConst) ptr'
  toQPaintDeviceConst (QPaintDeviceWindowGc fptr' ptr') = M304.QPaintDeviceConstGc fptr' $ castQPaintDeviceWindowToQPaintDevice $ (HoppyF.castPtr :: HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr QPaintDeviceWindowConst) ptr'

instance M304.QPaintDevicePtr QPaintDeviceWindow where
  toQPaintDevice (QPaintDeviceWindow ptr') = M304.QPaintDevice $ (HoppyF.castPtr :: HoppyF.Ptr M304.QPaintDeviceConst -> HoppyF.Ptr M304.QPaintDevice) $ castQPaintDeviceWindowToQPaintDevice $ (HoppyF.castPtr :: HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr QPaintDeviceWindowConst) ptr'
  toQPaintDevice (QPaintDeviceWindowGc fptr' ptr') = M304.QPaintDeviceGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M304.QPaintDeviceConst -> HoppyF.Ptr M304.QPaintDevice) $ castQPaintDeviceWindowToQPaintDevice $ (HoppyF.castPtr :: HoppyF.Ptr QPaintDeviceWindow -> HoppyF.Ptr QPaintDeviceWindowConst) ptr'

class QPaintDeviceWindowSuper a where
  downToQPaintDeviceWindow :: a -> QPaintDeviceWindow

instance QPaintDeviceWindowSuper M342.QWindow where
  downToQPaintDeviceWindow = castQPaintDeviceWindowToNonconst . cast' . M342.castQWindowToConst
    where
      cast' (M342.QWindowConst ptr') = QPaintDeviceWindowConst $ castQWindowToQPaintDeviceWindow ptr'
      cast' (M342.QWindowConstGc fptr' ptr') = QPaintDeviceWindowConstGc fptr' $ castQWindowToQPaintDeviceWindow ptr'
instance QPaintDeviceWindowSuper M94.QObject where
  downToQPaintDeviceWindow = castQPaintDeviceWindowToNonconst . cast' . M94.castQObjectToConst
    where
      cast' (M94.QObjectConst ptr') = QPaintDeviceWindowConst $ castQObjectToQPaintDeviceWindow ptr'
      cast' (M94.QObjectConstGc fptr' ptr') = QPaintDeviceWindowConstGc fptr' $ castQObjectToQPaintDeviceWindow ptr'
instance QPaintDeviceWindowSuper M334.QSurface where
  downToQPaintDeviceWindow = castQPaintDeviceWindowToNonconst . cast' . M334.castQSurfaceToConst
    where
      cast' (M334.QSurfaceConst ptr') = QPaintDeviceWindowConst $ castQSurfaceToQPaintDeviceWindow ptr'
      cast' (M334.QSurfaceConstGc fptr' ptr') = QPaintDeviceWindowConstGc fptr' $ castQSurfaceToQPaintDeviceWindow ptr'
instance QPaintDeviceWindowSuper M304.QPaintDevice where
  downToQPaintDeviceWindow = castQPaintDeviceWindowToNonconst . cast' . M304.castQPaintDeviceToConst
    where
      cast' (M304.QPaintDeviceConst ptr') = QPaintDeviceWindowConst $ castQPaintDeviceToQPaintDeviceWindow ptr'
      cast' (M304.QPaintDeviceConstGc fptr' ptr') = QPaintDeviceWindowConstGc fptr' $ castQPaintDeviceToQPaintDeviceWindow ptr'

class QPaintDeviceWindowSuperConst a where
  downToQPaintDeviceWindowConst :: a -> QPaintDeviceWindowConst

instance QPaintDeviceWindowSuperConst M342.QWindowConst where
  downToQPaintDeviceWindowConst = cast'
    where
      cast' (M342.QWindowConst ptr') = QPaintDeviceWindowConst $ castQWindowToQPaintDeviceWindow ptr'
      cast' (M342.QWindowConstGc fptr' ptr') = QPaintDeviceWindowConstGc fptr' $ castQWindowToQPaintDeviceWindow ptr'
instance QPaintDeviceWindowSuperConst M94.QObjectConst where
  downToQPaintDeviceWindowConst = cast'
    where
      cast' (M94.QObjectConst ptr') = QPaintDeviceWindowConst $ castQObjectToQPaintDeviceWindow ptr'
      cast' (M94.QObjectConstGc fptr' ptr') = QPaintDeviceWindowConstGc fptr' $ castQObjectToQPaintDeviceWindow ptr'
instance QPaintDeviceWindowSuperConst M334.QSurfaceConst where
  downToQPaintDeviceWindowConst = cast'
    where
      cast' (M334.QSurfaceConst ptr') = QPaintDeviceWindowConst $ castQSurfaceToQPaintDeviceWindow ptr'
      cast' (M334.QSurfaceConstGc fptr' ptr') = QPaintDeviceWindowConstGc fptr' $ castQSurfaceToQPaintDeviceWindow ptr'
instance QPaintDeviceWindowSuperConst M304.QPaintDeviceConst where
  downToQPaintDeviceWindowConst = cast'
    where
      cast' (M304.QPaintDeviceConst ptr') = QPaintDeviceWindowConst $ castQPaintDeviceToQPaintDeviceWindow ptr'
      cast' (M304.QPaintDeviceConstGc fptr' ptr') = QPaintDeviceWindowConstGc fptr' $ castQPaintDeviceToQPaintDeviceWindow ptr'

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

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