<?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:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="AppStream" version="1.0"/>
  <include name="GObject" version="2.0"/>
  <include name="GdkPixbuf" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <package name="appstream-compose"/>
  <c:include name="appstream-compose.h"/>
  <namespace name="AppStreamCompose"
             version="1.0"
             shared-library="libappstream-compose.so.0"
             c:identifier-prefixes="Asc"
             c:symbol-prefixes="asc">
    <class name="Canvas"
           c:symbol-prefix="canvas"
           c:type="AscCanvas"
           parent="GObject.Object"
           glib:type-name="AscCanvas"
           glib:get-type="asc_canvas_get_type"
           glib:type-struct="CanvasClass">
      <source-position filename="../compose/asc-canvas.h" line="34"/>
      <constructor name="new" c:identifier="asc_canvas_new">
        <doc xml:space="preserve"
             filename="../compose/asc-canvas.c"
             line="94">Creates a new #AscFont.</doc>
        <source-position filename="../compose/asc-canvas.h" line="55"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../compose/asc-canvas.c"
               line="99">an #AscCanvas</doc>
          <type name="Canvas" c:type="AscCanvas*"/>
        </return-value>
        <parameters>
          <parameter name="width" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="draw_text" c:identifier="asc_canvas_draw_text" throws="1">
        <doc xml:space="preserve"
             filename="../compose/asc-canvas.c"
             line="269">Draw a longer text with linebreaks.</doc>
        <source-position filename="../compose/asc-canvas.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="canvas" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-canvas.c"
                 line="271">an #AscCanvas instance.</doc>
            <type name="Canvas" c:type="AscCanvas*"/>
          </instance-parameter>
          <parameter name="font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-canvas.c"
                 line="272">an #AscFont to use for drawing the text.</doc>
            <type name="Font" c:type="AscFont*"/>
          </parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="border_width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-canvas.c"
                 line="273">Border with around the text (set to -1 to use defaults).</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="line_pad" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-canvas.c"
                 line="274">Padding between lines (set to -1 to use defaults).</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="draw_text_line"
              c:identifier="asc_canvas_draw_text_line"
              throws="1">
        <doc xml:space="preserve"
             filename="../compose/asc-canvas.c"
             line="197">Draw a simple line of text without linebreaks to fill the canvas.</doc>
        <source-position filename="../compose/asc-canvas.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="canvas" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-canvas.c"
                 line="199">an #AscCanvas instance.</doc>
            <type name="Canvas" c:type="AscCanvas*"/>
          </instance-parameter>
          <parameter name="font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-canvas.c"
                 line="200">an #AscFont to use for drawing the text.</doc>
            <type name="Font" c:type="AscFont*"/>
          </parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="border_width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-canvas.c"
                 line="201">Border with around the text, set to -1 to use defaults.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_height" c:identifier="asc_canvas_get_height">
        <doc xml:space="preserve"
             filename="../compose/asc-canvas.c"
             line="130">Gets the canvas height.</doc>
        <source-position filename="../compose/asc-canvas.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="canvas" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-canvas.c"
                 line="132">an #AscCanvas instance.</doc>
            <type name="Canvas" c:type="AscCanvas*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_width" c:identifier="asc_canvas_get_width">
        <doc xml:space="preserve"
             filename="../compose/asc-canvas.c"
             line="117">Gets the canvas width.</doc>
        <source-position filename="../compose/asc-canvas.h" line="58"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="canvas" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-canvas.c"
                 line="119">an #AscCanvas instance.</doc>
            <type name="Canvas" c:type="AscCanvas*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="render_svg"
              c:identifier="asc_canvas_render_svg"
              throws="1">
        <doc xml:space="preserve"
             filename="../compose/asc-canvas.c"
             line="143">Render an SVG graphic from the SVG data provided.</doc>
        <source-position filename="../compose/asc-canvas.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="canvas" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-canvas.c"
                 line="145">an #AscCanvas instance.</doc>
            <type name="Canvas" c:type="AscCanvas*"/>
          </instance-parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-canvas.c"
                 line="146">SVG data input stream.</doc>
            <type name="Gio.InputStream" c:type="GInputStream*"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_png" c:identifier="asc_canvas_save_png" throws="1">
        <doc xml:space="preserve"
             filename="../compose/asc-canvas.c"
             line="373">Save canvas to PNG file.</doc>
        <source-position filename="../compose/asc-canvas.h" line="77"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="canvas" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-canvas.c"
                 line="375">an #AscCanvas instance.</doc>
            <type name="Canvas" c:type="AscCanvas*"/>
          </instance-parameter>
          <parameter name="fname" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-canvas.c"
                 line="376">Filename to save to.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="CanvasClass"
            c:type="AscCanvasClass"
            glib:is-gtype-struct-for="Canvas">
      <source-position filename="../compose/asc-canvas.h" line="34"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="CanvasError"
                 glib:type-name="AscCanvasError"
                 glib:get-type="asc_canvas_error_get_type"
                 c:type="AscCanvasError"
                 glib:error-domain="AscCanvasError">
      <doc xml:space="preserve"
           filename="../compose/asc-canvas.h"
           line="36">A drawing error.</doc>
      <member name="failed"
              value="0"
              c:identifier="ASC_CANVAS_ERROR_FAILED"
              glib:nick="failed">
        <doc xml:space="preserve"
             filename="../compose/asc-canvas.h"
             line="38">Generic failure.</doc>
      </member>
      <member name="drawing"
              value="1"
              c:identifier="ASC_CANVAS_ERROR_DRAWING"
              glib:nick="drawing">
        <doc xml:space="preserve"
             filename="../compose/asc-canvas.h"
             line="39">Drawing operation failed.</doc>
      </member>
      <member name="font"
              value="2"
              c:identifier="ASC_CANVAS_ERROR_FONT"
              glib:nick="font">
        <doc xml:space="preserve"
             filename="../compose/asc-canvas.h"
             line="40">Issue with font or font selection.</doc>
      </member>
      <member name="last"
              value="3"
              c:identifier="ASC_CANVAS_ERROR_LAST"
              glib:nick="last">
      </member>
      <function name="quark" c:identifier="asc_canvas_error_quark">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-canvas.c"
               line="57">An error quark.</doc>
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <enumeration name="ComposeError"
                 glib:type-name="AscComposeError"
                 glib:get-type="asc_compose_error_get_type"
                 c:type="AscComposeError"
                 glib:error-domain="AscComposeError">
      <doc xml:space="preserve"
           filename="../compose/asc-globals.h"
           line="31">A metadata composition error.</doc>
      <member name="failed"
              value="0"
              c:identifier="ASC_COMPOSE_ERROR_FAILED"
              glib:nick="failed">
        <doc xml:space="preserve"
             filename="../compose/asc-globals.h"
             line="33">Generic failure.</doc>
      </member>
      <member name="last"
              value="1"
              c:identifier="ASC_COMPOSE_ERROR_LAST"
              glib:nick="last">
      </member>
      <function name="quark" c:identifier="asc_compose_error_quark">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-globals.c"
               line="63">An error quark.</doc>
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <class name="Font"
           c:symbol-prefix="font"
           c:type="AscFont"
           parent="GObject.Object"
           glib:type-name="AscFont"
           glib:get-type="asc_font_get_type"
           glib:type-struct="FontClass">
      <source-position filename="../compose/asc-font.h" line="31"/>
      <constructor name="new_from_data"
                   c:identifier="asc_font_new_from_data"
                   throws="1">
        <doc xml:space="preserve"
             filename="../compose/asc-font.c"
             line="316">Creates a new #AscFont from data in memory.
