<!-- ##### SECTION Title ##### -->
PNG Support

<!-- ##### SECTION Short_Description ##### -->
Reading and writing PNG images

<!-- ##### SECTION Long_Description ##### -->
<para>
The PNG functions allow reading PNG images into image surfaces, and writing
any surface to a PNG file.
</para>

<!-- ##### SECTION See_Also ##### -->
<para>
<itemizedlist>
<listitem>#cairo_surface_t</listitem>
</itemizedlist>
</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### SECTION Image ##### -->


<!-- ##### MACRO CAIRO_HAS_PNG_FUNCTIONS ##### -->
<para>
Defined if the PNG functions are available.
This macro can be used to conditionally compile code using the cairo
PNG functions.
</para>



<!-- ##### FUNCTION cairo_image_surface_create_from_png ##### -->
<para>

</para>

@filename: 
@Returns: 


<!-- ##### USER_FUNCTION cairo_read_func_t ##### -->
<para>

</para>

@closure: 
@data: 
@length: 
@Returns: 


<!-- ##### FUNCTION cairo_image_surface_create_from_png_stream ##### -->
<para>

</para>

@read_func: 
@closure: 
@Returns: 


<!-- ##### FUNCTION cairo_surface_write_to_png ##### -->
<para>

</para>

@surface: 
@filename: 
@Returns: 


<!-- ##### USER_FUNCTION cairo_write_func_t ##### -->
<para>

</para>

@closure: 
@data: 
@length: 
@Returns: 


<!-- ##### FUNCTION cairo_surface_write_to_png_stream ##### -->
<para>

</para>

@surface: 
@write_func: 
@closure: 
@Returns: 


