Index

Package: Image

Description

package Gtk.Image is

The Gtk_Image widget displays a graphical image. The image is typically created using Gdk.Image.Gdk_New.

The pixels in a Gtk_Image may be manipulated by the application after creation, as Gtk_Image store the pixel data on the client side. If you wish to store the pixel data on the server side (thus not allowing manipulation of the data after creation) you should use Gtk_Pixmap.

Screenshot

gtk-image.png

Packages

Implements_Buildable (new Glib.Types.Implements)

Classes

Gtk_Image_Record

type Gtk_Image_Record is new Gtk_Misc_Record with null record;

Ancestors:

Primitive operations:

Get_Icon_Name
Get_Pixel_Size
Get_Storage_Type
Glib.Object.Deallocate (Inherited)
Glib.Object.Get_Type (Inherited)
Glib.Object.Notify (Inherited)
Glib.Object.Ref (Inherited)
Glib.Object.Ref_Sink (Inherited)
Glib.Object.Unref (Inherited)
Gtk.Misc.Get_Alignment (Inherited)
Gtk.Misc.Get_Padding (Inherited)
Gtk.Misc.Set_Alignment (Inherited)
Gtk.Misc.Set_Padding (Inherited)
Gtk.Widget.Activate (Inherited)
Gtk.Widget.Add_Accelerator (Inherited)
Gtk.Widget.Add_Events (Inherited)
Gtk.Widget.Add_Mnemonic_Label (Inherited)
Gtk.Widget.Can_Activate_Accel (Inherited)
Gtk.Widget.Child_Notify (Inherited)
Gtk.Widget.Class_Path (Inherited)
Gtk.Widget.Class_Path_Reversed (Inherited)
Gtk.Widget.Create_Pango_Context (Inherited)
Gtk.Widget.Create_Pango_Layout (Inherited)
Gtk.Widget.Destroy (Inherited)
Gtk.Widget.Draw (Inherited)
Gtk.Widget.Ensure_Style (Inherited)
Gtk.Widget.Error_Bell (Inherited)
Gtk.Widget.Flag_Is_Set (Inherited)
Gtk.Widget.Flags (Inherited)
Gtk.Widget.Freeze_Child_Notify (Inherited)
Gtk.Widget.Get_Allocation_Height (Inherited)
Gtk.Widget.Get_Allocation_Width (Inherited)
Gtk.Widget.Get_Allocation_X (Inherited)
Gtk.Widget.Get_Allocation_Y (Inherited)
Gtk.Widget.Get_Ancestor (Inherited)
Gtk.Widget.Get_Child_Requisition (Inherited)
Gtk.Widget.Get_Child_Visible (Inherited)
Gtk.Widget.Get_Colormap (Inherited)
Gtk.Widget.Get_Composite_Name (Inherited)
Gtk.Widget.Get_Direction (Inherited)
Gtk.Widget.Get_Events (Inherited)
Gtk.Widget.Get_Extension_Events (Inherited)
Gtk.Widget.Get_Has_Tooltip (Inherited)
Gtk.Widget.Get_Name (Inherited)
Gtk.Widget.Get_No_Show_All (Inherited)
Gtk.Widget.Get_Pango_Context (Inherited)
Gtk.Widget.Get_Parent (Inherited)
Gtk.Widget.Get_Parent_Window (Inherited)
Gtk.Widget.Get_Pointer (Inherited)
Gtk.Widget.Get_Root_Window (Inherited)
Gtk.Widget.Get_Size_Request (Inherited)
Gtk.Widget.Get_Snapshot (Inherited)
Gtk.Widget.Get_State (Inherited)
Gtk.Widget.Get_Style (Inherited)
Gtk.Widget.Get_Tooltip_Markup (Inherited)
Gtk.Widget.Get_Tooltip_Text (Inherited)
Gtk.Widget.Get_Tooltip_Window (Inherited)
Gtk.Widget.Get_Toplevel (Inherited)
Gtk.Widget.Get_Visual (Inherited)
Gtk.Widget.Get_Window (Inherited)
Gtk.Widget.Grab_Default (Inherited)
Gtk.Widget.Grab_Focus (Inherited)
Gtk.Widget.Has_Screen (Inherited)
Gtk.Widget.Hide (Inherited)
Gtk.Widget.Hide_All (Inherited)
Gtk.Widget.Input_Shape_Combine_Mask (Inherited)
Gtk.Widget.Intersect (Inherited)
Gtk.Widget.Is_Ancestor (Inherited)
Gtk.Widget.Is_Composited (Inherited)
Gtk.Widget.Is_Focus (Inherited)
Gtk.Widget.Keynav_Failed (Inherited)
Gtk.Widget.List_Mnemonic_Labels (Inherited)
Gtk.Widget.Map (Inherited)
Gtk.Widget.Mnemonic_Activate (Inherited)
Gtk.Widget.Modify_Base (Inherited)
Gtk.Widget.Modify_Bg (Inherited)
Gtk.Widget.Modify_Cursor (Inherited)
Gtk.Widget.Modify_Fg (Inherited)
Gtk.Widget.Modify_Font (Inherited)
Gtk.Widget.Modify_Text (Inherited)
Gtk.Widget.Path (Inherited)
Gtk.Widget.Path_Reversed (Inherited)
Gtk.Widget.Queue_Clear (Inherited)
Gtk.Widget.Queue_Clear_Area (Inherited)
Gtk.Widget.Queue_Draw (Inherited)
Gtk.Widget.Queue_Draw_Area (Inherited)
Gtk.Widget.Queue_Resize (Inherited)
Gtk.Widget.Queue_Resize_No_Redraw (Inherited)
Gtk.Widget.Realize (Inherited)
Gtk.Widget.Region_Intersect (Inherited)
Gtk.Widget.Remove_Accelerator (Inherited)
Gtk.Widget.Remove_Mnemonic_Label (Inherited)
Gtk.Widget.Render_Icon (Inherited)
Gtk.Widget.Reparent (Inherited)
Gtk.Widget.Reset_Rc_Styles (Inherited)
Gtk.Widget.Reset_Shapes (Inherited)
Gtk.Widget.Restore_Default_Style (Inherited)
Gtk.Widget.Send_Expose (Inherited)
Gtk.Widget.Set_Accel_Path (Inherited)
Gtk.Widget.Set_App_Paintable (Inherited)
Gtk.Widget.Set_Child_Visible (Inherited)
Gtk.Widget.Set_Colormap (Inherited)
Gtk.Widget.Set_Composite_Name (Inherited)
Gtk.Widget.Set_Direction (Inherited)
Gtk.Widget.Set_Double_Buffered (Inherited)
Gtk.Widget.Set_Events (Inherited)
Gtk.Widget.Set_Extension_Events (Inherited)
Gtk.Widget.Set_Flags (Inherited)
Gtk.Widget.Set_Has_Tooltip (Inherited)
Gtk.Widget.Set_Name (Inherited)
Gtk.Widget.Set_No_Show_All (Inherited)
Gtk.Widget.Set_Parent (Inherited)
Gtk.Widget.Set_Parent_Window (Inherited)
Gtk.Widget.Set_Redraw_On_Allocate (Inherited)
Gtk.Widget.Set_Scroll_Adjustments (Inherited)
Gtk.Widget.Set_Sensitive (Inherited)
Gtk.Widget.Set_Size_Request (Inherited)
Gtk.Widget.Set_State (Inherited)
Gtk.Widget.Set_Style (Inherited)
Gtk.Widget.Set_Tooltip_Markup (Inherited)
Gtk.Widget.Set_Tooltip_Text (Inherited)
Gtk.Widget.Set_Tooltip_Window (Inherited)
Gtk.Widget.Set_UPosition (Inherited)
Gtk.Widget.Set_USize (Inherited)
Gtk.Widget.Set_Window (Inherited)
Gtk.Widget.Shape_Combine_Mask (Inherited)
Gtk.Widget.Show (Inherited)
Gtk.Widget.Show_All (Inherited)
Gtk.Widget.Show_Now (Inherited)
Gtk.Widget.Size_Allocate (Inherited)
Gtk.Widget.Size_Request (Inherited)
Gtk.Widget.Style_Get_Property (Inherited)
Gtk.Widget.Thaw_Child_Notify (Inherited)
Gtk.Widget.Trigger_Tooltip_Query (Inherited)
Gtk.Widget.Unmap (Inherited)
Gtk.Widget.Unrealize (Inherited)
Gtk.Widget.Unset_Flags (Inherited)
Set_From_Icon_Name
Set_Pixel_Size

