<?xml version="1.0"?>
<metadata>

<!-- constructor collision hints -->
<rule>
  <class name="GdkPixbuf">
    <constructor>gdk_pixbuf_new_from_file</constructor>
  </class>
  <data>
    <attribute target="method">
      <name>preferred</name>
      <value>1</value>
    </attribute>
  </data>
</rule>

<!-- array hints -->
<rule>
  <class name="GdkPixbufLoader">
    <method>Write</method>
  </class>
  <data>
    <attribute target="param">
      <filter level="type">const-guchar*</filter>
        <name>array</name>
     <value>1</value>
    </attribute>
 </data>
</rule>

<!-- null args -->
<rule>
  <class name="GdkPixmap">
    <constructor>gdk_pixmap_new</constructor>
  </class>
  <data>
    <attribute target="param">
      <filter level="type">GdkWindow*</filter>
      <name>null_ok</name>
      <value>1</value>
    </attribute>
  </data>
</rule>

<!-- API hacks -->
<rule>
  <class name="GdkBitmap"/>
  <class name="GdkPixmap"/>
  <class name="GdkWindow"/>
  <data>
    <attribute target="class">
      <name>parent</name>
      <value>GdkDrawable</value>
    </attribute>
  </data>
</rule>
<rule>
  <class name="GdkPixmapObject"/>
  <class name="GdkWindowObject"/>
  <data>
    <attribute target="class">
	 	<delete/>
    </attribute>
  </data>
</rule>
<rule>
  <class name="GdkPixbuf">
    <method>RenderThresholdAlpha</method>
    <method>RenderToDrawable</method>
    <method>RenderToDrawableAlpha</method>
    <method>RenderPixmapAndMaskForColormap</method>
    <method>RenderPixmapAndMask</method>
    <method>GetFromDrawable</method>
    <method>GetFromImage</method>
  </class>
  <data>
    <attribute target="method">
	   <name>library</name>
	   <value>gdk-x11-2.0</value>
	 </attribute>
  </data>
</rule>

<!-- ref parameters -->
<rule>
  <class name="GdkColor">
    <method>Parse</method>
  </class>
  <data>
    <attribute target="param">
      <filter level="type">GdkColor*</filter>
      <name>pass_as</name>
      <value>ref</value>
    </attribute>
  </data>
</rule>

<!-- out parameters -->
<rule>
  <class name="GdkWindow">
    <method>GetPointer</method>
  </class>
  <data>
    <attribute target="param">
      <filter level="type">gint*</filter>
      <name>pass_as</name>
      <value>out</value>
    </attribute>
  </data>
</rule>
<rule>
  <class name="GdkWindow">
    <method>GetPointer</method>
  </class>
  <data>
    <attribute target="param">
      <filter level="type">GdkModifierType*</filter>
      <name>pass_as</name>
      <value>out</value>
    </attribute>
  </data>
</rule>
<rule>
  <class name="GdkDrawable">
    <method>GetSize</method>
  </class>
  <data>
    <attribute target="param">
      <filter level="type">gint*</filter>
      <name>pass_as</name>
      <value>out</value>
    </attribute>
  </data>
</rule>

<!-- hides -->
<rule>
  <class name="GdkPixbuf">
    <method>AddAlpha</method>
    <method>ScaleSimple</method>
    <method>CompositeColorSimple</method>
  </class>
  <data>
    <attribute target="method">
      <name>hidden</name>
      <value>1</value>
    </attribute>
  </data>

</rule>

<rule>
  <class name="GdkPixbufLoader">
  	<method>GetPixbuf</method>
  </class>
  <data>
    <attribute target="method">
      <name>needs_ref</name>
      <value>1</value>
    </attribute>
  </data>
</rule>

</metadata>