The font file basename needs to be supplied as fallback
and for heuristics.</doc>
        <source-position filename="../compose/asc-font.h" line="50"/>
        <return-value transfer-ownership="full">
          <type name="Font" c:type="AscFont*"/>
        </return-value>
        <parameters>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../compose/asc-font.c"
                 line="318">Data to load.</doc>
            <type name="gpointer" c:type="void*"/>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-font.c"
                 line="319">Length of the data to load.</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
          <parameter name="file_basename" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-font.c"
                 line="320">Font file basename.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_file"
                   c:identifier="asc_font_new_from_file"
                   throws="1">
        <doc xml:space="preserve"
             filename="../compose/asc-font.c"
             line="281">Creates a new #AscFont from a file on the filesystem.</doc>
        <source-position filename="../compose/asc-font.h" line="48"/>
        <return-value transfer-ownership="full">
          <type name="Font" c:type="AscFont*"/>
        </return-value>
        <parameters>
          <parameter name="fname" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-font.c"
                 line="283">Name of the file to load.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_language" c:identifier="asc_font_add_language">
        <doc xml:space="preserve"
             filename="../compose/asc-font.c"
             line="486">Add language to the language list of this font.</doc>
        <source-position filename="../compose/asc-font.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-font.c"
                 line="488">an #AscFont instance.</doc>
            <type name="Font" c:type="AscFont*"/>
          </instance-parameter>
          <parameter name="lang" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_description" c:identifier="asc_font_get_description">
        <doc xml:space="preserve"
             filename="../compose/asc-font.c"
             line="526">Gets the font description.</doc>
        <source-position filename="../compose/asc-font.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-font.c"
                 line="528">an #AscFont instance.</doc>
            <type name="Font" c:type="AscFont*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_family" c:identifier="asc_font_get_family">
        <doc xml:space="preserve"
             filename="../compose/asc-font.c"
             line="361">Gets the font family.</doc>
        <source-position filename="../compose/asc-font.h" line="55"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-font.c"
                 line="363">an #AscFont instance.</doc>
            <type name="Font" c:type="AscFont*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_fullname" c:identifier="asc_font_get_fullname">
        <doc xml:space="preserve"
             filename="../compose/asc-font.c"
             line="387">Gets the fonts full name.</doc>
        <source-position filename="../compose/asc-font.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-font.c"
                 line="389">an #AscFont instance.</doc>
            <type name="Font" c:type="AscFont*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_homepage" c:identifier="asc_font_get_homepage">
        <doc xml:space="preserve"
             filename="../compose/asc-font.c"
             line="539">Gets the font homepage.</doc>
        <source-position filename="../compose/asc-font.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-font.c"
                 line="541">an #AscFont instance.</doc>
            <type name="Font" c:type="AscFont*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="asc_font_get_id">
        <doc xml:space="preserve"
             filename="../compose/asc-font.c"
             line="404">Gets an identifier string for this font.</doc>
        <source-position filename="../compose/asc-font.h" line="58"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-font.c"
                 line="406">an #AscFont instance.</doc>
            <type name="Font" c:type="AscFont*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_language_list"
              c:identifier="asc_font_get_language_list">
        <doc xml:space="preserve"
             filename="../compose/asc-font.c"
             line="469">Gets the list of languages supported by this font.</doc>
        <source-position filename="../compose/asc-font.h" line="60"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="../compose/asc-font.c"
               line="475">Sorted list of languages</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-font.c"
                 line="471">an #AscFont instance.</doc>
            <type name="Font" c:type="AscFont*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_preferred_language"
              c:identifier="asc_font_get_preferred_language">
        <doc xml:space="preserve"
             filename="../compose/asc-font.c"
             line="499">Gets the fonts preferred language.</doc>
        <source-position filename="../compose/asc-font.h" line="64"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-font.c"
                 line="501">an #AscFont instance.</doc>
            <type name="Font" c:type="AscFont*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sample_icon_text"
              c:identifier="asc_font_get_sample_icon_text">
        <doc xml:space="preserve"
             filename="../compose/asc-font.c"
             line="801">Gets the sample icon text fragment for this font.</doc>
        <source-position filename="../compose/asc-font.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-font.c"
                 line="803">an #AscFont instance.</doc>
            <type name="Font" c:type="AscFont*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sample_text" c:identifier="asc_font_get_sample_text">
        <doc xml:space="preserve"
             filename="../compose/asc-font.c"
             line="772">Gets the sample text for this font.</doc>
        <source-position filename="../compose/asc-font.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-font.c"
                 line="774">an #AscFont instance.</doc>
            <type name="Font" c:type="AscFont*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_style" c:identifier="asc_font_get_style">
        <doc xml:space="preserve"
             filename="../compose/asc-font.c"
             line="374">Gets the font style.</doc>
        <source-position filename="../compose/asc-font.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-font.c"
                 line="376">an #AscFont instance.</doc>
            <type name="Font" c:type="AscFont*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_preferred_language"
              c:identifier="asc_font_set_preferred_language">
        <doc xml:space="preserve"
             filename="../compose/asc-font.c"
             line="512">Sets the fonts preferred language.</doc>
        <source-position filename="../compose/asc-font.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-font.c"
                 line="514">an #AscFont instance.</doc>
            <type name="Font" c:type="AscFont*"/>
          </instance-parameter>
          <parameter name="lang" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sample_icon_text"
              c:identifier="asc_font_set_sample_icon_text">
        <doc xml:space="preserve"
             filename="../compose/asc-font.c"
             line="816">Sets the sample icon text fragment for this font - must not
contain more than 3 characters to be valid.</doc>
        <source-position filename="../compose/asc-font.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-font.c"
                 line="818">an #AscFont instance.</doc>
            <type name="Font" c:type="AscFont*"/>
          </instance-parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_sample_text" c:identifier="asc_font_set_sample_text">
        <doc xml:space="preserve"
             filename="../compose/asc-font.c"
             line="787">Sets the sample text for this font.</doc>
        <source-position filename="../compose/asc-font.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-font.c"
                 line="789">an #AscFont instance.</doc>
            <type name="Font" c:type="AscFont*"/>
          </instance-parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="FontClass"
            c:type="AscFontClass"
            glib:is-gtype-struct-for="Font">
      <source-position filename="../compose/asc-font.h" line="31"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="FontError"
                 glib:type-name="AscFontError"
                 glib:get-type="asc_font_error_get_type"
                 c:type="AscFontError"
                 glib:error-domain="AscFontError">
      <doc xml:space="preserve"
           filename="../compose/asc-font.h"
           line="33">A metadata processing error.</doc>
      <member name="failed"
              value="0"
              c:identifier="ASC_FONT_ERROR_FAILED"
              glib:nick="failed">
        <doc xml:space="preserve"
             filename="../compose/asc-font.h"
             line="35">Generic failure.</doc>
      </member>
      <member name="last"
              value="1"
              c:identifier="ASC_FONT_ERROR_LAST"
              glib:nick="last">
      </member>
      <function name="quark" c:identifier="asc_font_error_quark">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-font.c"
               line="78">An error quark.</doc>
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <class name="Hint"
           c:symbol-prefix="hint"
           c:type="AscHint"
           parent="GObject.Object"
           glib:type-name="AscHint"
           glib:get-type="asc_hint_get_type"
           glib:type-struct="HintClass">
      <source-position filename="../compose/asc-hint.h" line="42"/>
      <constructor name="new" c:identifier="asc_hint_new">
        <doc xml:space="preserve"
             filename="../compose/asc-hint.c"
             line="276">Creates a new #AscHint.</doc>
        <source-position filename="../compose/asc-hint.h" line="44"/>
        <return-value transfer-ownership="full">
          <type name="Hint" c:type="AscHint*"/>
        </return-value>
      </constructor>
      <constructor name="new_for_tag"
                   c:identifier="asc_hint_new_for_tag"
                   throws="1">
        <doc xml:space="preserve"
             filename="../compose/asc-hint.c"
             line="289">Creates a new #AscHint with the given tag. If the selected tag was not registered+
