<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="GdkPixbuf" version="2.0"/>
  <package name="gdk-pixbuf-2.0"/>
  <c:include name="gdk-pixbuf/gdk-pixdata.h"/>
  <doc:format name="unknown"/>
  <namespace name="GdkPixdata"
             version="2.0"
             shared-library="libgdk_pixbuf-2.0.so.0"
             c:identifier-prefixes="Gdk"
             c:symbol-prefixes="gdk">
    <constant name="PIXBUF_MAGIC_NUMBER"
              value="1197763408"
              c:type="GDK_PIXBUF_MAGIC_NUMBER">
      <doc xml:space="preserve"
           filename="gdk-pixbuf/gdk-pixdata.h"
           line="24">Magic number for #GdkPixdata structures.</doc>
      <source-position filename="gdk-pixbuf/gdk-pixdata.h" line="29"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <constant name="PIXDATA_HEADER_LENGTH"
              value="24"
              c:type="GDK_PIXDATA_HEADER_LENGTH"
              deprecated="1"
              deprecated-version="2.32">
      <doc xml:space="preserve"
           filename="gdk-pixbuf/gdk-pixdata.h"
           line="82">The length of a #GdkPixdata structure without the @pixel_data pointer.</doc>
      <source-position filename="gdk-pixbuf/gdk-pixdata.h" line="89"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <record name="Pixdata"
            c:type="GdkPixdata"
            deprecated="1"
            deprecated-version="2.32">
      <doc xml:space="preserve"
           filename="gdk-pixbuf/gdk-pixdata.c"
           line="25">A pixel buffer suitable for serialization and streaming.

Using `GdkPixdata`, images can be compiled into an application,
making it unnecessary to refer to external image files at runtime.

`GdkPixbuf` includes a utility named `gdk-pixbuf-csource`, which
can be used to convert image files into `GdkPixdata` structures suitable
for inclusion in C sources. To convert the `GdkPixdata` structures back
into a `GdkPixbuf`, use `gdk_pixbuf_from_pixdata()`.</doc>
      <doc-deprecated xml:space="preserve">`GdkPixdata` should not be used any more. `GResource`
  should be used to save the original compressed images inside the
  program's binary</doc-deprecated>
      <source-position filename="gdk-pixbuf/gdk-pixdata.h" line="80"/>
      <field name="magic" writable="1">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.c"
             line="27">magic number. A valid `GdkPixdata` structure must have
  `GDK_PIXBUF_MAGIC_NUMBER` here</doc>
        <type name="guint32" c:type="guint32"/>
      </field>
      <field name="length" writable="1">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.c"
             line="29">less than 1 to disable length checks, otherwise
  `GDK_PIXDATA_HEADER_LENGTH` plus the length of `pixel_data`</doc>
        <type name="gint32" c:type="gint32"/>
      </field>
      <field name="pixdata_type" writable="1">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.c"
             line="31">information about colorspace, sample width and
  encoding, in a `GdkPixdataType`</doc>
        <type name="guint32" c:type="guint32"/>
      </field>
      <field name="rowstride" writable="1">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.c"
             line="33">Distance in bytes between rows</doc>
        <type name="guint32" c:type="guint32"/>
      </field>
      <field name="width" writable="1">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.c"
             line="34">Width of the image in pixels</doc>
        <type name="guint32" c:type="guint32"/>
      </field>
      <field name="height" writable="1">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.c"
             line="35">Height of the image in pixels</doc>
        <type name="guint32" c:type="guint32"/>
      </field>
      <field name="pixel_data" writable="1">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.c"
             line="36">`width` x `height`
  pixels, encoded according to `pixdata_type` and `rowstride`</doc>
        <array zero-terminated="0" c:type="guint8*">
          <type name="guint8"/>
        </array>
      </field>
      <method name="deserialize"
              c:identifier="gdk_pixdata_deserialize"
              deprecated="1"
              deprecated-version="2.32"
              throws="1">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.c"
             line="199">Deserializes (reconstruct) a #GdkPixdata structure from a byte stream.

The byte stream consists of a straightforward writeout of the
`GdkPixdata` fields in network byte order, plus the `pixel_data`
bytes the structure points to.

