1. ----------------------------------------------------------------------- 
  2. --               GtkAda - Ada95 binding for Gtk+/Gnome               -- 
  3. --                                                                   -- 
  4. --   Copyright (C) 1998-2000 E. Briot, J. Brobecker and A. Charlet   -- 
  5. --                Copyright (C) 2000-2011, AdaCore                   -- 
  6. --                                                                   -- 
  7. -- This library is free software; you can redistribute it and/or     -- 
  8. -- modify it under the terms of the GNU General Public               -- 
  9. -- License as published by the Free Software Foundation; either      -- 
  10. -- version 2 of the License, or (at your option) any later version.  -- 
  11. --                                                                   -- 
  12. -- This library is distributed in the hope that it will be useful,   -- 
  13. -- but WITHOUT ANY WARRANTY; without even the implied warranty of    -- 
  14. -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -- 
  15. -- General Public License for more details.                          -- 
  16. --                                                                   -- 
  17. -- You should have received a copy of the GNU General Public         -- 
  18. -- License along with this library; if not, write to the             -- 
  19. -- Free Software Foundation, Inc., 59 Temple Place - Suite 330,      -- 
  20. -- Boston, MA 02111-1307, USA.                                       -- 
  21. --                                                                   -- 
  22. -- -- -- -- -- -- -- -- -- -- -- --
  23. ----------------------------------------------------------------------- 
  24.  
  25. --  <description> 
  26. --  The Gtk_Image widget displays a graphical image. The image is typically 
  27. --  created using Gdk.Image.Gdk_New. 
  28. -- 
  29. --  The pixels in a Gtk_Image may be manipulated by the application after 
  30. --  creation, as Gtk_Image store the pixel data on the client side. If you wish 
  31. --  to store the pixel data on the server side (thus not allowing manipulation 
  32. --  of the data after creation) you should use Gtk_Pixmap. 
  33. -- 
  34. --  </description> 
  35. --  <screenshot>gtk-image</screenshot> 
  36. --  <group>Display widgets</group> 
  37.  
  38. pragma Warnings (Off, "*is already use-visible*"); 
  39. with GNAT.Strings;     use GNAT.Strings; 
  40. with Gdk.Bitmap;       use Gdk.Bitmap; 
  41. with Gdk.Image;        use Gdk.Image; 
  42. with Gdk.Pixbuf;       use Gdk.Pixbuf; 
  43. with Gdk.Pixmap;       use Gdk.Pixmap; 
  44. with Glib;             use Glib; 
  45. with Glib.G_Icon;      use Glib.G_Icon; 
  46. with Glib.Properties;  use Glib.Properties; 
  47. with Glib.Types;       use Glib.Types; 
  48. with Gtk.Buildable;    use Gtk.Buildable; 
  49. with Gtk.Enums;        use Gtk.Enums; 
  50. with Gtk.Icon_Factory; use Gtk.Icon_Factory; 
  51. with Gtk.Misc;         use Gtk.Misc; 
  52. with Gtk.Widget;       use Gtk.Widget; 
  53.  
  54. package Gtk.Image is 
  55.  
  56.    type Gtk_Image_Record is new Gtk_Misc_Record with null record; 
  57.    type Gtk_Image is access all Gtk_Image_Record'Class; 
  58.  
  59.    type Gtk_Image_Type is 
  60.         (Image_Empty, 
  61.          Image_Pixmap, 
  62.          Image_Image, 
  63.          Image_Pixbuf, 
  64.          Image_Stock, 
  65.          Image_Icon_Set, 
  66.          Image_Animation, 
  67.          Image_Icon_Name, 
  68.          Image_Gicon); 
  69.       pragma Convention (C, Gtk_Image_Type); 
  70.  
  71.    ------------------ 
  72.    -- Constructors -- 
  73.    ------------------ 
  74.  
  75.    procedure Gtk_New (Image : out Gtk_Image); 
  76.    procedure Initialize (Image : access Gtk_Image_Record'Class); 
  77.    --  Creates a new empty Gtk.Image.Gtk_Image widget. 
  78.  
  79.    procedure Gtk_New 
  80.       (Image     : out Gtk_Image; 
  81.        Animation : Gdk.Pixbuf.Gdk_Pixbuf_Animation); 
  82.    procedure Initialize 
  83.       (Image     : access Gtk_Image_Record'Class; 
  84.        Animation : Gdk.Pixbuf.Gdk_Pixbuf_Animation); 
  85.    --  Creates a Gtk.Image.Gtk_Image displaying the given animation. The 
  86.    --  Gtk.Image.Gtk_Image does not assume a reference to the animation; you 
  87.    --  still need to unref it if you own references. Gtk.Image.Gtk_Image will 
  88.    --  add its own reference rather than adopting yours. Note that the 
  89.    --  animation frames are shown using a timeout with G_PRIORITY_DEFAULT. When 
  90.    --  using animations to indicate busyness, keep in mind that the animation 
  91.    --  will only be shown if the main loop is not busy with something that has 
  92.    --  a higher priority. 
  93.    --  "animation": an animation 
  94.  
  95.    procedure Gtk_New (Image : out Gtk_Image; Filename : UTF8_String); 
  96.    procedure Initialize 
  97.       (Image    : access Gtk_Image_Record'Class; 
  98.        Filename : UTF8_String); 
  99.    --  Creates a new Gtk.Image.Gtk_Image displaying the file Filename. If the 
  100.    --  file isn't found or can't be loaded, the resulting Gtk.Image.Gtk_Image 
  101.    --  will display a "broken image" icon. This function never returns null, it 
  102.    --  always returns a valid Gtk.Image.Gtk_Image widget. If the file contains 
  103.    --  an animation, the image will contain an animation. If you need to detect 
  104.    --  failures to load the file, use Gdk.Pixbuf.Gdk_New_From_File to load the 
  105.    --  file yourself, then create the Gtk.Image.Gtk_Image from the pixbuf. (Or 
  106.    --  for animations, use Gdk.Pixbuf.Gdk_New_From_File). The storage type 
  107.    --  (gtk_image_get_storage_type) of the returned image is not defined, it 
  108.    --  will be whatever is appropriate for displaying the file. 
  109.    --  "filename": a filename 
  110.  
  111.    procedure Gtk_New_From_Gicon 
  112.       (Image : out Gtk_Image; 
  113.        Icon  : Glib.G_Icon.G_Icon; 
  114.        Size  : Gtk.Enums.Gtk_Icon_Size); 
  115.    procedure Initialize_From_Gicon 
  116.       (Image : access Gtk_Image_Record'Class; 
  117.        Icon  : Glib.G_Icon.G_Icon; 
  118.        Size  : Gtk.Enums.Gtk_Icon_Size); 
  119.    --  Creates a Gtk.Image.Gtk_Image displaying an icon from the current icon 
  120.    --  theme. If the icon name isn't known, a "broken image" icon will be 
  121.    --  displayed instead. If the current icon theme is changed, the icon will 
  122.    --  be updated appropriately. 
  123.    --  Since: gtk+ 2.14 
  124.    --  "icon": an icon 
  125.    --  "size": a stock icon size 
  126.  
  127.    procedure Gtk_New_From_Icon_Name 
  128.       (Image     : out Gtk_Image; 
  129.        Icon_Name : UTF8_String; 
  130.        Size      : Gtk.Enums.Gtk_Icon_Size); 
  131.    procedure Initialize_From_Icon_Name 
  132.       (Image     : access Gtk_Image_Record'Class; 
  133.        Icon_Name : UTF8_String; 
  134.        Size      : Gtk.Enums.Gtk_Icon_Size); 
  135.    --  Creates a Gtk.Image.Gtk_Image displaying an icon from the current icon 
  136.    --  theme. If the icon name isn't known, a "broken image" icon will be 
  137.    --  displayed instead. If the current icon theme is changed, the icon will 
  138.    --  be updated appropriately. 
  139.    --  Since: gtk+ 2.6 
  140.    --  "icon_name": an icon name 
  141.    --  "size": a stock icon size 
  142.  
  143.    procedure Gtk_New 
  144.       (Image    : out Gtk_Image; 
  145.        Icon_Set : Gtk.Icon_Factory.Gtk_Icon_Set; 
  146.        Size     : Gtk.Enums.Gtk_Icon_Size); 
  147.    procedure Initialize 
  148.       (Image    : access Gtk_Image_Record'Class; 
  149.        Icon_Set : Gtk.Icon_Factory.Gtk_Icon_Set; 
  150.        Size     : Gtk.Enums.Gtk_Icon_Size); 
  151.    --  Creates a Gtk.Image.Gtk_Image displaying an icon set. Sample stock 
  152.    --  sizes are GTK_ICON_SIZE_MENU, GTK_ICON_SIZE_SMALL_TOOLBAR. Instead of 
  153.    --  using this function, usually it's better to create a 
  154.    --  Gtk.Iconfactory.Gtk_Iconfactory, put your icon sets in the icon factory, 
  155.    --  add the icon factory to the list of default factories with 
  156.    --  Gtk.Icon_Factory.Add_Default, and then use Gtk.Image.Gtk_New. This will 
  157.    --  allow themes to override the icon you ship with your application. The 
  158.    --  Gtk.Image.Gtk_Image does not assume a reference to the icon set; you 
  159.    --  still need to unref it if you own references. Gtk.Image.Gtk_Image will 
  160.    --  add its own reference rather than adopting yours. 
  161.    --  "icon_set": a GtkIconSet 
  162.    --  "size": a stock icon size 
  163.  
  164.    procedure Gtk_New 
  165.       (Image : out Gtk_Image; 
  166.        Val   : Gdk.Image.Gdk_Image; 
  167.        Mask  : Gdk.Bitmap.Gdk_Bitmap); 
  168.    procedure Initialize 
  169.       (Image : access Gtk_Image_Record'Class; 
  170.        Val   : Gdk.Image.Gdk_Image; 
  171.        Mask  : Gdk.Bitmap.Gdk_Bitmap); 
  172.    --  Creates a Gtk.Image.Gtk_Image widget displaying a Image with a Mask. A 
  173.    --  GdkImage is a client-side image buffer in the pixel format of the 
  174.    --  current display. The Gtk.Image.Gtk_Image does not assume a reference to 
  175.    --  the image or mask; you still need to unref them if you own references. 
  176.    --  Gtk.Image.Gtk_Image will add its own reference rather than adopting 
  177.    --  yours. 
  178.    --  "Val": a GdkImage, or null 
  179.    --  "mask": a GdkBitmap, or null 
  180.  
  181.    procedure Gtk_New 
  182.       (Image  : out Gtk_Image; 
  183.        Pixbuf : access Gdk.Pixbuf.Gdk_Pixbuf_Record'Class); 
  184.    procedure Initialize 
  185.       (Image  : access Gtk_Image_Record'Class; 
  186.        Pixbuf : access Gdk.Pixbuf.Gdk_Pixbuf_Record'Class); 
  187.    --  Creates a new Gtk.Image.Gtk_Image displaying Pixbuf. The 
  188.    --  Gtk.Image.Gtk_Image does not assume a reference to the pixbuf; you still 
  189.    --  need to unref it if you own references. Gtk.Image.Gtk_Image will add its 
  190.    --  own reference rather than adopting yours. Note that this function just 
  191.    --  creates an Gtk.Image.Gtk_Image from the pixbuf. The Gtk.Image.Gtk_Image 
  192.    --  created will not react to state changes. Should you want that, you 
  193.    --  should use Gtk.Image.Gtk_New. 
  194.    --  "pixbuf": a Gdk.Pixbuf.Gdk_Pixbuf, or null 
  195.  
  196.    procedure Gtk_New 
  197.       (Image  : out Gtk_Image; 
  198.        Pixmap : Gdk.Pixmap.Gdk_Pixmap; 
  199.        Mask   : Gdk.Bitmap.Gdk_Bitmap); 
  200.    procedure Initialize 
  201.       (Image  : access Gtk_Image_Record'Class; 
  202.        Pixmap : Gdk.Pixmap.Gdk_Pixmap; 
  203.        Mask   : Gdk.Bitmap.Gdk_Bitmap); 
  204.    --  Creates a Gtk.Image.Gtk_Image widget displaying Pixmap with a Mask. A 
  205.    --  GdkPixmap is a server-side image buffer in the pixel format of the 
  206.    --  current display. The Gtk.Image.Gtk_Image does not assume a reference to 
  207.    --  the pixmap or mask; you still need to unref them if you own references. 
  208.    --  Gtk.Image.Gtk_Image will add its own reference rather than adopting 
  209.    --  yours. 
  210.    --  "pixmap": a GdkPixmap, or null 
  211.    --  "mask": a GdkBitmap, or null 
  212.  
  213.    procedure Gtk_New 
  214.       (Image    : out Gtk_Image; 
  215.        Stock_Id : UTF8_String; 
  216.        Size     : Gtk.Enums.Gtk_Icon_Size); 
  217.    procedure Initialize 
  218.       (Image    : access Gtk_Image_Record'Class; 
  219.        Stock_Id : UTF8_String; 
  220.        Size     : Gtk.Enums.Gtk_Icon_Size); 
  221.    --  Creates a Gtk.Image.Gtk_Image displaying a stock icon. Sample stock 
  222.    --  icon names are GTK_STOCK_OPEN, GTK_STOCK_QUIT. Sample stock sizes are 
  223.    --  GTK_ICON_SIZE_MENU, GTK_ICON_SIZE_SMALL_TOOLBAR. If the stock icon name 
  224.    --  isn't known, the image will be empty. You can register your own stock 
  225.    --  icon names, see Gtk.Icon_Factory.Add_Default and Gtk.Icon_Factory.Add. 
  226.    --  "stock_id": a stock icon name 
  227.    --  "size": a stock icon size 
  228.  
  229.    function Get_Type return Glib.GType; 
  230.    pragma Import (C, Get_Type, "gtk_image_get_type"); 
  231.  
  232.    ------------- 
  233.    -- Methods -- 
  234.    ------------- 
  235.  
  236.    procedure Clear (Image : access Gtk_Image_Record); 
  237.    --  Resets the image to be empty. 
  238.    --  Since: gtk+ 2.8 
  239.  
  240.    function Get 
  241.       (Image : access Gtk_Image_Record) 
  242.        return Gdk.Pixbuf.Gdk_Pixbuf_Animation; 
  243.    procedure Get 
  244.       (Image : access Gtk_Image_Record; 
  245.        Gicon : out Glib.G_Icon.G_Icon; 
  246.        Size  : out Gtk.Enums.Gtk_Icon_Size); 
  247.    procedure Get 
  248.       (Image    : access Gtk_Image_Record; 
  249.        Icon_Set : out Gtk.Icon_Factory.Gtk_Icon_Set; 
  250.        Size     : out Gtk.Enums.Gtk_Icon_Size); 
  251.    procedure Get 
  252.       (Image     : access Gtk_Image_Record; 
  253.        Gdk_Image : out Gdk.Image.Gdk_Image; 
  254.        Mask      : out Gdk.Bitmap.Gdk_Bitmap); 
  255.    function Get 
  256.       (Image : access Gtk_Image_Record) return Gdk.Pixbuf.Gdk_Pixbuf; 
  257.    procedure Get 
  258.       (Image  : access Gtk_Image_Record; 
  259.        Pixmap : out Gdk.Pixmap.Gdk_Pixmap; 
  260.        Mask   : out Gdk.Bitmap.Gdk_Bitmap); 
  261.    --  Gets the pixmap and mask being displayed by the Gtk.Image.Gtk_Image. 
  262.    --  The storage type of the image must be %GTK_IMAGE_EMPTY or 
  263.    --  %GTK_IMAGE_PIXMAP (see Gtk.Image.Get_Storage_Type). The caller of this 
  264.    --  function does not own a reference to the returned pixmap and mask. 
  265.    --  "pixmap": location to store the pixmap, or null 
  266.    --  "mask": location to store the mask, or null 
  267.  
  268.    function Get_Pixel_Size (Image : access Gtk_Image_Record) return Gint; 
  269.    procedure Set_Pixel_Size 
  270.       (Image      : access Gtk_Image_Record; 
  271.        Pixel_Size : Gint); 
  272.    --  Sets the pixel size to use for named icons. If the pixel size is set to 
  273.    --  a value != -1, it is used instead of the icon size set by 
  274.    --  Gtk.Image.Set_From_Icon_Name. 
  275.    --  Since: gtk+ 2.6 
  276.    --  "pixel_size": the new pixel size 
  277.  
  278.    function Get_Storage_Type 
  279.       (Image : access Gtk_Image_Record) return Gtk_Image_Type; 
  280.    --  Gets the type of representation being used by the Gtk.Image.Gtk_Image 
  281.    --  to store image data. If the Gtk.Image.Gtk_Image has no image data, the 
  282.    --  return value will be %GTK_IMAGE_EMPTY. 
  283.    --  Returns image representation being used 
  284.  
  285.    procedure Set 
  286.       (Image     : access Gtk_Image_Record; 
  287.        Animation : Gdk.Pixbuf.Gdk_Pixbuf_Animation); 
  288.    procedure Set (Image : access Gtk_Image_Record; Filename : UTF8_String); 
  289.    procedure Set 
  290.       (Image : access Gtk_Image_Record; 
  291.        Icon  : Glib.G_Icon.G_Icon; 
  292.        Size  : Gtk.Enums.Gtk_Icon_Size); 
  293.    procedure Set 
  294.       (Image    : access Gtk_Image_Record; 
  295.        Icon_Set : Gtk.Icon_Factory.Gtk_Icon_Set; 
  296.        Size     : Gtk.Enums.Gtk_Icon_Size); 
  297.    procedure Set 
  298.       (Image     : access Gtk_Image_Record; 
  299.        Gdk_Image : Gdk.Image.Gdk_Image; 
  300.        Mask      : Gdk.Bitmap.Gdk_Bitmap); 
  301.    procedure Set 
  302.       (Image  : access Gtk_Image_Record; 
  303.        Pixbuf : access Gdk.Pixbuf.Gdk_Pixbuf_Record'Class); 
  304.    procedure Set 
  305.       (Image  : access Gtk_Image_Record; 
  306.        Pixmap : Gdk.Pixmap.Gdk_Pixmap; 
  307.        Mask   : Gdk.Bitmap.Gdk_Bitmap); 
  308.    procedure Set 
  309.       (Image    : access Gtk_Image_Record; 
  310.        Stock_Id : UTF8_String; 
  311.        Size     : Gtk.Enums.Gtk_Icon_Size); 
  312.    --  See Gtk.Image.Gtk_New for details. 
  313.    --  "stock_id": a stock icon name 
  314.    --  "size": a stock icon size 
  315.  
  316.    procedure Set_From_Icon_Name 
  317.       (Image     : access Gtk_Image_Record; 
  318.        Icon_Name : UTF8_String; 
  319.        Size      : Gtk.Enums.Gtk_Icon_Size); 
  320.    --  See Gtk.Image.Gtk_New_From_Icon_Name for details. 
  321.    --  Since: gtk+ 2.6 
  322.    --  "icon_name": an icon name 
  323.    --  "size": an icon size 
  324.  
  325.    ---------------------- 
  326.    -- GtkAda additions -- 
  327.    ---------------------- 
  328.  
  329.    function Get 
  330.      (Image : access Gtk_Image_Record; 
  331.       Size  : access Gtk.Enums.Gtk_Icon_Size) return String; 
  332.    --  Get the stock_id for the image displayed 
  333.  
  334.    procedure Get_Icon_Name 
  335.      (Image : access Gtk_Image_Record; 
  336.       Name  : out GNAT.Strings.String_Access; 
  337.       Size  : out Gtk.Enums.Gtk_Icon_Size); 
  338.  
  339.    ---------------- 
  340.    -- Interfaces -- 
  341.    ---------------- 
  342.    --  This class implements several interfaces. See Glib.Types 
  343.    -- 
  344.    --  - "Buildable" 
  345.  
  346.    package Implements_Buildable is new Glib.Types.Implements 
  347.      (Gtk.Buildable.Gtk_Buildable, Gtk_Image_Record, Gtk_Image); 
  348.    function "+" 
  349.      (Widget : access Gtk_Image_Record'Class) 
  350.    return Gtk.Buildable.Gtk_Buildable 
  351.    renames Implements_Buildable.To_Interface; 
  352.    function "-" 
  353.      (Interf : Gtk.Buildable.Gtk_Buildable) 
  354.    return Gtk_Image 
  355.    renames Implements_Buildable.To_Object; 
  356.  
  357.    ---------------- 
  358.    -- Properties -- 
  359.    ---------------- 
  360.    --  The following properties are defined for this widget. See 
  361.    --  Glib.Properties for more information on properties) 
  362.    -- 
  363.    --  Name: File_Property 
  364.    --  Type: UTF8_String 
  365.    --  Flags: read-write 
  366.    -- 
  367.    --  Name: Gicon_Property 
  368.    --  Type: Glib.G_Icon.G_Icon 
  369.    --  Flags: read-write 
  370.    --  The GIcon displayed in the GtkImage. For themed icons, If the icon 
  371.    --  theme is changed, the image will be updated automatically. 
  372.    -- 
  373.    --  Name: Icon_Name_Property 
  374.    --  Type: UTF8_String 
  375.    --  Flags: read-write 
  376.    --  The name of the icon in the icon theme. If the icon theme is changed, 
  377.    --  the image will be updated automatically. 
  378.    -- 
  379.    --  Name: Icon_Set_Property 
  380.    --  Type: Gtk.Icon_Factory.Gtk_Icon_Set 
  381.    --  Flags: read-write 
  382.    -- 
  383.    --  Name: Icon_Size_Property 
  384.    --  Type: Gint 
  385.    --  Flags: read-write 
  386.    -- 
  387.    --  Name: Image_Property 
  388.    --  Type: Gdk.Image.Gdk_Image 
  389.    --  Flags: read-write 
  390.    -- 
  391.    --  Name: Mask_Property 
  392.    --  Type: Gdk.Pixmap.Gdk_Pixmap 
  393.    --  Flags: read-write 
  394.    -- 
  395.    --  Name: Pixbuf_Property 
  396.    --  Type: Gdk.Pixbuf.Gdk_Pixbuf 
  397.    --  Flags: read-write 
  398.    -- 
  399.    --  Name: Pixbuf_Animation_Property 
  400.    --  Type: Gdk.Pixbuf.Gdk_Pixbuf_Animation 
  401.    --  Flags: read-write 
  402.    -- 
  403.    --  Name: Pixel_Size_Property 
  404.    --  Type: Gint 
  405.    --  Flags: read-write 
  406.    --  The "pixel-size" property can be used to specify a fixed size 
  407.    --  overriding the Gtk.Image.Gtk_Image:icon-size property for images of type 
  408.    --  %GTK_IMAGE_ICON_NAME. 
  409.    -- 
  410.    --  Name: Pixmap_Property 
  411.    --  Type: Gdk.Pixmap.Gdk_Pixmap 
  412.    --  Flags: read-write 
  413.    -- 
  414.    --  Name: Stock_Property 
  415.    --  Type: UTF8_String 
  416.    --  Flags: read-write 
  417.    -- 
  418.    --  Name: Storage_Type_Property 
  419.    --  Type: Gtk_Image_Type 
  420.    --  Flags: read-write 
  421.  
  422.    File_Property : constant Glib.Properties.Property_String; 
  423.    Gicon_Property : constant Glib.Properties.Property_Boxed; 
  424.    Icon_Name_Property : constant Glib.Properties.Property_String; 
  425.    Icon_Set_Property : constant Glib.Properties.Property_Boxed; 
  426.    Icon_Size_Property : constant Glib.Properties.Property_Int; 
  427.    Image_Property : constant Glib.Properties.Property_Boxed; 
  428.    Mask_Property : constant Glib.Properties.Property_Boxed; 
  429.    Pixbuf_Property : constant Glib.Properties.Property_Object; 
  430.    Pixbuf_Animation_Property : constant Glib.Properties.Property_Boxed; 
  431.    Pixel_Size_Property : constant Glib.Properties.Property_Int; 
  432.    Pixmap_Property : constant Glib.Properties.Property_Boxed; 
  433.    Stock_Property : constant Glib.Properties.Property_String; 
  434.    Storage_Type_Property : constant Glib.Properties.Property_Boxed; 
  435.  
  436. private 
  437.    File_Property : constant Glib.Properties.Property_String := 
  438.      Glib.Properties.Build ("file"); 
  439.    Gicon_Property : constant Glib.Properties.Property_Boxed := 
  440.      Glib.Properties.Build ("gicon"); 
  441.    Icon_Name_Property : constant Glib.Properties.Property_String := 
  442.      Glib.Properties.Build ("icon-name"); 
  443.    Icon_Set_Property : constant Glib.Properties.Property_Boxed := 
  444.      Glib.Properties.Build ("icon-set"); 
  445.    Icon_Size_Property : constant Glib.Properties.Property_Int := 
  446.      Glib.Properties.Build ("icon-size"); 
  447.    Image_Property : constant Glib.Properties.Property_Boxed := 
  448.      Glib.Properties.Build ("image"); 
  449.    Mask_Property : constant Glib.Properties.Property_Boxed := 
  450.      Glib.Properties.Build ("mask"); 
  451.    Pixbuf_Property : constant Glib.Properties.Property_Object := 
  452.      Glib.Properties.Build ("pixbuf"); 
  453.    Pixbuf_Animation_Property : constant Glib.Properties.Property_Boxed := 
  454.      Glib.Properties.Build ("pixbuf-animation"); 
  455.    Pixel_Size_Property : constant Glib.Properties.Property_Int := 
  456.      Glib.Properties.Build ("pixel-size"); 
  457.    Pixmap_Property : constant Glib.Properties.Property_Boxed := 
  458.      Glib.Properties.Build ("pixmap"); 
  459.    Stock_Property : constant Glib.Properties.Property_String := 
  460.      Glib.Properties.Build ("stock"); 
  461.    Storage_Type_Property : constant Glib.Properties.Property_Boxed := 
  462.      Glib.Properties.Build ("storage-type"); 
  463. end Gtk.Image;