with the global tag registry, %NULL is returned and an error is set.</doc>
        <source-position filename="../compose/asc-hint.h" line="45"/>
        <return-value transfer-ownership="full">
          <type name="Hint" c:type="AscHint*"/>
        </return-value>
        <parameters>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-hint.c"
                 line="291">The tag ID to construct this hint for.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="add_explanation_var"
              c:identifier="asc_hint_add_explanation_var">
        <doc xml:space="preserve"
             filename="../compose/asc-hint.c"
             line="182">Add a replacement variable for the explanation text.</doc>
        <source-position filename="../compose/asc-hint.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="hint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-hint.c"
                 line="184">an #AscHint instance.</doc>
            <type name="Hint" c:type="AscHint*"/>
          </instance-parameter>
          <parameter name="var_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-hint.c"
                 line="185">Name of the variable to be replaced.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="text" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-hint.c"
                 line="186">Replacement for the variable name.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="format_explanation"
              c:identifier="asc_hint_format_explanation">
        <doc xml:space="preserve"
             filename="../compose/asc-hint.c"
             line="227">Formats the explanation template to return a human-redable issue hint
explanation, with all placeholder variables replaced.</doc>
        <source-position filename="../compose/asc-hint.h" line="68"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../compose/asc-hint.c"
               line="234">Explanation text for this hint, with variables replaced.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="hint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-hint.c"
                 line="229">an #AscHint instance.</doc>
            <type name="Hint" c:type="AscHint*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_explanation_template"
              c:identifier="asc_hint_get_explanation_template">
        <doc xml:space="preserve"
             filename="../compose/asc-hint.c"
             line="127">Gets the explanation template for this hint.</doc>
        <source-position filename="../compose/asc-hint.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="hint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-hint.c"
                 line="129">an #AscHint instance.</doc>
            <type name="Hint" c:type="AscHint*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_explanation_vars_list"
              c:identifier="asc_hint_get_explanation_vars_list">
        <doc xml:space="preserve"
             filename="../compose/asc-hint.c"
             line="210">Returns a list with the flattened key/value pairs for this hint.
Values are located in uneven list entries, following their keys in even list entries.</doc>
        <source-position filename="../compose/asc-hint.h" line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-hint.c"
               line="217">A flattened #GPtrArray with the key/value pairs.</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="hint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-hint.c"
                 line="212">an #AscHint instance.</doc>
            <type name="Hint" c:type="AscHint*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_severity" c:identifier="asc_hint_get_severity">
        <doc xml:space="preserve"
             filename="../compose/asc-hint.c"
             line="101">Gets the issue severity of this hint.</doc>
        <source-position filename="../compose/asc-hint.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="AppStream.IssueSeverity" c:type="AsIssueSeverity"/>
        </return-value>
        <parameters>
          <instance-parameter name="hint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-hint.c"
                 line="103">an #AscHint instance.</doc>
            <type name="Hint" c:type="AscHint*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tag" c:identifier="asc_hint_get_tag">
        <doc xml:space="preserve"
             filename="../compose/asc-hint.c"
             line="74">Gets the unique tag for the type of this hint.</doc>
        <source-position filename="../compose/asc-hint.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="hint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-hint.c"
                 line="76">an #AscHint instance.</doc>
            <type name="Hint" c:type="AscHint*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_error" c:identifier="asc_hint_is_error">
        <source-position filename="../compose/asc-hint.h" line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-hint.c"
               line="157">%TRUE if this hint describes an error.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="hint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-hint.c"
                 line="155">an #AscHint instance.</doc>
            <type name="Hint" c:type="AscHint*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_valid" c:identifier="asc_hint_is_valid">
        <doc xml:space="preserve"
             filename="../compose/asc-hint.c"
             line="166">Check if this hint is valid (it requires at least a tag and a severity
in order to be considered valid).</doc>
        <source-position filename="../compose/asc-hint.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-hint.c"
               line="173">%TRUE if this hint is valid.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="hint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-hint.c"
                 line="168">an #AscHint instance.</doc>
            <type name="Hint" c:type="AscHint*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_explanation_template"
              c:identifier="asc_hint_set_explanation_template">
        <doc xml:space="preserve"
             filename="../compose/asc-hint.c"
             line="140">Sets the explanation template for this hint.</doc>
        <source-position filename="../compose/asc-hint.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="hint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-hint.c"
                 line="142">an #AscHint instance.</doc>
            <type name="Hint" c:type="AscHint*"/>
          </instance-parameter>
          <parameter name="explanation_tmpl" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_severity" c:identifier="asc_hint_set_severity">
        <doc xml:space="preserve"
             filename="../compose/asc-hint.c"
             line="114">Sets the issue severity of this hint.</doc>
        <source-position filename="../compose/asc-hint.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="hint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-hint.c"
                 line="116">an #AscHint instance.</doc>
            <type name="Hint" c:type="AscHint*"/>
          </instance-parameter>
          <parameter name="severity" transfer-ownership="none">
            <type name="AppStream.IssueSeverity" c:type="AsIssueSeverity"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tag" c:identifier="asc_hint_set_tag">
        <doc xml:space="preserve"
             filename="../compose/asc-hint.c"
             line="87">Sets the unique tag for the type of this hint.</doc>
        <source-position filename="../compose/asc-hint.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="hint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-hint.c"
                 line="89">an #AscHint instance.</doc>
            <type name="Hint" c:type="AscHint*"/>
          </instance-parameter>
          <parameter name="tag" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="HintClass"
            c:type="AscHintClass"
            glib:is-gtype-struct-for="Hint">
      <source-position filename="../compose/asc-hint.h" line="42"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_as_reserved1" introspectable="0">
        <callback name="_as_reserved1">
          <source-position filename="../compose/asc-hint.h" line="38"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_as_reserved2" introspectable="0">
        <callback name="_as_reserved2">
          <source-position filename="../compose/asc-hint.h" line="39"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_as_reserved3" introspectable="0">
        <callback name="_as_reserved3">
          <source-position filename="../compose/asc-hint.h" line="40"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_as_reserved4" introspectable="0">
        <callback name="_as_reserved4">
          <source-position filename="../compose/asc-hint.h" line="41"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <class name="Image"
           c:symbol-prefix="image"
           c:type="AscImage"
           parent="GObject.Object"
           glib:type-name="AscImage"
           glib:get-type="asc_image_get_type"
           glib:type-struct="ImageClass">
      <source-position filename="../compose/asc-image.h" line="33"/>
      <constructor name="new" c:identifier="asc_image_new">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="181">Creates a new #AscImage.</doc>
        <source-position filename="../compose/asc-image.h" line="124"/>
        <return-value transfer-ownership="full">
          <type name="Image" c:type="AscImage*"/>
        </return-value>
      </constructor>
      <constructor name="new_from_data"
                   c:identifier="asc_image_new_from_data"
                   throws="1">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="410">Creates a new #AscImage from data in memory.</doc>
        <source-position filename="../compose/asc-image.h" line="129"/>
        <return-value transfer-ownership="full">
          <type name="Image" c:type="AscImage*"/>
        </return-value>
        <parameters>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="412">Data to load.</doc>
            <type name="gpointer" c:type="void*"/>
          </parameter>
          <parameter name="len" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="413">Length of the data to load.</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
          <parameter name="dest_size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="414">The size of the constructed pixbuf, or 0 for the native size</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="415">a #AscImageLoadFlags, e.g. %ASC_IMAGE_LOAD_FLAG_NONE</doc>
            <type name="ImageLoadFlags" c:type="AscImageLoadFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_from_file"
                   c:identifier="asc_image_new_from_file"
                   throws="1">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="379">Creates a new #AscImage from a file on the filesystem.</doc>
        <source-position filename="../compose/asc-image.h" line="125"/>
        <return-value transfer-ownership="full">
          <type name="Image" c:type="AscImage*"/>
        </return-value>
        <parameters>
          <parameter name="fname" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="381">Name of the file to load.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="dest_size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="382">The size of the constructed pixbuf, or 0 for the native size</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="383">a #AscImageLoadFlags, e.g. %ASC_IMAGE_LOAD_FLAG_NONE</doc>
            <type name="ImageLoadFlags" c:type="AscImageLoadFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="supported_format_names"
                c:identifier="asc_image_supported_format_names">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="244">Get a set of image format names we can currently read