The `pixdata` contents are reconstructed byte by byte and are checked
for validity.

This function may fail with `GDK_PIXBUF_ERROR_CORRUPT_IMAGE`
or `GDK_PIXBUF_ERROR_UNKNOWN_TYPE`.</doc>
        <doc-deprecated xml:space="preserve">Use `GResource` instead.</doc-deprecated>
        <source-position filename="gdk-pixbuf/gdk-pixdata.h" line="96"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gdk-pixbuf/gdk-pixdata.c"
               line="219">Upon successful deserialization `TRUE` is returned,
`FALSE` otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="pixdata" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gdk-pixbuf/gdk-pixdata.c"
                 line="201">a #GdkPixdata structure to be filled in.</doc>
            <type name="Pixdata" c:type="GdkPixdata*"/>
          </instance-parameter>
          <parameter name="stream_length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gdk-pixbuf/gdk-pixdata.c"
                 line="202">length of the stream used for deserialization.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gdk-pixbuf/gdk-pixdata.c"
                 line="203">stream of bytes containing a
  serialized #GdkPixdata structure.</doc>
            <array length="0" zero-terminated="0" c:type="const guint8*">
              <type name="guint8" c:type="guint8"/>
            </array>
          </parameter>
        </parameters>
      </method>
      <method name="from_pixbuf"
              c:identifier="gdk_pixdata_from_pixbuf"
              introspectable="0"
              deprecated="1"
              deprecated-version="2.32">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.c"
             line="338">Converts a `GdkPixbuf` to a `GdkPixdata`.

If `use_rle` is `TRUE`, the pixel data is run-length encoded into
newly-allocated memory and a pointer to that memory is returned.</doc>
        <doc-deprecated xml:space="preserve">Use #GResource instead.</doc-deprecated>
        <source-position filename="gdk-pixbuf/gdk-pixdata.h" line="101"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gdk-pixbuf/gdk-pixdata.c"
               line="349">If `use_rle` is
  `TRUE`, a pointer to the newly-allocated memory for the run-length
  encoded pixel data, otherwise `NULL`.</doc>
          <array zero-terminated="0" c:type="gpointer">
            <type name="guint8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="pixdata" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gdk-pixbuf/gdk-pixdata.c"
                 line="340">a `GdkPixdata` to fill.</doc>
            <type name="Pixdata" c:type="GdkPixdata*"/>
          </instance-parameter>
          <parameter name="pixbuf" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gdk-pixbuf/gdk-pixdata.c"
                 line="341">the data to fill `pixdata` with.</doc>
            <type name="GdkPixbuf.Pixbuf" c:type="const GdkPixbuf*"/>
          </parameter>
          <parameter name="use_rle" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gdk-pixbuf/gdk-pixdata.c"
                 line="342">whether to use run-length encoding for the pixel data.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="serialize"
              c:identifier="gdk_pixdata_serialize"
              deprecated="1"
              deprecated-version="2.32">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.c"
             line="110">Serializes a #GdkPixdata structure into a byte stream.
The byte stream consists of a straightforward writeout of the
#GdkPixdata fields in network byte order, plus the @pixel_data
bytes the structure points to.</doc>
        <doc-deprecated xml:space="preserve">Use #GResource instead.</doc-deprecated>
        <source-position filename="gdk-pixbuf/gdk-pixdata.h" line="93"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gdk-pixbuf/gdk-pixdata.c"
               line="120">A
newly-allocated string containing the serialized #GdkPixdata
structure.</doc>
          <array length="0" zero-terminated="0" c:type="guint8*">
            <type name="guint8" c:type="guint8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="pixdata" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gdk-pixbuf/gdk-pixdata.c"
                 line="112">a valid #GdkPixdata structure to serialize.</doc>
            <type name="Pixdata" c:type="const GdkPixdata*"/>
          </instance-parameter>
          <parameter name="stream_length_p"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="gdk-pixbuf/gdk-pixdata.c"
                 line="113">location to store the resulting stream length in.</doc>
            <type name="guint" c:type="guint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_csource"
              c:identifier="gdk_pixdata_to_csource"
              deprecated="1"
              deprecated-version="2.32">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.c"
             line="711">Generates C source code suitable for compiling images directly