Types

Gtk_Image

type Gtk_Image is access all Gtk_Image_Record'Class;

Gtk_Image_Type

type Gtk_Image_Type is
        (Image_Empty,
         Image_Pixmap,
         Image_Image,
         Image_Pixbuf,
         Image_Stock,
         Image_Icon_Set,
         Image_Animation,
         Image_Icon_Name,
         Image_Gicon);

Constants & Global variables

Icon_Size_Property (Glib.Properties.Property_Int)

Icon_Size_Property : constant Glib.Properties.Property_Int;

Pixbuf_Animation_Property (Glib.Properties.Property_Boxed)

Pixbuf_Animation_Property : constant Glib.Properties.Property_Boxed;

Pixel_Size_Property (Glib.Properties.Property_Int)

Pixel_Size_Property : constant Glib.Properties.Property_Int;

Storage_Type_Property (Glib.Properties.Property_Boxed)

Storage_Type_Property : constant Glib.Properties.Property_Boxed;

Subprograms & Entries

Gtk_New

procedure Gtk_New 
(Image: out Gtk_Image);

Initialize

procedure Initialize 
(Image: access Gtk_Image_Record'Class);
Creates a new empty Gtk.Image.Gtk_Image widget.

Gtk_New

procedure Gtk_New 
(Image: out Gtk_Image;
Animation: Gdk.Pixbuf.Gdk_Pixbuf_Animation);

Initialize

procedure Initialize 
(Image: access Gtk_Image_Record'Class;
Animation: Gdk.Pixbuf.Gdk_Pixbuf_Animation);
Creates a Gtk.Image.Gtk_Image displaying the given animation. The Gtk.Image.Gtk_Image does not assume a reference to the animation; you still need to unref it if you own references. Gtk.Image.Gtk_Image will add its own reference rather than adopting yours. Note that the animation frames are shown using a timeout with G_PRIORITY_DEFAULT. When using animations to indicate busyness, keep in mind that the animation will only be shown if the main loop is not busy with something that has a higher priority. "animation": an animation

Gtk_New

procedure Gtk_New 
(Image: out Gtk_Image;
Filename: UTF8_String);

Initialize

procedure Initialize 
(Image: access Gtk_Image_Record'Class;
Filename: UTF8_String);
Creates a new Gtk.Image.Gtk_Image displaying the file Filename. If the file isn't found or can't be loaded, the resulting Gtk.Image.Gtk_Image will display a "broken image" icon. This function never returns null, it always returns a valid Gtk.Image.Gtk_Image widget. If the file contains an animation, the image will contain an animation. If you need to detect failures to load the file, use Gdk.Pixbuf.Gdk_New_From_File to load the file yourself, then create the Gtk.Image.Gtk_Image from the pixbuf. (Or for animations, use Gdk.Pixbuf.Gdk_New_From_File). The storage type (gtk_image_get_storage_type) of the returned image is not defined, it will be whatever is appropriate for displaying the file. "filename": a filename

Gtk_New_From_Gicon

procedure Gtk_New_From_Gicon 
(Image: out Gtk_Image;
Icon: Glib.G_Icon.G_Icon;
Size: Gtk.Enums.Gtk_Icon_Size);

Initialize_From_Gicon

procedure Initialize_From_Gicon 
(Image: access Gtk_Image_Record'Class;
Icon: Glib.G_Icon.G_Icon;
Size: Gtk.Enums.Gtk_Icon_Size);
Creates a Gtk.Image.Gtk_Image displaying an icon from the current icon theme. If the icon name isn't known, a "broken image" icon will be displayed instead. If the current icon theme is changed, the icon will be updated appropriately. Since: gtk+ 2.14 "icon": an icon "size": a stock icon size

Gtk_New_From_Icon_Name

procedure Gtk_New_From_Icon_Name 
(Image: out Gtk_Image;
Icon_Name: UTF8_String;
Size: Gtk.Enums.Gtk_Icon_Size);

Initialize_From_Icon_Name

procedure Initialize_From_Icon_Name 
(Image: access Gtk_Image_Record'Class;
Icon_Name: UTF8_String;
Size: Gtk.Enums.Gtk_Icon_Size);
Creates a Gtk.Image.Gtk_Image displaying an icon from the current icon theme. If the icon name isn't known, a "broken image" icon will be displayed instead. If the current icon theme is changed, the icon will be updated appropriately. Since: gtk+ 2.6 "icon_name": an icon name "size": a stock icon size

Gtk_New

procedure Gtk_New 
(Image: out Gtk_Image;
Icon_Set: Gtk.Icon_Factory.Gtk_Icon_Set;
Size: Gtk.Enums.Gtk_Icon_Size);

Initialize

procedure Initialize 
(Image: access Gtk_Image_Record'Class;
Icon_Set: Gtk.Icon_Factory.Gtk_Icon_Set;
Size: Gtk.Enums.Gtk_Icon_Size);
Creates a Gtk.Image.Gtk_Image displaying an icon set. Sample stock sizes are GTK_ICON_SIZE_MENU, GTK_ICON_SIZE_SMALL_TOOLBAR. Instead of using this function, usually it's better to create a Gtk.Iconfactory.Gtk_Iconfactory, put your icon sets in the icon factory, add the icon factory to the list of default factories with Gtk.Icon_Factory.Add_Default, and then use Gtk.Image.Gtk_New. This will allow themes to override the icon you ship with your application. The Gtk.Image.Gtk_Image does not assume a reference to the icon set; you still need to unref it if you own references. Gtk.Image.Gtk_Image will add its own reference rather than adopting yours. "icon_set": a GtkIconSet "size": a stock icon size

Gtk_New

procedure Gtk_New 
(Image: out Gtk_Image;
Val: Gdk.Image.Gdk_Image;
Mask: Gdk.Bitmap.Gdk_Bitmap);

Initialize

procedure Initialize 
(Image: access Gtk_Image_Record'Class;
Val: Gdk.Image.Gdk_Image;
Mask: Gdk.Bitmap.Gdk_Bitmap);
Creates a Gtk.Image.Gtk_Image widget displaying a Image with a Mask. A GdkImage is a client-side image buffer in the pixel format of the current display. The Gtk.Image.Gtk_Image does not assume a reference to the image or mask; you still need to unref them if you own references. Gtk.Image.Gtk_Image will add its own reference rather than adopting yours. "Val": a GdkImage, or null "mask": a GdkBitmap, or null

Gtk_New

procedure Gtk_New 
(Image: out Gtk_Image;
Pixbuf: access Gdk.Pixbuf.Gdk_Pixbuf_Record'Class);

Initialize

procedure Initialize 
(Image: access Gtk_Image_Record'Class;
Pixbuf: access Gdk.Pixbuf.Gdk_Pixbuf_Record'Class);
Creates a new Gtk.Image.Gtk_Image displaying Pixbuf. The Gtk.Image.Gtk_Image does not assume a reference to the pixbuf; you still need to unref it if you own references. Gtk.Image.Gtk_Image will add its own reference rather than adopting yours. Note that this function just creates an Gtk.Image.Gtk_Image from the pixbuf. The Gtk.Image.Gtk_Image created will not react to state changes. Should you want that, you should use Gtk.Image.Gtk_New. "pixbuf": a Gdk.Pixbuf.Gdk_Pixbuf, or null

Gtk_New

procedure Gtk_New 
(Image: out Gtk_Image;
Pixmap: Gdk.Pixmap.Gdk_Pixmap;
Mask: Gdk.Bitmap.Gdk_Bitmap);

Initialize

procedure Initialize 
(Image: access Gtk_Image_Record'Class;
Pixmap: Gdk.Pixmap.Gdk_Pixmap;
Mask: Gdk.Bitmap.Gdk_Bitmap);
Creates a Gtk.Image.Gtk_Image widget displaying Pixmap with a Mask. A GdkPixmap is a server-side image buffer in the pixel format of the current display. The Gtk.Image.Gtk_Image does not assume a reference to the pixmap or mask; you still need to unref them if you own references. Gtk.Image.Gtk_Image will add its own reference rather than adopting yours. "pixmap": a GdkPixmap, or null "mask": a GdkBitmap, or null

Gtk_New

procedure Gtk_New 
(Image: out Gtk_Image;
Stock_Id: UTF8_String;
Size: Gtk.Enums.Gtk_Icon_Size);

Initialize

procedure Initialize 
(Image: access Gtk_Image_Record'Class;
Stock_Id: UTF8_String;
Size: Gtk.Enums.Gtk_Icon_Size);
Creates a Gtk.Image.Gtk_Image displaying a stock icon. Sample stock icon names are GTK_STOCK_OPEN, GTK_STOCK_QUIT. Sample stock sizes are GTK_ICON_SIZE_MENU, GTK_ICON_SIZE_SMALL_TOOLBAR. If the stock icon name isn't known, the image will be empty. You can register your own stock icon names, see Gtk.Icon_Factory.Add_Default and Gtk.Icon_Factory.Add. "stock_id": a stock icon name "size": a stock icon size

Get_Type

function Get_Type return Glib.GType;

Clear

procedure Clear 
(Image: access Gtk_Image_Record);
Resets the image to be empty. Since: gtk+ 2.8

Get

function Get 
(Image: access Gtk_Image_Record) return Gdk.Pixbuf.Gdk_Pixbuf_Animation;

Get

procedure Get 
(Image: access Gtk_Image_Record;
Gicon: out Glib.G_Icon.G_Icon;
Size: out Gtk.Enums.Gtk_Icon_Size);

Get

procedure Get 
(Image: access Gtk_Image_Record;
Icon_Set: out Gtk.Icon_Factory.Gtk_Icon_Set;
Size: out Gtk.Enums.Gtk_Icon_Size);

Get

procedure Get 
(Image: access Gtk_Image_Record;
Gdk_Image: out Gdk.Image.Gdk_Image;
Mask: out Gdk.Bitmap.Gdk_Bitmap);

Get

function Get 
(Image: access Gtk_Image_Record) return Gdk.Pixbuf.Gdk_Pixbuf;

Get

procedure Get 
(Image: access Gtk_Image_Record;
Pixmap: out Gdk.Pixmap.Gdk_Pixmap;
Mask: out Gdk.Bitmap.Gdk_Bitmap);
Gets the pixmap and mask being displayed by the Gtk.Image.Gtk_Image. The storage type of the image must be %GTK_IMAGE_EMPTY or %GTK_IMAGE_PIXMAP (see Gtk.Image.Get_Storage_Type). The caller of this function does not own a reference to the returned pixmap and mask. "pixmap": location to store the pixmap, or null "mask": location to store the mask, or null

Get_Pixel_Size

function Get_Pixel_Size 
(Image: access Gtk_Image_Record) return Gint;

Set_Pixel_Size

procedure Set_Pixel_Size 
(Image: access Gtk_Image_Record;
Pixel_Size: Gint);
Sets the pixel size to use for named icons. If the pixel size is set to a value != -1, it is used instead of the icon size set by Gtk.Image.Set_From_Icon_Name. Since: gtk+ 2.6 "pixel_size": the new pixel size

Get_Storage_Type

function Get_Storage_Type 
(Image: access Gtk_Image_Record) return Gtk_Image_Type;
Gets the type of representation being used by the Gtk.Image.Gtk_Image to store image data. If the Gtk.Image.Gtk_Image has no image data, the return value will be %GTK_IMAGE_EMPTY.

Set

procedure Set 
(Image: access Gtk_Image_Record;
Animation: Gdk.Pixbuf.Gdk_Pixbuf_Animation);

Set

procedure Set 
(Image: access Gtk_Image_Record;
Filename: UTF8_String);

Set

procedure Set 
(Image: access Gtk_Image_Record;
Icon: Glib.G_Icon.G_Icon;
Size: Gtk.Enums.Gtk_Icon_Size);

Set

procedure Set 
(Image: access Gtk_Image_Record;
Gdk_Image: Gdk.Image.Gdk_Image;
Mask: Gdk.Bitmap.Gdk_Bitmap);

Set

procedure Set 
(Image: access Gtk_Image_Record;
Pixbuf: access Gdk.Pixbuf.Gdk_Pixbuf_Record'Class);

Set

procedure Set 
(Image: access Gtk_Image_Record;
Pixmap: Gdk.Pixmap.Gdk_Pixmap;
Mask: Gdk.Bitmap.Gdk_Bitmap);

Set

procedure Set 
(Image: access Gtk_Image_Record;
Stock_Id: UTF8_String;
Size: Gtk.Enums.Gtk_Icon_Size);
See Gtk.Image.Gtk_New for details. "stock_id": a stock icon name "size": a stock icon size

Set_From_Icon_Name

procedure Set_From_Icon_Name 
(Image: access Gtk_Image_Record;
Icon_Name: UTF8_String;
Size: Gtk.Enums.Gtk_Icon_Size);
See Gtk.Image.Gtk_New_From_Icon_Name for details. Since: gtk+ 2.6 "icon_name": an icon name "size": an icon size

Get

function Get 
(Image: access Gtk_Image_Record;
Size: access Gtk.Enums.Gtk_Icon_Size) return String;
Get the stock_id for the image displayed

Get_Icon_Name

procedure Get_Icon_Name 
(Image: access Gtk_Image_Record;
Name: out GNAT.Strings.String_Access;
Size: out Gtk.Enums.Gtk_Icon_Size);