(via GdkPixbuf).</doc>
        <source-position filename="../compose/asc-image.h" line="122"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../compose/asc-image.c"
               line="250">A hash set of format names.</doc>
          <type name="GLib.HashTable" c:type="GHashTable*">
            <type name="gpointer" c:type="gpointer"/>
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </function>
      <method name="get_height" c:identifier="asc_image_get_height">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="580">Gets the image height.</doc>
        <source-position filename="../compose/asc-image.h" line="158"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="582">an #AscImage instance.</doc>
            <type name="Image" c:type="AscImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_pixbuf" c:identifier="asc_image_get_pixbuf">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="531">Gets the image pixbuf if set.</doc>
        <source-position filename="../compose/asc-image.h" line="153"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-image.c"
               line="537">the #GdkPixbuf, or %NULL</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="533">a #AscImage instance.</doc>
            <type name="Image" c:type="AscImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_width" c:identifier="asc_image_get_width">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="567">Gets the image width.</doc>
        <source-position filename="../compose/asc-image.h" line="157"/>
        <return-value transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="569">an #AscImage instance.</doc>
            <type name="Image" c:type="AscImage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="load_filename"
              c:identifier="asc_image_load_filename"
              throws="1">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="453">Reads an image from a file.</doc>
        <source-position filename="../compose/asc-image.h" line="135"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-image.c"
               line="464">%TRUE for success</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="455">a #AscImage instance.</doc>
            <type name="Image" c:type="AscImage*"/>
          </instance-parameter>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="456">filename to read from</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="dest_size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="457">The size of the constructed pixbuf, or 0 for the native size</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="src_size_min" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="458">The smallest source size allowed, or 0 for none</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="459">a #AscImageLoadFlags, e.g. %ASC_IMAGE_LOAD_FLAG_NONE</doc>
            <type name="ImageLoadFlags" c:type="AscImageLoadFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_filename"
              c:identifier="asc_image_save_filename"
              throws="1">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="764">Saves the image to a file.</doc>
        <source-position filename="../compose/asc-image.h" line="146"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-image.c"
               line="775">%TRUE for success</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="766">a #AscImage instance.</doc>
            <type name="Image" c:type="AscImage*"/>
          </instance-parameter>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="767">filename to write to</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="768">target width, or 0 for default</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="769">target height, or 0 for default</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="770">some #AscImageSaveFlags values, e.g. %ASC_IMAGE_SAVE_FLAG_PAD_16_9</doc>
            <type name="ImageSaveFlags" c:type="AscImageSaveFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_pixbuf" c:identifier="asc_image_save_pixbuf">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="675">Resamples a pixbuf to a specific size.</doc>
        <source-position filename="../compose/asc-image.h" line="142"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="../compose/asc-image.c"
               line="684">A #GdkPixbuf of the specified size</doc>
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </return-value>
        <parameters>
          <instance-parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="677">a #AscImage instance.</doc>
            <type name="Image" c:type="AscImage*"/>
          </instance-parameter>
          <parameter name="width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="678">target width, or 0 for default</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="679">target height, or 0 for default</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="680">some #AscImageSaveFlags values, e.g. %ASC_IMAGE_SAVE_FLAG_PAD_16_9</doc>
            <type name="ImageSaveFlags" c:type="AscImageSaveFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="scale" c:identifier="asc_image_scale">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="593">Scale the image to the given size.</doc>
        <source-position filename="../compose/asc-image.h" line="160"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="595">an #AscImage instance.</doc>
            <type name="Image" c:type="AscImage*"/>
          </instance-parameter>
          <parameter name="new_width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="596">The new width.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="new_height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="597">the new height.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="scale_to_fit" c:identifier="asc_image_scale_to_fit">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="658">Scale the image to fir in a square with the given edge length,
and keep its aspect ratio.</doc>
        <source-position filename="../compose/asc-image.h" line="168"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="660">an #AscImage instance.</doc>
            <type name="Image" c:type="AscImage*"/>
          </instance-parameter>
          <parameter name="size" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="661">the maximum edge length.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="scale_to_height" c:identifier="asc_image_scale_to_height">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="639">Scale the image to the given height, preserving
its aspect ratio.</doc>
        <source-position filename="../compose/asc-image.h" line="166"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="641">an #AscImage instance.</doc>
            <type name="Image" c:type="AscImage*"/>
          </instance-parameter>
          <parameter name="new_height" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="642">the new height.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="scale_to_width" c:identifier="asc_image_scale_to_width">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="620">Scale the image to the given width, preserving