into programs.

GdkPixbuf ships with a program called `gdk-pixbuf-csource`, which offers
a command line interface to this function.</doc>
        <doc-deprecated xml:space="preserve">Use #GResource instead.</doc-deprecated>
        <source-position filename="gdk-pixbuf/gdk-pixdata.h" line="155"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gdk-pixbuf/gdk-pixdata.c"
               line="723">a newly-allocated string buffer containing
  the C source form of `pixdata`.</doc>
          <type name="GLib.String" c:type="GString*"/>
        </return-value>
        <parameters>
          <instance-parameter name="pixdata" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gdk-pixbuf/gdk-pixdata.c"
                 line="713">a `GdkPixdata` to convert to C source</doc>
            <type name="Pixdata" c:type="GdkPixdata*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gdk-pixbuf/gdk-pixdata.c"
                 line="714">used for naming generated data structures or macros</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="dump_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gdk-pixbuf/gdk-pixdata.c"
                 line="715">the kind of C source to be generated</doc>
            <type name="PixdataDumpType" c:type="GdkPixdataDumpType"/>
          </parameter>
        </parameters>
      </method>
    </record>
    <bitfield name="PixdataDumpType"
              deprecated="1"
              deprecated-version="2.32"
              c:type="GdkPixdataDumpType">
      <doc xml:space="preserve"
           filename="gdk-pixbuf/gdk-pixdata.h"
           line="108">An enumeration which is used by gdk_pixdata_to_csource() to
determine the form of C source to be generated. The three values
@GDK_PIXDATA_DUMP_PIXDATA_STREAM, @GDK_PIXDATA_DUMP_PIXDATA_STRUCT
and @GDK_PIXDATA_DUMP_MACROS are mutually exclusive, as are
@GDK_PIXBUF_DUMP_GTYPES and @GDK_PIXBUF_DUMP_CTYPES. The remaining
elements are optional flags that can be freely added.</doc>
      <source-position filename="gdk-pixbuf/gdk-pixdata.h" line="151"/>
      <member name="pixdata_stream"
              value="0"
              c:identifier="GDK_PIXDATA_DUMP_PIXDATA_STREAM">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.h"
             line="110">Generate pixbuf data stream (a single
   string containing a serialized #GdkPixdata structure in network byte
   order).</doc>
      </member>
      <member name="pixdata_struct"
              value="1"
              c:identifier="GDK_PIXDATA_DUMP_PIXDATA_STRUCT">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.h"
             line="113">Generate #GdkPixdata structure (needs
   the #GdkPixdata structure definition from gdk-pixdata.h).</doc>
      </member>
      <member name="macros" value="2" c:identifier="GDK_PIXDATA_DUMP_MACROS">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.h"
             line="115">Generate &lt;function&gt;*_ROWSTRIDE&lt;/function&gt;,
   &lt;function&gt;*_WIDTH&lt;/function&gt;, &lt;function&gt;*_HEIGHT&lt;/function&gt;,
   &lt;function&gt;*_BYTES_PER_PIXEL&lt;/function&gt; and
   &lt;function&gt;*_RLE_PIXEL_DATA&lt;/function&gt; or &lt;function&gt;*_PIXEL_DATA&lt;/function&gt;
   macro definitions for the image.</doc>
      </member>
      <member name="gtypes" value="0" c:identifier="GDK_PIXDATA_DUMP_GTYPES">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.h"
             line="120">Generate GLib data types instead of
   standard C data types.</doc>
      </member>
      <member name="ctypes" value="256" c:identifier="GDK_PIXDATA_DUMP_CTYPES">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.h"
             line="122">Generate standard C data types instead of
   GLib data types.</doc>
      </member>
      <member name="static" value="512" c:identifier="GDK_PIXDATA_DUMP_STATIC">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.h"
             line="124">Generate static symbols.</doc>
      </member>
      <member name="const" value="1024" c:identifier="GDK_PIXDATA_DUMP_CONST">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.h"
             line="125">Generate const symbols.</doc>
      </member>
      <member name="rle_decoder"
              value="65536"
              c:identifier="GDK_PIXDATA_DUMP_RLE_DECODER">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.h"
             line="126">Provide a &lt;function&gt;*_RUN_LENGTH_DECODE(image_buf, rle_data, size, bpp)&lt;/function&gt;
   macro definition  to  decode  run-length encoded image data.</doc>
      </member>
    </bitfield>
    <bitfield name="PixdataType"
              deprecated="1"
              deprecated-version="2.32"
              c:type="GdkPixdataType">
      <doc xml:space="preserve"
           filename="gdk-pixbuf/gdk-pixdata.h"
           line="31">An enumeration containing three sets of flags for a #GdkPixdata struct:
