packages feed

qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Widgets/QGraphicsPixmapItem.hs

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

module Graphics.UI.Qtah.Generated.Widgets.QGraphicsPixmapItem (
  castQGraphicsPixmapItemToQGraphicsItem,
  castQGraphicsItemToQGraphicsPixmapItem,
  QGraphicsPixmapItemValue (..),
  QGraphicsPixmapItemConstPtr (..),
  offset,
  pixmap,
  shapeMode,
  transformationMode,
  QGraphicsPixmapItemPtr (..),
  setOffset,
  setPixmap,
  setOffsetRaw,
  setShapeMode,
  setTransformationMode,
  QGraphicsPixmapItemConst (..),
  castQGraphicsPixmapItemToConst,
  QGraphicsPixmapItem (..),
  castQGraphicsPixmapItemToNonconst,
  new,
  newWithParent,
  newWithPixmap,
  newWithPixmapAndParent,
  QGraphicsPixmapItemSuper (..),
  QGraphicsPixmapItemSuperConst (..),
  QGraphicsPixmapItemShapeMode (..),
  ) where

import qualified Foreign as HoppyF
import qualified Foreign.C as HoppyFC
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import qualified Graphics.UI.Qtah.Core.HPointF as HPointF
import qualified Graphics.UI.Qtah.Generated.Core.QPointF as M116
import qualified Graphics.UI.Qtah.Generated.Core.Types as M190
import qualified Graphics.UI.Qtah.Generated.Gui.QPixmap as M316
import qualified Graphics.UI.Qtah.Generated.Widgets.QGraphicsItem as M404
import Prelude (($), (.), (=<<), (==), (>>=))
import qualified Prelude as HoppyP

foreign import ccall "genpop__QGraphicsPixmapItem_new" new' ::  HoppyP.IO (HoppyF.Ptr QGraphicsPixmapItem)
foreign import ccall "genpop__QGraphicsPixmapItem_newWithParent" newWithParent' ::  HoppyF.Ptr M404.QGraphicsItem -> HoppyP.IO (HoppyF.Ptr QGraphicsPixmapItem)
foreign import ccall "genpop__QGraphicsPixmapItem_newWithPixmap" newWithPixmap' ::  HoppyF.Ptr M316.QPixmapConst -> HoppyP.IO (HoppyF.Ptr QGraphicsPixmapItem)
foreign import ccall "genpop__QGraphicsPixmapItem_newWithPixmapAndParent" newWithPixmapAndParent' ::  HoppyF.Ptr M316.QPixmapConst -> HoppyF.Ptr M404.QGraphicsItem -> HoppyP.IO (HoppyF.Ptr QGraphicsPixmapItem)
foreign import ccall "genpop__QGraphicsPixmapItem_offset" offset' ::  HoppyF.Ptr QGraphicsPixmapItemConst -> HoppyP.IO (HoppyF.Ptr M116.QPointFConst)
foreign import ccall "genpop__QGraphicsPixmapItem_setOffset" setOffset' ::  HoppyF.Ptr QGraphicsPixmapItem -> HoppyF.Ptr M116.QPointFConst -> HoppyP.IO ()
foreign import ccall "genpop__QGraphicsPixmapItem_pixmap" pixmap' ::  HoppyF.Ptr QGraphicsPixmapItemConst -> HoppyP.IO (HoppyF.Ptr M316.QPixmapConst)
foreign import ccall "genpop__QGraphicsPixmapItem_setPixmap" setPixmap' ::  HoppyF.Ptr QGraphicsPixmapItem -> HoppyF.Ptr M316.QPixmapConst -> HoppyP.IO ()
foreign import ccall "genpop__QGraphicsPixmapItem_setOffsetRaw" setOffsetRaw' ::  HoppyF.Ptr QGraphicsPixmapItem -> HoppyFC.CDouble -> HoppyFC.CDouble -> HoppyP.IO ()
foreign import ccall "genpop__QGraphicsPixmapItem_shapeMode" shapeMode' ::  HoppyF.Ptr QGraphicsPixmapItemConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QGraphicsPixmapItem_setShapeMode" setShapeMode' ::  HoppyF.Ptr QGraphicsPixmapItem -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "genpop__QGraphicsPixmapItem_transformationMode" transformationMode' ::  HoppyF.Ptr QGraphicsPixmapItemConst -> HoppyP.IO HoppyFC.CInt
foreign import ccall "genpop__QGraphicsPixmapItem_setTransformationMode" setTransformationMode' ::  HoppyF.Ptr QGraphicsPixmapItem -> HoppyFC.CInt -> HoppyP.IO ()
foreign import ccall "gencast__QGraphicsPixmapItem__QGraphicsItem" castQGraphicsPixmapItemToQGraphicsItem :: HoppyF.Ptr QGraphicsPixmapItemConst -> HoppyF.Ptr M404.QGraphicsItemConst
foreign import ccall "gencast__QGraphicsItem__QGraphicsPixmapItem" castQGraphicsItemToQGraphicsPixmapItem :: HoppyF.Ptr M404.QGraphicsItemConst -> HoppyF.Ptr QGraphicsPixmapItemConst
foreign import ccall "gendel__QGraphicsPixmapItem" delete'QGraphicsPixmapItem :: HoppyF.Ptr QGraphicsPixmapItemConst -> HoppyP.IO ()
foreign import ccall "&gendel__QGraphicsPixmapItem" deletePtr'QGraphicsPixmapItem :: HoppyF.FunPtr (HoppyF.Ptr QGraphicsPixmapItemConst -> HoppyP.IO ())