its aspect ratio.</doc>
        <source-position filename="../compose/asc-image.h" line="164"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="622">an #AscImage instance.</doc>
            <type name="Image" c:type="AscImage*"/>
          </instance-parameter>
          <parameter name="new_width" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="623">The new width.</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_pixbuf" c:identifier="asc_image_set_pixbuf">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="547">Sets the image pixbuf.</doc>
        <source-position filename="../compose/asc-image.h" line="154"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="549">a #AscImage instance.</doc>
            <type name="Image" c:type="AscImage*"/>
          </instance-parameter>
          <parameter name="pixbuf" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="550">the #GdkPixbuf, or %NULL</doc>
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="ImageClass"
            c:type="AscImageClass"
            glib:is-gtype-struct-for="Image">
      <source-position filename="../compose/asc-image.h" line="33"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="ImageError"
                 glib:type-name="AscImageError"
                 glib:get-type="asc_image_error_get_type"
                 c:type="AscImageError"
                 glib:error-domain="AscImageError">
      <doc xml:space="preserve"
           filename="../compose/asc-image.h"
           line="101">An image processing error.</doc>
      <member name="failed"
              value="0"
              c:identifier="ASC_IMAGE_ERROR_FAILED"
              glib:nick="failed">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="103">Generic failure.</doc>
      </member>
      <member name="last"
              value="1"
              c:identifier="ASC_IMAGE_ERROR_LAST"
              glib:nick="last">
      </member>
      <function name="quark" c:identifier="asc_image_error_quark">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-image.c"
               line="54">An error quark.</doc>
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <enumeration name="ImageFormat"
                 glib:type-name="AscImageFormat"
                 glib:get-type="asc_image_format_get_type"
                 c:type="AscImageFormat">
      <doc xml:space="preserve"
           filename="../compose/asc-image.h"
           line="73">File format of an image.</doc>
      <member name="unknown"
              value="0"
              c:identifier="ASC_IMAGE_FORMAT_UNKNOWN"
              glib:nick="unknown">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="75">Unknown image format.</doc>
      </member>
      <member name="png"
              value="1"
              c:identifier="ASC_IMAGE_FORMAT_PNG"
              glib:nick="png">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="76">PNG format</doc>
      </member>
      <member name="jpeg"
              value="2"
              c:identifier="ASC_IMAGE_FORMAT_JPEG"
              glib:nick="jpeg">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="77">JPEG format</doc>
      </member>
      <member name="gif"
              value="3"
              c:identifier="ASC_IMAGE_FORMAT_GIF"
              glib:nick="gif">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="78">GIF format</doc>
      </member>
      <member name="svg"
              value="4"
              c:identifier="ASC_IMAGE_FORMAT_SVG"
              glib:nick="svg">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="79">SVG format</doc>
      </member>
      <member name="svgz"
              value="5"
              c:identifier="ASC_IMAGE_FORMAT_SVGZ"
              glib:nick="svgz">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="80">Compressed SVG format</doc>
      </member>
      <member name="webp"
              value="6"
              c:identifier="ASC_IMAGE_FORMAT_WEBP"
              glib:nick="webp">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="81">WebP format</doc>
      </member>
      <member name="avif"
              value="7"
              c:identifier="ASC_IMAGE_FORMAT_AVIF"
              glib:nick="avif">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="82">AVIF format</doc>
      </member>
      <member name="xpm"
              value="8"
              c:identifier="ASC_IMAGE_FORMAT_XPM"
              glib:nick="xpm">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="83">XPM format</doc>
      </member>
      <member name="last"
              value="9"
              c:identifier="ASC_IMAGE_FORMAT_LAST"
              glib:nick="last">
      </member>
      <function name="from_filename"
                c:identifier="asc_image_format_from_filename">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="125">Returns the image format type based on the given file's filename.</doc>
        <source-position filename="../compose/asc-image.h" line="118"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-image.c"
               line="131">a #AscImageFormat or %ASC_IMAGE_FORMAT_UNKNOWN for unknown</doc>
          <type name="ImageFormat" c:type="AscImageFormat"/>
        </return-value>
        <parameters>
          <parameter name="fname" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="127">the filename.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="from_string" c:identifier="asc_image_format_from_string">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="95">Converts the text representation to an enumerated value.</doc>
        <source-position filename="../compose/asc-image.h" line="117"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-image.c"
               line="101">a #AscImageFormat or %ASC_IMAGE_FORMAT_UNKNOWN for unknown</doc>
          <type name="ImageFormat" c:type="AscImageFormat"/>
        </return-value>
        <parameters>
          <parameter name="str" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="97">the string.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="to_string" c:identifier="asc_image_format_to_string">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="65">Converts the enumerated value to an text representation.</doc>
        <source-position filename="../compose/asc-image.h" line="116"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-image.c"
               line="71">string version of @format</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-image.c"
                 line="67">the %AscImageFormat.</doc>
            <type name="ImageFormat" c:type="AscImageFormat"/>
          </parameter>
        </parameters>
      </function>
    </enumeration>
    <bitfield name="ImageLoadFlags"
              glib:type-name="AscImageLoadFlags"
              glib:get-type="asc_image_load_flags_get_type"
              c:type="AscImageLoadFlags">
      <doc xml:space="preserve"
           filename="../compose/asc-image.h"
           line="55">The flags used for loading images.</doc>
      <member name="none"
              value="0"
              c:identifier="ASC_IMAGE_LOAD_FLAG_NONE"
              glib:nick="none">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="57">No special flags set</doc>
      </member>
      <member name="sharpen"
              value="1"
              c:identifier="ASC_IMAGE_LOAD_FLAG_SHARPEN"
              glib:nick="sharpen">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="58">Sharpen the resulting image</doc>
      </member>
      <member name="allow_unsupported"
              value="2"
              c:identifier="ASC_IMAGE_LOAD_FLAG_ALLOW_UNSUPPORTED"
              glib:nick="allow-unsupported">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="59">Allow loading of unsupported image types.</doc>
      </member>
      <member name="always_resize"
              value="4"
              c:identifier="ASC_IMAGE_LOAD_FLAG_ALWAYS_RESIZE"
              glib:nick="always-resize">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="60">Always resize the source image to the perfect size</doc>
      </member>
      <member name="last"
              value="5"
              c:identifier="ASC_IMAGE_LOAD_FLAG_LAST"
              glib:nick="last">
      </member>
    </bitfield>
    <bitfield name="ImageSaveFlags"
              glib:type-name="AscImageSaveFlags"
              glib:get-type="asc_image_save_flags_get_type"
              c:type="AscImageSaveFlags">
      <doc xml:space="preserve"
           filename="../compose/asc-image.h"
           line="35">The flags used for saving images.</doc>
      <member name="none"
              value="0"
              c:identifier="ASC_IMAGE_SAVE_FLAG_NONE"
              glib:nick="none">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="37">No special flags set</doc>
      </member>
      <member name="optimize"
              value="1"
              c:identifier="ASC_IMAGE_SAVE_FLAG_OPTIMIZE"
              glib:nick="optimize">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="38">Optimize generated PNG for size</doc>
      </member>
      <member name="pad_16_9"
              value="2"
              c:identifier="ASC_IMAGE_SAVE_FLAG_PAD_16_9"
              glib:nick="pad-16-9">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="39">Pad with alpha to 16:9 aspect</doc>
      </member>
      <member name="sharpen"
              value="4"
              c:identifier="ASC_IMAGE_SAVE_FLAG_SHARPEN"
              glib:nick="sharpen">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="40">Sharpen the image to clarify detail</doc>
      </member>
      <member name="blur"
              value="8"
              c:identifier="ASC_IMAGE_SAVE_FLAG_BLUR"
              glib:nick="blur">
        <doc xml:space="preserve"
             filename="../compose/asc-image.h"
             line="41">Blur the image to clear detail</doc>
      </member>
      <member name="last"
              value="9"
              c:identifier="ASC_IMAGE_SAVE_FLAG_LAST"
              glib:nick="last">
      </member>
    </bitfield>
    <class name="Result"
           c:symbol-prefix="result"
           c:type="AscResult"
           parent="GObject.Object"
           glib:type-name="AscResult"
           glib:get-type="asc_result_get_type"
           glib:type-struct="ResultClass">
      <source-position filename="../compose/asc-result.h" line="42"/>
      <constructor name="new" c:identifier="asc_result_new">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="755">Creates a new #AscResult.</doc>
        <source-position filename="../compose/asc-result.h" line="44"/>
        <return-value transfer-ownership="full">
          <type name="Result" c:type="AscResult*"/>
        </return-value>
      </constructor>
      <method name="add_component"
              c:identifier="asc_result_add_component"
              throws="1">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="405">Add component to the results set.</doc>
        <source-position filename="../compose/asc-result.h" line="78"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="414">%TRUE on success.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="407">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
          <parameter name="cpt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="408">The #AsComponent to add.</doc>
            <type name="AppStream.Component" c:type="AsComponent*"/>
          </parameter>
          <parameter name="bytes" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="409">Source data used to generate the GCID hash, or %NULL if nonexistent.</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_component_with_string"
              c:identifier="asc_result_add_component_with_string"
              throws="1">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="456">Add component to the results set, using string data.</doc>
        <source-position filename="../compose/asc-result.h" line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="465">%TRUE on success.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="458">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
          <parameter name="cpt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="459">The #AsComponent to add.</doc>
            <type name="AppStream.Component" c:type="AsComponent*"/>
          </parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="460">Source data used to generate the GCID hash, or %NULL if nonexistent.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_hint"
              c:identifier="asc_result_add_hint"
              shadowed-by="add_hint_v"
              introspectable="0">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="638">Add an issue hint for a component.</doc>
        <source-position filename="../compose/asc-result.h" line="101"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="648">%TRUE if the added hint did not cause the component to be invalidated.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="640">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
          <parameter name="cpt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="641">The affected #AsComponent</doc>
            <type name="AppStream.Component" c:type="AsComponent*"/>
          </parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="642">AppStream Compose Issue hint tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="key1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="643">First key to add a value for, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="644">replacement keys and values for the issue explanation, terminated by %NULL</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="add_hint_by_cid"
              c:identifier="asc_result_add_hint_by_cid"
              shadowed-by="add_hint_by_cid_v"
              introspectable="0">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="579">Add an issue hint for a component.</doc>
        <source-position filename="../compose/asc-result.h" line="91"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="589">%TRUE if the added hint did not cause the component to be invalidated.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="581">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
          <parameter name="component_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="582">The component-ID of the affected #AsComponent</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="583">AppStream Compose Issue hint tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="key1" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="584">First key to add a value for, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="585">replacement keys and values for the issue explanation, terminated by %NULL</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="add_hint_by_cid_v"
              c:identifier="asc_result_add_hint_by_cid_v"
              shadows="add_hint_by_cid">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="609">Add an issue hint for a component.</doc>
        <source-position filename="../compose/asc-result.h" line="96"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="618">%TRUE if the added hint did not cause the component to be invalidated.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="611">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
          <parameter name="component_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="612">The component-ID of the affected #AsComponent</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="613">AppStream Compose Issue hint tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="kv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="614">List of key-value pairs for replacement variables.</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_hint_simple"
              c:identifier="asc_result_add_hint_simple"
              introspectable="0">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="681">Add an issue hint which does not have any variables to replace in its
