------------------------------------------------------------------------------
-- --
-- Copyright (C) 1998-2000 E. Briot, J. Brobecker and A. Charlet --
-- Copyright (C) 2000-2014, AdaCore --
-- --
-- This library is free software; you can redistribute it and/or modify it --
-- under terms of the GNU General Public License as published by the Free --
-- Software Foundation; either version 3, or (at your option) any later --
-- version. This library is distributed in the hope that it will be useful, --
-- but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- --
-- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
-- As a special exception under Section 7 of GPL version 3, you are granted --
-- additional permissions described in the GCC Runtime Library Exception, --
-- version 3.1, as published by the Free Software Foundation. --
-- --
-- You should have received a copy of the GNU General Public License and --
-- a copy of the GCC Runtime Library Exception along with this program; --
-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-- <http://www.gnu.org/licenses/>. --
-- --
------------------------------------------------------------------------------
-- <description>
-- The Gtk.Image.Gtk_Image widget displays an image. Various kinds of object
-- can be displayed as an image; most typically, you would load a
-- Gdk.Pixbuf.Gdk_Pixbuf ("pixel buffer") from a file, and then display that.
-- There's a convenience function to do this, Gtk.Image.Gtk_New, used as
-- follows:
--
-- GtkWidget *image;
-- image = gtk_image_new_from_file ("myfile.png");
--
-- 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 Gdk.Pixbuf.Gdk_New_From_File, then
-- create the Gtk.Image.Gtk_Image with Gtk.Image.Gtk_New.
--
-- The image file may contain an animation, if so the Gtk.Image.Gtk_Image
-- will display an animation (Gdk_Pixbuf_Animation) instead of a static image.
--
-- Gtk.Image.Gtk_Image is a subclass of Gtk.Misc.Gtk_Misc, which implies that
-- you can align it (center, left, right) and add padding to it, using
-- Gtk.Misc.Gtk_Misc methods.
--
-- Gtk.Image.Gtk_Image is a "no window" widget (has no Gdk.Gdk_Window 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
-- Gtk.Event_Box.Gtk_Event_Box, then connect to the event signals on the event
-- box.
--
-- <title>Handling button press events on a
-- <structname>GtkImage</structname>.</title>
-- static gboolean
-- button_press_callback (GtkWidget *event_box,
-- GdkEventButton *event,
-- gpointer data)
-- {
-- g_print ("Event box clicked at coordinates %f,%f\n",
-- event->x, event->y);
-- /<!---->* Returning TRUE means we handled the event, so the signal
-- * emission should be stopped (don't call any further
-- * callbacks that may be connected). Return FALSE
-- * to continue invoking callbacks.
-- *<!---->/
-- return TRUE;
-- }
-- static GtkWidget*
-- create_image (void)
-- {
-- GtkWidget *image;
-- GtkWidget *event_box;
-- image = gtk_image_new_from_file ("myfile.png");
-- event_box = gtk_event_box_new (<!-- -->);
-- gtk_container_add (GTK_CONTAINER (event_box), image);
-- g_signal_connect (G_OBJECT (event_box),
-- "button_press_event",
-- G_CALLBACK (button_press_callback),
-- image);
-- return image;
-- }
--
-- 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 Gtk.Misc.Gtk_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
-- <application>gdk-pixbuf-csource</application>. This library allows you to
-- convert an image into a C variable declaration, which can then be loaded
-- into a Gdk.Pixbuf.Gdk_Pixbuf using gdk_pixbuf_new_from_inline.
--
-- </description>
-- <screenshot>gtk-image</screenshot>
-- <group>Display widgets</group>
pragma Ada_2005;
pragma Warnings (Off, "*is already use-visible*");
with GNAT.Strings; use GNAT.Strings;
with Gdk.Pixbuf; use Gdk.Pixbuf;
with Glib; use Glib;
with Glib.G_Icon; use Glib.G_Icon;
with Glib.Generic_Properties; use Glib.Generic_Properties;
with Glib.Properties; use Glib.Properties;
with Glib.Types; use Glib.Types;
with Gtk.Buildable; use Gtk.Buildable;
with Gtk.Enums; use Gtk.Enums;
with Gtk.Icon_Set; use Gtk.Icon_Set;
with Gtk.Misc; use Gtk.Misc;
package Gtk.Image is
type Gtk_Image_Record is new Gtk_Misc_Record with null record;
type Gtk_Image is access all Gtk_Image_Record'Class;
type Gtk_Image_Type is (
Image_Empty,
Image_Pixbuf,
Image_Stock,
Image_Icon_Set,
Image_Animation,
Image_Icon_Name,
Image_Gicon);
pragma Convention (C, Gtk_Image_Type);
-- Describes the image data representation used by a Gtk.Image.Gtk_Image.
-- If you want to get the image from the widget, you can only get the
-- currently-stored representation. e.g. if the Gtk.Image.Get_Storage_Type
-- returns GTK_IMAGE_PIXBUF, then you can call Gtk.Image.Get but not Get.
-- For empty images, you can request any storage type (call any of the
-- "get" functions), but they will all return null values.
----------------------------
-- Enumeration Properties --
----------------------------
package Gtk_Image_Type_Properties is
new Generic_Internal_Discrete_Property (Gtk_Image_Type);
type Property_Gtk_Image_Type is new Gtk_Image_Type_Properties.Property;
------------------
-- Constructors --
------------------
procedure Gtk_New (Image : out Gtk_Image);
procedure Initialize (Image : not null access Gtk_Image_Record'Class);
-- Creates a new empty Gtk.Image.Gtk_Image widget.
function Gtk_Image_New return Gtk_Image;
-- Creates a new empty Gtk.Image.Gtk_Image widget.
procedure Gtk_New
(Image : out Gtk_Image;
Animation : Gdk.Pixbuf.Gdk_Pixbuf_Animation);
procedure Initialize
(Image : not null 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
function Gtk_Image_New_From_Animation
(Animation : Gdk.Pixbuf.Gdk_Pixbuf_Animation) return Gtk_Image;
-- 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
procedure Gtk_New (Image : out Gtk_Image; Filename : UTF8_String);
procedure Initialize
(Image : not null 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
function Gtk_Image_New_From_File
(Filename : UTF8_String) return Gtk_Image;
-- 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
procedure Gtk_New_From_Gicon
(Image : out Gtk_Image;
Icon : Glib.G_Icon.G_Icon;
Size : Gtk.Enums.Gtk_Icon_Size);
procedure Initialize_From_Gicon
(Image : not null 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
function Gtk_Image_New_From_Gicon
(Icon : Glib.G_Icon.G_Icon;
Size : Gtk.Enums.Gtk_Icon_Size) return Gtk_Image;
-- 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
procedure Gtk_New_From_Icon_Name
(Image : out Gtk_Image;
Icon_Name : UTF8_String;
Size : Gtk.Enums.Gtk_Icon_Size);
procedure Initialize_From_Icon_Name
(Image : not null 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
function Gtk_Image_New_From_Icon_Name
(Icon_Name : UTF8_String;
Size : Gtk.Enums.Gtk_Icon_Size) return Gtk_Image;
-- 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
procedure Gtk_New
(Image : out Gtk_Image;
Icon_Set : Gtk.Icon_Set.Gtk_Icon_Set;
Size : Gtk.Enums.Gtk_Icon_Size);
procedure Initialize
(Image : not null access Gtk_Image_Record'Class;
Icon_Set : Gtk.Icon_Set.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.Icon_Factory.Gtk_Icon_Factory, 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 Gtk.Icon_Set.Gtk_Icon_Set
-- "size": a stock icon size
function Gtk_Image_New_From_Icon_Set
(Icon_Set : Gtk.Icon_Set.Gtk_Icon_Set;
Size : Gtk.Enums.Gtk_Icon_Size) return Gtk_Image;
-- 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.Icon_Factory.Gtk_Icon_Factory, 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 Gtk.Icon_Set.Gtk_Icon_Set
-- "size": a stock icon size
procedure Gtk_New
(Image : out Gtk_Image;
Pixbuf : access Gdk.Pixbuf.Gdk_Pixbuf_Record'Class);
procedure Initialize
(Image : not null 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
function Gtk_Image_New_From_Pixbuf
(Pixbuf : access Gdk.Pixbuf.Gdk_Pixbuf_Record'Class) return Gtk_Image;
-- 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
procedure Gtk_New_From_Resource
(Image : out Gtk_Image;
Resource_Path : UTF8_String);
procedure Initialize_From_Resource
(Image : not null access Gtk_Image_Record'Class;
Resource_Path : UTF8_String);
-- Creates a new Gtk.Image.Gtk_Image displaying the resource file
-- Resource_Path. 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.
-- Since: gtk+ 3.4
-- "resource_path": a resource path
function Gtk_Image_New_From_Resource
(Resource_Path : UTF8_String) return Gtk_Image;
-- Creates a new Gtk.Image.Gtk_Image displaying the resource file
-- Resource_Path. 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.
-- Since: gtk+ 3.4
-- "resource_path": a resource path
procedure Gtk_New
(Image : out Gtk_Image;
Stock_Id : UTF8_String;
Size : Gtk.Enums.Gtk_Icon_Size);
procedure Initialize
(Image : not null 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
function Gtk_Image_New_From_Stock
(Stock_Id : UTF8_String;
Size : Gtk.Enums.Gtk_Icon_Size) return Gtk_Image;
-- 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
function Get_Type return Glib.GType;
pragma Import (C, Get_Type, "gtk_image_get_type");
-------------
-- Methods --
-------------
procedure Clear (Image : not null access Gtk_Image_Record);
-- Resets the image to be empty.
-- Since: gtk+ 2.8
function Get
(Image : not null access Gtk_Image_Record)
return Gdk.Pixbuf.Gdk_Pixbuf_Animation;
-- Gets the Gdk_Pixbuf_Animation being displayed by the
-- Gtk.Image.Gtk_Image. The storage type of the image must be
-- Gtk.Image.Image_Empty or Gtk.Image.Image_Animation (see
-- Gtk.Image.Get_Storage_Type). The caller of this function does not own a
-- reference to the returned animation.
procedure Get
(Image : not null access Gtk_Image_Record;
G_Icon : out Glib.G_Icon.G_Icon;
Size : out Gtk.Enums.Gtk_Icon_Size);
-- Gets the Glib.G_Icon.G_Icon and size being displayed by the
-- Gtk.Image.Gtk_Image. The storage type of the image must be
-- Gtk.Image.Image_Empty or Gtk.Image.Image_Gicon (see
-- Gtk.Image.Get_Storage_Type). The caller of this function does not own a
-- reference to the returned Glib.G_Icon.G_Icon.
-- Since: gtk+ 2.14
-- "gicon": place to store a Glib.G_Icon.G_Icon, or null
-- "size": place to store an icon size, or null
procedure Get
(Image : not null access Gtk_Image_Record;
Icon_Set : out Gtk.Icon_Set.Gtk_Icon_Set;
Size : out Gtk.Enums.Gtk_Icon_Size);
-- Gets the icon set and size being displayed by the Gtk.Image.Gtk_Image.
-- The storage type of the image must be Gtk.Image.Image_Empty or
-- Gtk.Image.Image_Icon_Set (see Gtk.Image.Get_Storage_Type).
-- "icon_set": location to store a Gtk.Icon_Set.Gtk_Icon_Set, or null
-- "size": location to store a stock icon size, or null
function Get
(Image : not null access Gtk_Image_Record)
return Gdk.Pixbuf.Gdk_Pixbuf;
-- Gets the Gdk.Pixbuf.Gdk_Pixbuf being displayed by the
-- Gtk.Image.Gtk_Image. The storage type of the image must be
-- Gtk.Image.Image_Empty or Gtk.Image.Image_Pixbuf (see
-- Gtk.Image.Get_Storage_Type). The caller of this function does not own a
-- reference to the returned pixbuf.
function Get_Pixel_Size
(Image : not null access Gtk_Image_Record) return Gint;
-- Gets the pixel size used for named icons.
-- Since: gtk+ 2.6
procedure Set_Pixel_Size
(Image : not null 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
function Get_Storage_Type
(Image : not null 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.Image_Empty.
procedure Set
(Image : not null access Gtk_Image_Record;
Animation : Gdk.Pixbuf.Gdk_Pixbuf_Animation);
-- Causes the Gtk.Image.Gtk_Image to display the given animation (or
-- display nothing, if you set the animation to null).
-- "animation": the Gdk_Pixbuf_Animation
procedure Set
(Image : not null access Gtk_Image_Record;
Filename : UTF8_String := "");
-- See Gtk.Image.Gtk_New for details.
-- "filename": a filename or null
procedure Set
(Image : not null access Gtk_Image_Record;
Icon : Glib.G_Icon.G_Icon;
Size : Gtk.Enums.Gtk_Icon_Size);
-- See Gtk.Image.Gtk_New_From_Gicon for details.
-- Since: gtk+ 2.14
-- "icon": an icon
-- "size": an icon size
procedure Set
(Image : not null access Gtk_Image_Record;
Icon_Set : Gtk.Icon_Set.Gtk_Icon_Set;
Size : Gtk.Enums.Gtk_Icon_Size);
-- See Gtk.Image.Gtk_New for details.
-- "icon_set": a Gtk.Icon_Set.Gtk_Icon_Set
-- "size": a stock icon size
procedure Set
(Image : not null access Gtk_Image_Record;
Pixbuf : access Gdk.Pixbuf.Gdk_Pixbuf_Record'Class);
-- See Gtk.Image.Gtk_New for details.
-- "pixbuf": a Gdk.Pixbuf.Gdk_Pixbuf or null
procedure Set
(Image : not null 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
procedure Set_From_Icon_Name
(Image : not null 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
procedure Set_From_Resource
(Image : not null access Gtk_Image_Record;
Resource_Path : UTF8_String := "");
-- See Gtk.Image.Gtk_New_From_Resource for details.
-- "resource_path": a resource path or null
----------------------
-- GtkAda additions --
----------------------
function Get
(Image : access Gtk_Image_Record;
Size : access Gtk.Enums.Gtk_Icon_Size) return String;
-- Get the stock_id for the image displayed
procedure Get_Icon_Name
(Image : access Gtk_Image_Record;
Name : out GNAT.Strings.String_Access;
Size : out Gtk.Enums.Gtk_Icon_Size);
----------------
-- Properties --
----------------
-- The following properties are defined for this widget. See
-- Glib.Properties for more information on properties)
File_Property : constant Glib.Properties.Property_String;
G_Icon_Property : constant Glib.Properties.Property_Boxed;
-- Type: Glib.G_Icon.G_Icon
-- The GIcon displayed in the GtkImage. For themed icons, If the icon
-- theme is changed, the image will be updated automatically.
Icon_Name_Property : constant Glib.Properties.Property_String;
-- The name of the icon in the icon theme. If the icon theme is changed,
-- the image will be updated automatically.
Icon_Set_Property : constant Glib.Properties.Property_Object;
-- Type: Gtk.Icon_Set.Gtk_Icon_Set
Icon_Size_Property : constant Glib.Properties.Property_Int;
Pixbuf_Property : constant Glib.Properties.Property_Object;
-- Type: Gdk.Pixbuf.Gdk_Pixbuf
Pixbuf_Animation_Property : constant Glib.Properties.Property_Boxed;
-- Type: Gdk.Pixbuf.Gdk_Pixbuf_Animation
Pixel_Size_Property : constant Glib.Properties.Property_Int;
-- The "pixel-size" property can be used to specify a fixed size
-- overriding the Gtk.Image.Gtk_Image:icon-size property for images of type
-- Gtk.Image.Image_Icon_Name.
Resource_Property : constant Glib.Properties.Property_String;
-- A path to a resource file to display.
Stock_Property : constant Glib.Properties.Property_String;
Storage_Type_Property : constant Gtk.Image.Property_Gtk_Image_Type;
-- Type: Gtk_Image_Type
Use_Fallback_Property : constant Glib.Properties.Property_Boolean;
-- Whether the icon displayed in the GtkImage will use standard icon names
-- fallback. The value of this property is only relevant for images of type
-- Gtk.Image.Image_Icon_Name and Gtk.Image.Image_Gicon.
----------------
-- Interfaces --
----------------
-- This class implements several interfaces. See Glib.Types
--
-- - "Buildable"
package Implements_Gtk_Buildable is new Glib.Types.Implements
(Gtk.Buildable.Gtk_Buildable, Gtk_Image_Record, Gtk_Image);
function "+"
(Widget : access Gtk_Image_Record'Class)
return Gtk.Buildable.Gtk_Buildable
renames Implements_Gtk_Buildable.To_Interface;
function "-"
(Interf : Gtk.Buildable.Gtk_Buildable)
return Gtk_Image
renames Implements_Gtk_Buildable.To_Object;
private
Use_Fallback_Property : constant Glib.Properties.Property_Boolean :=
Glib.Properties.Build ("use-fallback");
Storage_Type_Property : constant Gtk.Image.Property_Gtk_Image_Type :=
Gtk.Image.Build ("storage-type");
Stock_Property : constant Glib.Properties.Property_String :=
Glib.Properties.Build ("stock");
Resource_Property : constant Glib.Properties.Property_String :=
Glib.Properties.Build ("resource");
Pixel_Size_Property : constant Glib.Properties.Property_Int :=
Glib.Properties.Build ("pixel-size");
Pixbuf_Animation_Property : constant Glib.Properties.Property_Boxed :=
Glib.Properties.Build ("pixbuf-animation");
Pixbuf_Property : constant Glib.Properties.Property_Object :=
Glib.Properties.Build ("pixbuf");
Icon_Size_Property : constant Glib.Properties.Property_Int :=
Glib.Properties.Build ("icon-size");
Icon_Set_Property : constant Glib.Properties.Property_Object :=
Glib.Properties.Build ("icon-set");
Icon_Name_Property : constant Glib.Properties.Property_String :=
Glib.Properties.Build ("icon-name");
G_Icon_Property : constant Glib.Properties.Property_Boxed :=
Glib.Properties.Build ("gicon");
File_Property : constant Glib.Properties.Property_String :=
Glib.Properties.Build ("file");
end Gtk.Image;