one for the used colorspace, one for the width of the samples and one
for the encoding of the pixel data.</doc>
      <source-position filename="gdk-pixbuf/gdk-pixdata.h" line="66"/>
      <member name="color_type_rgb"
              value="1"
              c:identifier="GDK_PIXDATA_COLOR_TYPE_RGB">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.h"
             line="33">each pixel has red, green and blue samples.</doc>
      </member>
      <member name="color_type_rgba"
              value="2"
              c:identifier="GDK_PIXDATA_COLOR_TYPE_RGBA">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.h"
             line="34">each pixel has red, green and blue samples
   and an alpha value.</doc>
      </member>
      <member name="color_type_mask"
              value="255"
              c:identifier="GDK_PIXDATA_COLOR_TYPE_MASK">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.h"
             line="36">mask for the colortype flags of the enum.</doc>
      </member>
      <member name="sample_width_8"
              value="65536"
              c:identifier="GDK_PIXDATA_SAMPLE_WIDTH_8">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.h"
             line="37">each sample has 8 bits.</doc>
      </member>
      <member name="sample_width_mask"
              value="983040"
              c:identifier="GDK_PIXDATA_SAMPLE_WIDTH_MASK">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.h"
             line="38">mask for the sample width flags of the enum.</doc>
      </member>
      <member name="encoding_raw"
              value="16777216"
              c:identifier="GDK_PIXDATA_ENCODING_RAW">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.h"
             line="39">the pixel data is in raw form.</doc>
      </member>
      <member name="encoding_rle"
              value="33554432"
              c:identifier="GDK_PIXDATA_ENCODING_RLE">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.h"
             line="40">the pixel data is run-length encoded. Runs may
   be up to 127 bytes long; their length is stored in a single byte
   preceding the pixel data for the run. If a run is constant, its length
   byte has the high bit set and the pixel data consists of a single pixel
   which must be repeated.</doc>
      </member>
      <member name="encoding_mask"
              value="251658240"
              c:identifier="GDK_PIXDATA_ENCODING_MASK">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.h"
             line="45">mask for the encoding flags of the enum.</doc>
      </member>
    </bitfield>
    <function name="pixbuf_from_pixdata"
              c:identifier="gdk_pixbuf_from_pixdata"
              deprecated="1"
              deprecated-version="2.32"
              throws="1">
      <doc xml:space="preserve"
           filename="gdk-pixbuf/gdk-pixdata.c"
           line="438">Converts a `GdkPixdata` to a `GdkPixbuf`.

If `copy_pixels` is `TRUE` or if the pixel data is run-length-encoded,
the pixel data is copied into newly-allocated memory; otherwise it is
reused.</doc>
      <doc-deprecated xml:space="preserve">Use `GResource` instead.</doc-deprecated>
      <source-position filename="gdk-pixbuf/gdk-pixdata.h" line="105"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="gdk-pixbuf/gdk-pixdata.c"
             line="451">a new pixbuf</doc>
        <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
      </return-value>
      <parameters>
        <parameter name="pixdata" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gdk-pixbuf/gdk-pixdata.c"
               line="440">a #GdkPixdata to convert into a `GdkPixbuf`.</doc>
          <type name="Pixdata" c:type="const GdkPixdata*"/>
        </parameter>
        <parameter name="copy_pixels" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gdk-pixbuf/gdk-pixdata.c"
               line="441">whether to copy raw pixel data; run-length encoded
  pixel data is always copied.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
