{-# LINE 2 "./Graphics/UI/Gtk/Display/Image.chs" #-}
module Graphics.UI.Gtk.Display.Image (
Image,
ImageClass,
castToImage, gTypeImage,
toImage,
ImageType(..),
imageNewFromFile,
imageNewFromPixbuf,
imageNewFromAnimation,
imageNewFromStock,
imageNew,
imageNewFromIconName,
imageGetPixbuf,
imageSetFromPixbuf,
imageSetFromAnimation,
imageSetFromFile,
imageSetFromStock,
imageSetFromIconName,
imageSetPixelSize,
imageGetPixelSize,
imageClear,
IconSize(..),
imagePixbuf,
imageAnimation,
imageImage,
imageFile,
imageStock,
imageIconSize,
imagePixelSize,
imageIconName,
imageStorageType,
) where
import Control.Monad (liftM)
import System.Glib.FFI
import System.Glib.UTFString
import System.Glib.Attributes
import System.Glib.Properties
import Graphics.UI.Gtk.Abstract.Object (makeNewObject)
import Graphics.UI.Gtk.Types
{-# LINE 152 "./Graphics/UI/Gtk/Display/Image.chs" #-}
import Graphics.UI.Gtk.General.StockItems
import Graphics.UI.Gtk.General.Structs (IconSize(..))
{-# LINE 156 "./Graphics/UI/Gtk/Display/Image.chs" #-}
data ImageType = ImageEmpty
| ImagePixbuf
| ImageStock
| ImageIconSet
| ImageAnimation
| ImageIconName
| ImageGicon
| ImageSurface
deriving (Enum,Show,Eq)
{-# LINE 168 "./Graphics/UI/Gtk/Display/Image.chs" #-}
imageNewFromFile :: GlibFilePath fp => fp -> IO Image
imageNewFromFile filename =
makeNewObject mkImage $
liftM (castPtr :: Ptr Widget -> Ptr Image) $
withUTFFilePath filename $ \filenamePtr ->
gtk_image_new_from_file
{-# LINE 196 "./Graphics/UI/Gtk/Display/Image.chs" #-}
filenamePtr
imageNewFromPixbuf :: Pixbuf -> IO Image
imageNewFromPixbuf pixbuf =
makeNewObject mkImage $
liftM (castPtr :: Ptr Widget -> Ptr Image) $
(\(Pixbuf arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_image_new_from_pixbuf argPtr1)
{-# LINE 210 "./Graphics/UI/Gtk/Display/Image.chs" #-}
pixbuf
imageNewFromAnimation :: (PixbufAnimationClass animation) => animation -> IO Image
imageNewFromAnimation pba = makeNewObject mkImage $
liftM (castPtr :: Ptr Widget -> Ptr Image) $
(\(PixbufAnimation arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_image_new_from_animation argPtr1) (toPixbufAnimation pba)
imageNewFromStock ::
StockId
-> IconSize
-> IO Image
imageNewFromStock stockId size =
makeNewObject mkImage $
liftM (castPtr :: Ptr Widget -> Ptr Image) $
withUTFString stockId $ \stockIdPtr ->
gtk_image_new_from_stock
{-# LINE 231 "./Graphics/UI/Gtk/Display/Image.chs" #-}
stockIdPtr
((fromIntegral . fromEnum) size)
imageNew :: IO Image
imageNew =
makeNewObject mkImage $
liftM (castPtr :: Ptr Widget -> Ptr Image) $
gtk_image_new
{-# LINE 241 "./Graphics/UI/Gtk/Display/Image.chs" #-}
imageNewFromIconName :: GlibString string
=> string
-> IconSize
-> IO Image
imageNewFromIconName iconName size =
makeNewObject mkImage $
liftM (castPtr :: Ptr Widget -> Ptr Image) $
withUTFString iconName $ \iconNamePtr ->
gtk_image_new_from_icon_name
{-# LINE 258 "./Graphics/UI/Gtk/Display/Image.chs" #-}
iconNamePtr
((fromIntegral . fromEnum) size)
imageGetPixbuf :: Image -> IO Pixbuf
imageGetPixbuf self =
makeNewGObject mkPixbuf $ liftM castPtr $
throwIfNull "Image.imageGetPixbuf: The image contains no Pixbuf object." $
(\(Image arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_image_get_pixbuf argPtr1)
{-# LINE 273 "./Graphics/UI/Gtk/Display/Image.chs" #-}
self
imageSetFromPixbuf :: Image -> Pixbuf -> IO ()
imageSetFromPixbuf self pixbuf =
(\(Image arg1) (Pixbuf arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_image_set_from_pixbuf argPtr1 argPtr2)
{-# LINE 280 "./Graphics/UI/Gtk/Display/Image.chs" #-}
self
pixbuf
imageSetFromAnimation :: (PixbufAnimationClass animation) => Image -> animation -> IO ()
imageSetFromAnimation self pba =
(\(Image arg1) (PixbufAnimation arg2) -> withForeignPtr arg1 $ \argPtr1 ->withForeignPtr arg2 $ \argPtr2 ->gtk_image_set_from_animation argPtr1 argPtr2)
{-# LINE 287 "./Graphics/UI/Gtk/Display/Image.chs" #-}
self
(toPixbufAnimation pba)
imageSetFromFile :: GlibFilePath fp => Image -> fp -> IO ()
imageSetFromFile self filename =
withUTFFilePath filename $ \filenamePtr ->
(\(Image arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_image_set_from_file argPtr1 arg2)
{-# LINE 299 "./Graphics/UI/Gtk/Display/Image.chs" #-}
self
filenamePtr
imageSetFromStock :: Image
-> StockId
-> IconSize
-> IO ()
imageSetFromStock self stockId size =
withUTFString stockId $ \stockIdPtr ->
(\(Image arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_image_set_from_stock argPtr1 arg2 arg3)
{-# LINE 312 "./Graphics/UI/Gtk/Display/Image.chs" #-}
self
stockIdPtr
((fromIntegral . fromEnum) size)
imageSetFromIconName :: GlibString string => Image
-> string
-> IconSize
-> IO ()
imageSetFromIconName self iconName size =
withUTFString iconName $ \iconNamePtr ->
(\(Image arg1) arg2 arg3 -> withForeignPtr arg1 $ \argPtr1 ->gtk_image_set_from_icon_name argPtr1 arg2 arg3)
{-# LINE 328 "./Graphics/UI/Gtk/Display/Image.chs" #-}
self
iconNamePtr
((fromIntegral . fromEnum) size)
imageSetPixelSize :: Image
-> Int
-> IO ()
imageSetPixelSize self pixelSize =
(\(Image arg1) arg2 -> withForeignPtr arg1 $ \argPtr1 ->gtk_image_set_pixel_size argPtr1 arg2)
{-# LINE 343 "./Graphics/UI/Gtk/Display/Image.chs" #-}
self
(fromIntegral pixelSize)
imageGetPixelSize :: Image -> IO Int
imageGetPixelSize self =
liftM fromIntegral $
(\(Image arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_image_get_pixel_size argPtr1)
{-# LINE 354 "./Graphics/UI/Gtk/Display/Image.chs" #-}
self
imageClear :: Image -> IO ()
imageClear self =
(\(Image arg1) -> withForeignPtr arg1 $ \argPtr1 ->gtk_image_clear argPtr1)
{-# LINE 365 "./Graphics/UI/Gtk/Display/Image.chs" #-}
self
imagePixbuf :: PixbufClass pixbuf => ReadWriteAttr Image Pixbuf pixbuf
imagePixbuf = newAttrFromObjectProperty "pixbuf"
gdk_pixbuf_get_type
{-# LINE 376 "./Graphics/UI/Gtk/Display/Image.chs" #-}
imageAnimation :: (PixbufClass pixbuf, PixbufAnimationClass animation) => ReadWriteAttr Image animation pixbuf
imageAnimation = newAttrFromObjectProperty "pixbuf-animation"
gdk_pixbuf_get_type
{-# LINE 396 "./Graphics/UI/Gtk/Display/Image.chs" #-}
imageImage :: ImageClass image => ReadWriteAttr Image Image image
imageImage = newAttrFromObjectProperty "image"
gtk_image_get_type
{-# LINE 401 "./Graphics/UI/Gtk/Display/Image.chs" #-}
imageFile :: GlibString string => Attr Image string
imageFile = newAttrFromStringProperty "file"
imageStock :: GlibString string => Attr Image string
imageStock = newAttrFromStringProperty "stock"
imageIconSize :: Attr Image Int
imageIconSize = newAttrFromIntProperty "icon-size"
imagePixelSize :: Attr Image Int
imagePixelSize = newAttr
imageGetPixelSize
imageSetPixelSize
imageIconName :: GlibString string => Attr Image string
imageIconName = newAttrFromStringProperty "icon-name"
imageStorageType :: ReadAttr Image ImageType
imageStorageType = readAttrFromEnumProperty "storage-type"
gtk_image_type_get_type
{-# LINE 456 "./Graphics/UI/Gtk/Display/Image.chs" #-}
foreign import ccall unsafe "gtk_image_new_from_file"
gtk_image_new_from_file :: ((Ptr CChar) -> (IO (Ptr Widget)))
foreign import ccall unsafe "gtk_image_new_from_pixbuf"
gtk_image_new_from_pixbuf :: ((Ptr Pixbuf) -> (IO (Ptr Widget)))
foreign import ccall unsafe "gtk_image_new_from_animation"
gtk_image_new_from_animation :: ((Ptr PixbufAnimation) -> (IO (Ptr Widget)))
foreign import ccall unsafe "gtk_image_new_from_stock"
gtk_image_new_from_stock :: ((Ptr CChar) -> (CInt -> (IO (Ptr Widget))))
foreign import ccall safe "gtk_image_new"
gtk_image_new :: (IO (Ptr Widget))
foreign import ccall safe "gtk_image_new_from_icon_name"
gtk_image_new_from_icon_name :: ((Ptr CChar) -> (CInt -> (IO (Ptr Widget))))
foreign import ccall unsafe "gtk_image_get_pixbuf"
gtk_image_get_pixbuf :: ((Ptr Image) -> (IO (Ptr Pixbuf)))
foreign import ccall unsafe "gtk_image_set_from_pixbuf"
gtk_image_set_from_pixbuf :: ((Ptr Image) -> ((Ptr Pixbuf) -> (IO ())))
foreign import ccall unsafe "gtk_image_set_from_animation"
gtk_image_set_from_animation :: ((Ptr Image) -> ((Ptr PixbufAnimation) -> (IO ())))
foreign import ccall safe "gtk_image_set_from_file"
gtk_image_set_from_file :: ((Ptr Image) -> ((Ptr CChar) -> (IO ())))
foreign import ccall safe "gtk_image_set_from_stock"
gtk_image_set_from_stock :: ((Ptr Image) -> ((Ptr CChar) -> (CInt -> (IO ()))))
foreign import ccall safe "gtk_image_set_from_icon_name"
gtk_image_set_from_icon_name :: ((Ptr Image) -> ((Ptr CChar) -> (CInt -> (IO ()))))
foreign import ccall safe "gtk_image_set_pixel_size"
gtk_image_set_pixel_size :: ((Ptr Image) -> (CInt -> (IO ())))
foreign import ccall safe "gtk_image_get_pixel_size"
gtk_image_get_pixel_size :: ((Ptr Image) -> (IO CInt))
foreign import ccall safe "gtk_image_clear"
gtk_image_clear :: ((Ptr Image) -> (IO ()))
foreign import ccall unsafe "gdk_pixbuf_get_type"
gdk_pixbuf_get_type :: CULong
foreign import ccall unsafe "gtk_image_get_type"
gtk_image_get_type :: CULong
foreign import ccall unsafe "gtk_image_type_get_type"
gtk_image_type_get_type :: CULong