module Graphics.ImageMagick.MagickWand.PixelPacket
( getPixelRed
, setPixelRed
, getPixelBlue
, setPixelBlue
, getPixelGreen
, setPixelGreen
, getPixelIndex
, setPixelIndex
) where
import Control.Monad.IO.Class
import Foreign
import qualified Graphics.ImageMagick.MagickWand.FFI.Types as F
import Graphics.ImageMagick.MagickWand.Types
getPixel' :: (MonadIO m) => (Ptr F.MagickPixelPacket -> IO MagickRealType) -> PMagickPixelPacket -> m MagickRealType
getPixel' f wp = liftIO $ withForeignPtr wp f
getPixelRed :: (MonadIO m) => PMagickPixelPacket -> m MagickRealType
getPixelRed = getPixel' F.getPixelRed
getPixelBlue :: (MonadIO m) => PMagickPixelPacket -> m MagickRealType
getPixelBlue = getPixel' F.getPixelBlue
getPixelGreen :: (MonadIO m) => PMagickPixelPacket -> m MagickRealType
getPixelGreen = getPixel' F.getPixelGreen
getPixelIndex :: (MonadIO m) => PMagickPixelPacket -> m MagickRealType
getPixelIndex = getPixel' F.getPixelIndex
setPixel' :: (MonadIO m) => (Ptr F.MagickPixelPacket -> MagickRealType -> IO ()) -> PMagickPixelPacket -> MagickRealType -> m ()
setPixel' f wp c = liftIO $ withForeignPtr wp (`f` c)
setPixelRed :: (MonadIO m) => PMagickPixelPacket -> MagickRealType -> m ()
setPixelRed = setPixel' F.setPixelRed
setPixelIndex :: (MonadIO m) => PMagickPixelPacket -> MagickRealType -> m ()
setPixelIndex = setPixel' F.setPixelIndex
setPixelGreen :: (MonadIO m) => PMagickPixelPacket -> MagickRealType -> m ()
setPixelGreen = setPixel' F.setPixelGreen
setPixelBlue :: (MonadIO m) => PMagickPixelPacket -> MagickRealType -> m ()
setPixelBlue = setPixel' F.setPixelBlue