Gtk2HsContentsIndex
Graphics.UI.Gtk.Display.Image
Portabilityportable (depends on GHC)
Stabilityprovisional
Maintainergtk2hs-users@lists.sourceforge.net
Contents
Detail
Class Hierarchy
Types
Constructors
Methods
Icon Sizes
Attributes
Description
A widget displaying an image
Synopsis
data Image
class MiscClass o => ImageClass o
castToImage :: GObjectClass obj => obj -> Image
imageNewFromFile :: FilePath -> IO Image
imageNewFromPixbuf :: Pixbuf -> IO Image
imageNewFromStock :: String -> IconSize -> IO Image
imageNew :: IO Image
imageGetPixbuf :: Image -> IO Pixbuf
imageSetFromPixbuf :: Image -> Pixbuf -> IO ()
imageSetFromFile :: Image -> FilePath -> IO ()
imageSetFromStock :: Image -> String -> IconSize -> IO ()
type IconSize = Int
iconSizeMenu :: IconSize
iconSizeSmallToolbar :: IconSize
iconSizeLargeToolbar :: IconSize
iconSizeButton :: IconSize
iconSizeDialog :: IconSize
imagePixbuf :: PixbufClass pixbuf => ReadWriteAttr Image Pixbuf pixbuf
imagePixmap :: PixmapClass pixmap => ReadWriteAttr Image Pixmap pixmap
imageImage :: ImageClass image => ReadWriteAttr Image Image image
imageMask :: PixmapClass pixmap => ReadWriteAttr Image Pixmap pixmap
imageFile :: WriteAttr Image String
imageStock :: Attr Image String
imageIconSize :: Attr Image Int
imageStorageType :: ReadAttr Image ImageType
Detail

The Image widget displays an image. Various kinds of object can be displayed as an image; most typically, you would load a Pixbuf ("pixel buffer") from a file, and then display that. There's a convenience function to do this, imageNewFromFile, used as follows: If the file isn't loaded successfully, the image will contain a "broken image" icon similar to that used in many web browsers. If you want to handle errors in loading the file yourself, for example by displaying an error message, then load the image with pixbufNewFromFile, then create the Image with imageNewFromPixbuf.

   image <- imageNewFromFile "myfile.png"

The image file may contain an animation, if so the Image will display an animation (PixbufAnimation) instead of a static image.

Image is a subclass of Misc, which implies that you can align it (center, left, right) and add padding to it, using Misc methods.

Image is a "no window" widget (has no DrawWindow of its own), so by default does not receive events. If you want to receive events on the image, such as button clicks, place the image inside a EventBox, then connect to the event signals on the event box.

When handling events on the event box, keep in mind that coordinates in the image may be different from event box coordinates due to the alignment and padding settings on the image (see Misc). The simplest way to solve this is to set the alignment to 0.0 (left/top), and set the padding to zero. Then the origin of the image will be the same as the origin of the event box.

Sometimes an application will want to avoid depending on external data files, such as image files. Gtk+ comes with a program to avoid this, called gdk-pixbuf-csource. This program allows you to convert an image into a C variable declaration, which can then be loaded into a Pixbuf using pixbufNewFromInline.

Class Hierarchy
 |  GObject
 |   +----Object
 |         +----Widget
 |               +----Misc
 |                     +----Image
 
Types
data Image
show/hide Instances
class MiscClass o => ImageClass o
show/hide Instances
castToImage :: GObjectClass obj => obj -> Image
Constructors
imageNewFromFile :: FilePath -> IO Image

Creates a new Image displaying the file filename. If the file isn't found or can't be loaded, the resulting Image will display a "broken image" icon.

If the file contains an animation, the image will contain an animation.

If you need to detect failures to load the file, use pixbufNewFromFile to load the file yourself, then create the Image from the pixbuf. (Or for animations, use pixbufAnimationNewFromFile).

The storage type (imageGetStorageType) of the returned image is not defined, it will be whatever is appropriate for displaying the file.

imageNewFromPixbuf :: Pixbuf -> IO Image

Creates a new Image displaying a Pixbuf.

Note that this function just creates an Image from the pixbuf. The Image created will not react to state changes. Should you want that, you should use imageNewFromIconSet.

imageNewFromStock
:: StringstockId - a stock icon name
-> IconSizesize - a stock icon size
-> IO Image
Creates a Image displaying a stock icon. If the stock icon name isn't known, a "broken image" icon will be displayed instead.
imageNew :: IO Image
Creates a new empty Image widget.
Methods
imageGetPixbuf :: Image -> IO Pixbuf
Gets the Pixbuf being displayed by the Image. The storage type of the image must be ImageEmpty or ImagePixbuf (see imageGetStorageType).
imageSetFromPixbuf :: Image -> Pixbuf -> IO ()
Overwrite the current content of the Image with a new Pixbuf.
imageSetFromFile :: Image -> FilePath -> IO ()
See imageNewFromFile for details.
imageSetFromStock
:: Image
-> StringstockId - a stock icon name
-> IconSizesize - a stock icon size
-> IO ()
See imageNewFromStock for details.
Icon Sizes
type IconSize = Int
The size of an icon in pixels.
iconSizeMenu :: IconSize
Icon size to use in next to menu items in drop-down menus.
iconSizeSmallToolbar :: IconSize
Icon size for small toolbars.
iconSizeLargeToolbar :: IconSize
Icon size for larger toolbars.
iconSizeButton :: IconSize
Icon size for icons in buttons, next to the label.
iconSizeDialog :: IconSize
Icon size for icons next to dialog text.
Attributes
imagePixbuf :: PixbufClass pixbuf => ReadWriteAttr Image Pixbuf pixbuf
A Pixbuf to display.
imagePixmap :: PixmapClass pixmap => ReadWriteAttr Image Pixmap pixmap
A Pixmap to display.
imageImage :: ImageClass image => ReadWriteAttr Image Image image
A Image to display.
imageMask :: PixmapClass pixmap => ReadWriteAttr Image Pixmap pixmap
Mask bitmap to use with Image or Pixmap.
imageFile :: WriteAttr Image String
Filename to load and display.
imageStock :: Attr Image String

Stock ID for a stock image to display.

Default value: ""

imageIconSize :: Attr Image Int

Symbolic size to use for stock icon, icon set or named icon.

Allowed values: >= 0

Default value: 4

imageStorageType :: ReadAttr Image ImageType

The representation being used for image data.

Default value: ImageEmpty

Produced by Haddock version 0.7