class QGraphicsPixmapItemValue a where
  withQGraphicsPixmapItemPtr :: a -> (QGraphicsPixmapItemConst -> HoppyP.IO b) -> HoppyP.IO b

instance {-# OVERLAPPABLE #-} QGraphicsPixmapItemConstPtr a => QGraphicsPixmapItemValue a where
  withQGraphicsPixmapItemPtr = HoppyP.flip ($) . toQGraphicsPixmapItemConst

class (M404.QGraphicsItemConstPtr this) => QGraphicsPixmapItemConstPtr this where
  toQGraphicsPixmapItemConst :: this -> QGraphicsPixmapItemConst

offset :: (QGraphicsPixmapItemValue this) => (this) {- ^ this -} -> (HoppyP.IO HPointF.HPointF)
offset arg'1 =
  withQGraphicsPixmapItemPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M116.QPointFConst) =<<
  (offset' arg'1')

pixmap :: (QGraphicsPixmapItemValue this) => (this) {- ^ this -} -> (HoppyP.IO M316.QPixmap)
pixmap arg'1 =
  withQGraphicsPixmapItemPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (HoppyFHR.decodeAndDelete . M316.QPixmapConst) =<<
  (pixmap' arg'1')

shapeMode :: (QGraphicsPixmapItemValue this) => (this) {- ^ this -} -> (HoppyP.IO QGraphicsPixmapItemShapeMode)
shapeMode arg'1 =
  withQGraphicsPixmapItemPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.toCppEnum
  ) =<<
  (shapeMode' arg'1')

transformationMode :: (QGraphicsPixmapItemValue this) => (this) {- ^ this -} -> (HoppyP.IO M190.QtTransformationMode)
transformationMode arg'1 =
  withQGraphicsPixmapItemPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.toCppEnum
  ) =<<
  (transformationMode' arg'1')

class (QGraphicsPixmapItemConstPtr this, M404.QGraphicsItemPtr this) => QGraphicsPixmapItemPtr this where
  toQGraphicsPixmapItem :: this -> QGraphicsPixmapItem

setOffset :: (QGraphicsPixmapItemPtr this, M116.QPointFValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
setOffset arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQGraphicsPixmapItem arg'1) $ \arg'1' ->
  M116.withQPointFPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (setOffset' arg'1' arg'2')

setPixmap :: (QGraphicsPixmapItemPtr this, M316.QPixmapValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO ())
setPixmap arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQGraphicsPixmapItem arg'1) $ \arg'1' ->
  M316.withQPixmapPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
  (setPixmap' arg'1' arg'2')

setOffsetRaw :: (QGraphicsPixmapItemPtr this) => (this) {- ^ this -} -> (HoppyP.Double) -> (HoppyP.Double) -> (HoppyP.IO ())
setOffsetRaw arg'1 arg'2 arg'3 =
  HoppyFHR.withCppPtr (toQGraphicsPixmapItem arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyP.realToFrac
  ) arg'2 >>= \arg'2' ->
  (
    HoppyP.return . HoppyP.realToFrac
  ) arg'3 >>= \arg'3' ->
  (setOffsetRaw' arg'1' arg'2' arg'3')

setShapeMode :: (QGraphicsPixmapItemPtr this) => (this) {- ^ this -} -> (QGraphicsPixmapItemShapeMode) -> (HoppyP.IO ())
setShapeMode arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQGraphicsPixmapItem arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.fromCppEnum
  ) arg'2 >>= \arg'2' ->
  (setShapeMode' arg'1' arg'2')

setTransformationMode :: (QGraphicsPixmapItemPtr this) => (this) {- ^ this -} -> (M190.QtTransformationMode) -> (HoppyP.IO ())
setTransformationMode arg'1 arg'2 =
  HoppyFHR.withCppPtr (toQGraphicsPixmapItem arg'1) $ \arg'1' ->
  (
    HoppyP.return . HoppyFHR.fromCppEnum
  ) arg'2 >>= \arg'2' ->
  (setTransformationMode' arg'1' arg'2')

data QGraphicsPixmapItemConst =
    QGraphicsPixmapItemConst (HoppyF.Ptr QGraphicsPixmapItemConst)
  | QGraphicsPixmapItemConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QGraphicsPixmapItemConst)
  deriving (HoppyP.Show)

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

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

castQGraphicsPixmapItemToConst :: QGraphicsPixmapItem -> QGraphicsPixmapItemConst
castQGraphicsPixmapItemToConst (QGraphicsPixmapItem ptr') = QGraphicsPixmapItemConst $ HoppyF.castPtr ptr'
castQGraphicsPixmapItemToConst (QGraphicsPixmapItemGc fptr' ptr') = QGraphicsPixmapItemConstGc fptr' $ HoppyF.castPtr ptr'

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

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

instance QGraphicsPixmapItemConstPtr QGraphicsPixmapItemConst where
  toQGraphicsPixmapItemConst = HoppyP.id

instance M404.QGraphicsItemConstPtr QGraphicsPixmapItemConst where
  toQGraphicsItemConst (QGraphicsPixmapItemConst ptr') = M404.QGraphicsItemConst $ castQGraphicsPixmapItemToQGraphicsItem ptr'
  toQGraphicsItemConst (QGraphicsPixmapItemConstGc fptr' ptr') = M404.QGraphicsItemConstGc fptr' $ castQGraphicsPixmapItemToQGraphicsItem ptr'

data QGraphicsPixmapItem =
    QGraphicsPixmapItem (HoppyF.Ptr QGraphicsPixmapItem)
  | QGraphicsPixmapItemGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QGraphicsPixmapItem)
  deriving (HoppyP.Show)

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

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

castQGraphicsPixmapItemToNonconst :: QGraphicsPixmapItemConst -> QGraphicsPixmapItem
castQGraphicsPixmapItemToNonconst (QGraphicsPixmapItemConst ptr') = QGraphicsPixmapItem $ HoppyF.castPtr ptr'
castQGraphicsPixmapItemToNonconst (QGraphicsPixmapItemConstGc fptr' ptr') = QGraphicsPixmapItemGc fptr' $ HoppyF.castPtr ptr'

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

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

instance QGraphicsPixmapItemConstPtr QGraphicsPixmapItem where
  toQGraphicsPixmapItemConst (QGraphicsPixmapItem ptr') = QGraphicsPixmapItemConst $ (HoppyF.castPtr :: HoppyF.Ptr QGraphicsPixmapItem -> HoppyF.Ptr QGraphicsPixmapItemConst) ptr'
  toQGraphicsPixmapItemConst (QGraphicsPixmapItemGc fptr' ptr') = QGraphicsPixmapItemConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QGraphicsPixmapItem -> HoppyF.Ptr QGraphicsPixmapItemConst) ptr'

instance QGraphicsPixmapItemPtr QGraphicsPixmapItem where
  toQGraphicsPixmapItem = HoppyP.id

instance M404.QGraphicsItemConstPtr QGraphicsPixmapItem where
  toQGraphicsItemConst (QGraphicsPixmapItem ptr') = M404.QGraphicsItemConst $ castQGraphicsPixmapItemToQGraphicsItem $ (HoppyF.castPtr :: HoppyF.Ptr QGraphicsPixmapItem -> HoppyF.Ptr QGraphicsPixmapItemConst) ptr'
  toQGraphicsItemConst (QGraphicsPixmapItemGc fptr' ptr') = M404.QGraphicsItemConstGc fptr' $ castQGraphicsPixmapItemToQGraphicsItem $ (HoppyF.castPtr :: HoppyF.Ptr QGraphicsPixmapItem -> HoppyF.Ptr QGraphicsPixmapItemConst) ptr'

instance M404.QGraphicsItemPtr QGraphicsPixmapItem where
  toQGraphicsItem (QGraphicsPixmapItem ptr') = M404.QGraphicsItem $ (HoppyF.castPtr :: HoppyF.Ptr M404.QGraphicsItemConst -> HoppyF.Ptr M404.QGraphicsItem) $ castQGraphicsPixmapItemToQGraphicsItem $ (HoppyF.castPtr :: HoppyF.Ptr QGraphicsPixmapItem -> HoppyF.Ptr QGraphicsPixmapItemConst) ptr'
  toQGraphicsItem (QGraphicsPixmapItemGc fptr' ptr') = M404.QGraphicsItemGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr M404.QGraphicsItemConst -> HoppyF.Ptr M404.QGraphicsItem) $ castQGraphicsPixmapItemToQGraphicsItem $ (HoppyF.castPtr :: HoppyF.Ptr QGraphicsPixmapItem -> HoppyF.Ptr QGraphicsPixmapItemConst) ptr'

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

newWithParent :: (M404.QGraphicsItemPtr arg'1) => (arg'1) -> (HoppyP.IO QGraphicsPixmapItem)
newWithParent arg'1 =
  HoppyFHR.withCppPtr (M404.toQGraphicsItem arg'1) $ \arg'1' ->
  HoppyP.fmap QGraphicsPixmapItem
  (newWithParent' arg'1')

newWithPixmap :: (M316.QPixmapValue arg'1) => (arg'1) -> (HoppyP.IO QGraphicsPixmapItem)
newWithPixmap arg'1 =
  M316.withQPixmapPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyP.fmap QGraphicsPixmapItem
  (newWithPixmap' arg'1')

newWithPixmapAndParent :: (M316.QPixmapValue arg'1, M404.QGraphicsItemPtr arg'2) => (arg'1) -> (arg'2) -> (HoppyP.IO QGraphicsPixmapItem)
newWithPixmapAndParent arg'1 arg'2 =
  M316.withQPixmapPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' ->
  HoppyFHR.withCppPtr (M404.toQGraphicsItem arg'2) $ \arg'2' ->
  HoppyP.fmap QGraphicsPixmapItem
  (newWithPixmapAndParent' arg'1' arg'2')

class QGraphicsPixmapItemSuper a where
  downToQGraphicsPixmapItem :: a -> QGraphicsPixmapItem

instance QGraphicsPixmapItemSuper M404.QGraphicsItem where
  downToQGraphicsPixmapItem = castQGraphicsPixmapItemToNonconst . cast' . M404.castQGraphicsItemToConst
    where
      cast' (M404.QGraphicsItemConst ptr') = QGraphicsPixmapItemConst $ castQGraphicsItemToQGraphicsPixmapItem ptr'
      cast' (M404.QGraphicsItemConstGc fptr' ptr') = QGraphicsPixmapItemConstGc fptr' $ castQGraphicsItemToQGraphicsPixmapItem ptr'

class QGraphicsPixmapItemSuperConst a where
  downToQGraphicsPixmapItemConst :: a -> QGraphicsPixmapItemConst

instance QGraphicsPixmapItemSuperConst M404.QGraphicsItemConst where
  downToQGraphicsPixmapItemConst = cast'
    where
      cast' (M404.QGraphicsItemConst ptr') = QGraphicsPixmapItemConst $ castQGraphicsItemToQGraphicsPixmapItem ptr'
      cast' (M404.QGraphicsItemConstGc fptr' ptr') = QGraphicsPixmapItemConstGc fptr' $ castQGraphicsItemToQGraphicsPixmapItem ptr'

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

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

data QGraphicsPixmapItemShapeMode =
  MaskShape
  | BoundingRectShape
  | HeuristicMaskShape
  | UnknownQGraphicsPixmapItemShapeMode (HoppyFC.CInt)
  deriving (HoppyP.Show)

instance HoppyFHR.CppEnum (HoppyFC.CInt) QGraphicsPixmapItemShapeMode where
  fromCppEnum MaskShape = 0
  fromCppEnum BoundingRectShape = 1
  fromCppEnum HeuristicMaskShape = 2
  fromCppEnum (UnknownQGraphicsPixmapItemShapeMode n) = n
  
  toCppEnum (0) = MaskShape
  toCppEnum (1) = BoundingRectShape
  toCppEnum (2) = HeuristicMaskShape
  toCppEnum n = UnknownQGraphicsPixmapItemShapeMode n

instance HoppyP.Eq QGraphicsPixmapItemShapeMode where
  x == y = HoppyFHR.fromCppEnum x == HoppyFHR.fromCppEnum y

instance HoppyP.Ord QGraphicsPixmapItemShapeMode where
  compare x y = HoppyP.compare (HoppyFHR.fromCppEnum x) (HoppyFHR.fromCppEnum y)