explanation text for a component.</doc>
        <source-position filename="../compose/asc-result.h" line="106"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="690">%TRUE if the added hint did not cause the component to be invalidated.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="683">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
          <parameter name="cpt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="684">The affected #AsComponent</doc>
            <type name="AppStream.Component" c:type="AsComponent*"/>
          </parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="685">AppStream Compose Issue hint tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_hint_v"
              c:identifier="asc_result_add_hint_v"
              shadows="add_hint">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="714">Add an issue hint for a component.</doc>
        <source-position filename="../compose/asc-result.h" line="109"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="723">%TRUE if the added hint did not cause the component to be invalidated.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="716">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
          <parameter name="cpt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="717">The affected #AsComponent</doc>
            <type name="AppStream.Component" c:type="AsComponent*"/>
          </parameter>
          <parameter name="tag" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="718">AppStream Compose Issue hint tag</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="kv" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="719">List of key-value pairs for replacement variables.</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="components_count"
              c:identifier="asc_result_components_count">
        <source-position filename="../compose/asc-result.h" line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="114">The amount of components found for this unit.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="112">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="fetch_components"
              c:identifier="asc_result_fetch_components">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="214">Gets all components this #AsResult instance contains.</doc>
        <source-position filename="../compose/asc-result.h" line="60"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="220">An array of #AsComponent</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="AppStream.Component"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="216">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="gcid_for_cid" c:identifier="asc_result_gcid_for_cid">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="350">Retrieve the global component-ID string for the given component-ID,
as long as component with the given ID is registered with this #AscResult.
Otherwise, %NULL is returned.</doc>
        <source-position filename="../compose/asc-result.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="352">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
          <parameter name="cid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="353">Component ID to look for.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="gcid_for_component"
              c:identifier="asc_result_gcid_for_component">
        <source-position filename="../compose/asc-result.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
          <parameter name="cpt" transfer-ownership="none">
            <type name="AppStream.Component" c:type="AsComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_bundle_id" c:identifier="asc_result_get_bundle_id">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="169">Gets the ID name of the bundle (a package / Flatpak / any entity containing metadata)
that these these results are generated for.</doc>
        <source-position filename="../compose/asc-result.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="171">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_bundle_kind" c:identifier="asc_result_get_bundle_kind">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="143">Gets the bundle kind these results are for.</doc>
        <source-position filename="../compose/asc-result.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="AppStream.BundleKind" c:type="AsBundleKind"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="145">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_component" c:identifier="asc_result_get_component">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="198">Gets the component by its component-id-</doc>
        <source-position filename="../compose/asc-result.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="205">An #AsComponent</doc>
          <type name="AppStream.Component" c:type="AsComponent*"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="200">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
          <parameter name="cid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="201">Component ID to look for.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_component_gcids"
              c:identifier="asc_result_get_component_gcids">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="381">Retrieve a list of all global component-IDs that this result knows of.</doc>
        <source-position filename="../compose/asc-result.h" line="76"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="387">An array of global component IDs. Free with %g_free</doc>
          <array c:type="const gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="383">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_component_ids_with_hints"
              c:identifier="asc_result_get_component_ids_with_hints">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="255">Gets list of component-IDs which do have issue hints associated with them.</doc>
        <source-position filename="../compose/asc-result.h" line="63"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="261">An array of component-IDs. Free container with %g_free</doc>
          <array c:type="const gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="257">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_hints" c:identifier="asc_result_get_hints">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="239">Gets hints for a component with the given component-id.</doc>
        <source-position filename="../compose/asc-result.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="246">An array of #AscHint or %NULL</doc>
          <array name="GLib.PtrArray" c:type="GPtrArray*">
            <type name="Hint"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="241">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
          <parameter name="cid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="242">Component ID to look for.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="hints_count" c:identifier="asc_result_hints_count">
        <source-position filename="../compose/asc-result.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="127">The amount of hints emitted for this unit.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="125">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_component"
              c:identifier="asc_result_remove_component">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="474">Remove a component from the results set.</doc>
        <source-position filename="../compose/asc-result.h" line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="481">%TRUE if the component was found and removed.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="476">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
          <parameter name="cpt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="477">The #AsComponent to remove.</doc>
            <type name="AppStream.Component" c:type="AsComponent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_component_by_id"
              c:identifier="asc_result_remove_component_by_id">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="497">Remove a component from the results set.</doc>
        <source-position filename="../compose/asc-result.h" line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="504">%TRUE if the component was found and removed.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="499">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
          <parameter name="cid" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="500">a component-ID</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_bundle_id" c:identifier="asc_result_set_bundle_id">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="183">Sets the name of the bundle these results are for.</doc>
        <source-position filename="../compose/asc-result.h" line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="185">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="186">The new ID.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_bundle_kind" c:identifier="asc_result_set_bundle_kind">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="156">Sets the kind of the bundle these results are for.</doc>
        <source-position filename="../compose/asc-result.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="158">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
          <parameter name="kind" transfer-ownership="none">
            <type name="AppStream.BundleKind" c:type="AsBundleKind"/>
          </parameter>
        </parameters>
      </method>
      <method name="unit_ignored" c:identifier="asc_result_unit_ignored">
        <source-position filename="../compose/asc-result.h" line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="101">%TRUE if this result means the analyzed unit was ignored entirely..</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="99">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="update_component_gcid"
              c:identifier="asc_result_update_component_gcid">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="270">Update the global component ID for the given component.</doc>
        <source-position filename="../compose/asc-result.h" line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="278">%TRUE if the component existed and was updated.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="272">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
          <parameter name="cpt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="273">The #AsComponent to edit.</doc>
            <type name="AppStream.Component" c:type="AsComponent*"/>
          </parameter>
          <parameter name="bytes"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="274">The data to include in the global component ID, or %NULL</doc>
            <type name="GLib.Bytes" c:type="GBytes*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_component_gcid_with_string"
              c:identifier="asc_result_update_component_gcid_with_string">
        <doc xml:space="preserve"
             filename="../compose/asc-result.c"
             line="332">Update the global component ID for the given component.
