## Documentation

Table of Contents
Class Inheritance Tree
Widget Screenshots
Package groups

1.     -----------------------------------------------------------------------

2.     --               GtkAda - Ada95 binding for Gtk+/Gnome               --

3.     --                                                                   --

4.     --                    Copyright (C) 2010, AdaCore                    --

5.     --                                                                   --

6.     -- This library is free software; you can redistribute it and/or     --

7.     -- modify it under the terms of the GNU General Public               --

8.     -- License as published by the Free Software Foundation; either      --

9.     -- version 2 of the License, or (at your option) any later version.  --

10.     --                                                                   --

11.     -- This library is distributed in the hope that it will be useful,   --

12.     -- but WITHOUT ANY WARRANTY; without even the implied warranty of    --

13.     -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU --

14.     -- General Public License for more details.                          --

15.     --                                                                   --

16.     -- You should have received a copy of the GNU General Public         --

17.     -- License along with this library; if not, write to the             --

18.     -- Free Software Foundation, Inc., 59 Temple Place - Suite 330,      --

19.     -- Boston, MA 02111-1307, USA.                                       --

20.     --                                                                   --

21.     -- As a special exception, if other files instantiate generics from  --

22.     -- this unit, or you link this unit with other files to produce an   --

23.     -- executable, this  unit  does not  by itself cause  the resulting  --

24.     -- executable to be covered by the GNU General Public License. This  --

25.     -- exception does not however invalidate any other reasons why the   --

26.     -- executable file  might be covered by the  GNU Public License.     --

27.     -----------------------------------------------------------------------

29.     --  <description>

30.     --  Reading and writing PNG images.

31.     --  </description>

32.     --

33.     --  <c_version>1.8.8</c_version>

34.     --  <group>Cairo</group>

36.     package Cairo.PngTo API docTo specTo body is

38.        function Write_To_PngTo API docTo body

39.          (Surface  : Cairo_SurfaceTo API docTo spec;

40.           Filename : String)

41.           return     Cairo_StatusTo API docTo spec;

42.        --  Surface: a Cairo_Surface with pixel contents

43.        --  Filename: the name of a file to write to

44.        --

45.        --  Writes the contents of surface to a new file filename as a PNG

46.        --  image.

47.        --

48.        --  Return value: Cairo_Status_Success if the PNG file was written

49.        --  successfully. Otherwise, Cairo_Status_No_Memory if memory could not

50.        --  be allocated for the operation or

51.        --  Cairo_Status_Surface_Type_Mismatch if the surface does not have

52.        --  pixel contents, or Cairo_Status_Write_Error if an I/O error occurs

53.        --  while attempting to write the file.

55.        function Create_From_PngTo API docTo body

56.          (Filename : String)

57.           return     Cairo_SurfaceTo API docTo spec;

58.        --  Filename: name of PNG file to load

59.        --

60.        --  Creates a new image surface and initializes the contents to the

61.        --  given PNG file.

62.        --

63.        --  Return value: a new Cairo_Surface initialized with the contents

64.        --  of the PNG file, or a "nil" surface if any error occurred. A nil

65.        --  surface can be checked for with Cairo.Surface.Status (Surface) which

66.        --  may return one of the following values:

67.        --

68.        --  Cairo_Status_No_Memory

69.        --  Cairo_Status_File_Not_Found

70.        --  Cairo_Status_Read_Error

71.        --

72.        --  Alternatively, you can allow errors to propagate through the drawing

73.        --  operations and check the status on the context upon completion

74.        --  using Cairo_Status.

76.     end Cairo.PngTo API docTo specTo body;