This is a convenience method for %asc_result_update_component_gcid</doc>
        <source-position filename="../compose/asc-result.h" line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-result.c"
               line="341">%TRUE if the component existed and was updated.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="334">an #AscResult instance.</doc>
            <type name="Result" c:type="AscResult*"/>
          </instance-parameter>
          <parameter name="cpt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="335">The #AsComponent to edit.</doc>
            <type name="AppStream.Component" c:type="AsComponent*"/>
          </parameter>
          <parameter name="data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="../compose/asc-result.c"
                 line="336">The data as string to include in the global component ID, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="ResultClass"
            c:type="AscResultClass"
            glib:is-gtype-struct-for="Result">
      <source-position filename="../compose/asc-result.h" line="42"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="_as_reserved1" introspectable="0">
        <callback name="_as_reserved1">
          <source-position filename="../compose/asc-result.h" line="38"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_as_reserved2" introspectable="0">
        <callback name="_as_reserved2">
          <source-position filename="../compose/asc-result.h" line="39"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_as_reserved3" introspectable="0">
        <callback name="_as_reserved3">
          <source-position filename="../compose/asc-result.h" line="40"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_as_reserved4" introspectable="0">
        <callback name="_as_reserved4">
          <source-position filename="../compose/asc-result.h" line="41"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <function name="build_component_global_id"
              c:identifier="asc_build_component_global_id">
      <doc xml:space="preserve"
           filename="../compose/asc-utils.c"
           line="32">Builds a global component ID from a component-id
and a (usually MD5) checksum generated from the component data.

The global-id is used as a global, unique identifier for a component.
(while the component-ID is local, e.g. for one source).
Its primary usecase is to identify a media directory on the filesystem which is
associated with this component.</doc>
      <source-position filename="../compose/asc-utils.h" line="31"/>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="component_id" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-utils.c"
               line="34">an AppStream component ID.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="checksum" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-utils.c"
               line="35">a MD5 hashsum as string generated from the component's combined metadata.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="canvas_error_quark"
              c:identifier="asc_canvas_error_quark"
              moved-to="CanvasError.quark">
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../compose/asc-canvas.c"
             line="57">An error quark.</doc>
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="compose_error_quark"
              c:identifier="asc_compose_error_quark"
              moved-to="ComposeError.quark">
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../compose/asc-globals.c"
             line="63">An error quark.</doc>
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="font_error_quark"
              c:identifier="asc_font_error_quark"
              moved-to="FontError.quark">
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../compose/asc-font.c"
             line="78">An error quark.</doc>
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="globals_add_hint_tag"
              c:identifier="asc_globals_add_hint_tag">
      <doc xml:space="preserve"
           filename="../compose/asc-globals.c"
           line="322">Register a new hint tag. If a previous tag with the given name
already existed, the existing tag will not be replaced.</doc>
      <source-position filename="../compose/asc-globals.h" line="56"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../compose/asc-globals.c"
             line="328">%TRUE if the tag was registered and did not exist previously.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="tag" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="severity" transfer-ownership="none">
          <type name="AppStream.IssueSeverity" c:type="AsIssueSeverity"/>
        </parameter>
        <parameter name="explanation" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="globals_get_hint_tags"
              c:identifier="asc_globals_get_hint_tags">
      <doc xml:space="preserve"
           filename="../compose/asc-globals.c"
           line="369">Retrieve all hint tags that we know.</doc>
      <source-position filename="../compose/asc-globals.h" line="59"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="../compose/asc-globals.c"
             line="374">A list of valid hint tags. Free with %g_strfreev</doc>
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
    </function>
    <function name="globals_get_optipng_binary"
              c:identifier="asc_globals_get_optipng_binary">
      <doc xml:space="preserve"
           filename="../compose/asc-globals.c"
           line="196">Get path to the "optipng" binary we should use.</doc>
      <source-position filename="../compose/asc-globals.h" line="53"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
    </function>
    <function name="globals_get_tmp_dir"
              c:identifier="asc_globals_get_tmp_dir">
      <doc xml:space="preserve"
           filename="../compose/asc-globals.c"
           line="133">Get temporary directory used by appstream-compose.</doc>
      <source-position filename="../compose/asc-globals.h" line="46"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
    </function>
    <function name="globals_get_tmp_dir_create"
              c:identifier="asc_globals_get_tmp_dir_create">
      <doc xml:space="preserve"
           filename="../compose/asc-globals.c"
           line="145">Get temporary directory used by appstream-compose
and try to create it if it does not exist.</doc>
      <source-position filename="../compose/asc-globals.h" line="47"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
    </function>
    <function name="globals_get_use_optipng"
              c:identifier="asc_globals_get_use_optipng">
      <doc xml:space="preserve"
           filename="../compose/asc-globals.c"
           line="172">Get whether images should be optimized using optipng.</doc>
      <source-position filename="../compose/asc-globals.h" line="50"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="globals_hint_tag_explanation"
              c:identifier="asc_globals_hint_tag_explanation">
      <doc xml:space="preserve"
           filename="../compose/asc-globals.c"
           line="415">Retrieve the explanation template of the given hint tag.</doc>
      <source-position filename="../compose/asc-globals.h" line="61"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../compose/asc-globals.c"
             line="420">An explanation template, or %NULL if the tag was not found.</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="tag" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="globals_hint_tag_severity"
              c:identifier="asc_globals_hint_tag_severity">
      <doc xml:space="preserve"
           filename="../compose/asc-globals.c"
           line="398">Retrieve the severity of the given hint tag.</doc>
      <source-position filename="../compose/asc-globals.h" line="60"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../compose/asc-globals.c"
             line="403">An #AsIssueSeverity or %AS_ISSUE_SEVERITY_UNKNOWN if the tag did not exist
         or has an unknown severity.</doc>
        <type name="AppStream.IssueSeverity" c:type="AsIssueSeverity"/>
      </return-value>
      <parameters>
        <parameter name="tag" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="globals_set_optipng_binary"
              c:identifier="asc_globals_set_optipng_binary">
      <doc xml:space="preserve"
           filename="../compose/asc-globals.c"
           line="208">Set path to the "optipng" binary we should use.</doc>
      <source-position filename="../compose/asc-globals.h" line="54"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="path" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="globals_set_tmp_dir"
              c:identifier="asc_globals_set_tmp_dir">
      <doc xml:space="preserve"
           filename="../compose/asc-globals.c"
           line="159">Set temporary directory used by appstream-compose.</doc>
      <source-position filename="../compose/asc-globals.h" line="48"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="path" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="globals_set_use_optipng"
              c:identifier="asc_globals_set_use_optipng">
      <doc xml:space="preserve"
           filename="../compose/asc-globals.c"
           line="184">Set whether images should be optimized using optipng.</doc>
      <source-position filename="../compose/asc-globals.h" line="51"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="enabled" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
      </parameters>
    </function>
    <function name="image_error_quark"
              c:identifier="asc_image_error_quark"
              moved-to="ImageError.quark">
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="54">An error quark.</doc>
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="image_format_from_filename"
              c:identifier="asc_image_format_from_filename"
              moved-to="ImageFormat.from_filename">
      <doc xml:space="preserve"
           filename="../compose/asc-image.c"
           line="125">Returns the image format type based on the given file's filename.</doc>
      <source-position filename="../compose/asc-image.h" line="118"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="131">a #AscImageFormat or %ASC_IMAGE_FORMAT_UNKNOWN for unknown</doc>
        <type name="ImageFormat" c:type="AscImageFormat"/>
      </return-value>
      <parameters>
        <parameter name="fname" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-image.c"
               line="127">the filename.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="image_format_from_string"
              c:identifier="asc_image_format_from_string"
              moved-to="ImageFormat.from_string">
      <doc xml:space="preserve"
           filename="../compose/asc-image.c"
           line="95">Converts the text representation to an enumerated value.</doc>
      <source-position filename="../compose/asc-image.h" line="117"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="101">a #AscImageFormat or %ASC_IMAGE_FORMAT_UNKNOWN for unknown</doc>
        <type name="ImageFormat" c:type="AscImageFormat"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-image.c"
               line="97">the string.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="image_format_to_string"
              c:identifier="asc_image_format_to_string"
              moved-to="ImageFormat.to_string">
      <doc xml:space="preserve"
           filename="../compose/asc-image.c"
           line="65">Converts the enumerated value to an text representation.</doc>
      <source-position filename="../compose/asc-image.h" line="116"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="../compose/asc-image.c"
             line="71">string version of @format</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-image.c"
               line="67">the %AscImageFormat.</doc>
          <type name="ImageFormat" c:type="AscImageFormat"/>
        </parameter>
      </parameters>
    </function>
    <function name="optimize_png" c:identifier="asc_optimize_png" throws="1">
      <doc xml:space="preserve"
           filename="../compose/asc-image.c"
           line="194">Optimizes a PNG graphic for size with optipng, if its binary
is available and this feature is enabled.</doc>
      <source-position filename="../compose/asc-image.h" line="120"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="fname" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-image.c"
               line="196">Filename of the PNG image to optimize.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="parse_metainfo_data"
              c:identifier="asc_parse_metainfo_data">
      <doc xml:space="preserve"
           filename="../compose/asc-utils-metainfo.c"
           line="36">Parses metaInfo XML into a new #AsComponent and records any issues in
an #AscResult.</doc>
      <source-position filename="../compose/asc-utils-metainfo.h" line="31"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="../compose/asc-utils-metainfo.c"
             line="46">A new #AsComponent or %NULL if we refused to accept this data.</doc>
        <type name="AppStream.Component" c:type="AsComponent*"/>
      </return-value>
      <parameters>
        <parameter name="cres" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-utils-metainfo.c"
               line="38">an #AscResult instance.</doc>
          <type name="Result" c:type="AscResult*"/>
        </parameter>
        <parameter name="mdata" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-utils-metainfo.c"
               line="39">an #AsMetadata instance used for parsing.</doc>
          <type name="AppStream.Metadata" c:type="AsMetadata*"/>
        </parameter>
        <parameter name="bytes" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-utils-metainfo.c"
               line="40">the data to parse.</doc>
          <type name="GLib.Bytes" c:type="GBytes*"/>
        </parameter>
        <parameter name="mi_basename" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-utils-metainfo.c"
               line="41">the basename of the MetaInfo file we are loading.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="parse_metainfo_data_simple"
              c:identifier="asc_parse_metainfo_data_simple">
      <doc xml:space="preserve"
           filename="../compose/asc-utils-metainfo.c"
           line="108">Parses metaInfo XML into a new #AsComponent and records any issues in
an #AscResult.</doc>
      <source-position filename="../compose/asc-utils-metainfo.h" line="35"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="../compose/asc-utils-metainfo.c"
             line="117">A new #AsComponent or %NULL if we refused to accept this data.</doc>
        <type name="AppStream.Component" c:type="AsComponent*"/>
      </return-value>
      <parameters>
        <parameter name="cres" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-utils-metainfo.c"
               line="110">an #AscResult instance.</doc>
          <type name="Result" c:type="AscResult*"/>
        </parameter>
        <parameter name="bytes" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-utils-metainfo.c"
               line="111">the data to parse.</doc>
          <type name="GLib.Bytes" c:type="GBytes*"/>
        </parameter>
        <parameter name="mi_basename" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-utils-metainfo.c"
               line="112">the basename of the MetaInfo file we are loading.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="pixbuf_blur" c:identifier="asc_pixbuf_blur">
      <source-position filename="../compose/asc-image.h" line="171"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="src" transfer-ownership="none">
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </parameter>
        <parameter name="radius" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="iterations" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="pixbuf_sharpen" c:identifier="asc_pixbuf_sharpen">
      <source-position filename="../compose/asc-image.h" line="174"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="src" transfer-ownership="none">
          <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
        </parameter>
        <parameter name="radius" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="amount" transfer-ownership="none">
          <type name="gdouble" c:type="gdouble"/>
        </parameter>
      </parameters>
    </function>
    <function name="validate_metainfo_data_for_component"
              c:identifier="asc_validate_metainfo_data_for_component">
      <doc xml:space="preserve"
           filename="../compose/asc-utils-metainfo.c"
           line="133">Validates MetaInfo data for the given component and stores the validation result as issue hints
in the given #AscResult.
Both the result as well as the validator's state may be modified by this function.</doc>
      <source-position filename="../compose/asc-utils-metainfo.h" line="39"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="cres" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-utils-metainfo.c"
               line="135">an #AscResult instance.</doc>
          <type name="Result" c:type="AscResult*"/>
        </parameter>
        <parameter name="validator" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-utils-metainfo.c"
               line="136">an #AsValidator to validate with.</doc>
          <type name="AppStream.Validator" c:type="AsValidator*"/>
        </parameter>
        <parameter name="cpt" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-utils-metainfo.c"
               line="137">the loaded #AsComponent which we are validating</doc>
          <type name="AppStream.Component" c:type="AsComponent*"/>
        </parameter>
        <parameter name="bytes" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-utils-metainfo.c"
               line="138">the data @cpt was constructed from.</doc>
          <type name="GLib.Bytes" c:type="GBytes*"/>
        </parameter>
        <parameter name="mi_basename" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="../compose/asc-utils-metainfo.c"
               line="139">the basename of the MetaInfo file we are analyzing.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
