gimp r26644 - in branches/soc-2008-python: . plug-ins/pygimp plug-ins/pygimp/doc plug-ins/pygimp/doc/html plug-ins/pygimp/doc/reference plug-ins/pygimp/doc/xsl



Author: larsc
Date: Mon Aug 18 15:13:47 2008
New Revision: 26644
URL: http://svn.gnome.org/viewvc/gimp?rev=26644&view=rev

Log:
2008-08-18  Lars-Peter Clausen  <lars metafoo de>

	Add new documenation based on the pygobject documentation system.

	* configure.in
	* plug-ins/pygimp/Makefile.am
	* plug-ins/pygimp/doc/Makefile.am
	* plug-ins/pygimp/doc/html
	* plug-ins/pygimp/doc/html/style.css
	* plug-ins/pygimp/doc/xsl
	* plug-ins/pygimp/doc/xsl/ref-html-style.xsl
	* plug-ins/pygimp/doc/xsl/fixxref.py.in
	* plug-ins/pygimp/doc/xsl/html.xsl
	* plug-ins/pygimp/doc/xsl/devhelp.xsl
	* plug-ins/pygimp/doc/xsl/pdf-style.xsl
	* plug-ins/pygimp/doc/xsl/common.xsl
	* plug-ins/pygimp/doc/xsl/pdf.xsl
	* plug-ins/pygimp/doc/Makefile.am
	* plug-ins/pygimp/doc/reference
	* plug-ins/pygimp/doc/reference/pygimp-classes.xml
	* plug-ins/pygimp/doc/reference/pygimp-pixel-fetcher.xml
	* plug-ins/pygimp/doc/reference/entities.docbook
	* plug-ins/pygimp/doc/reference/pygimp-drawable.xml
	* plug-ins/pygimp/doc/reference/pygimp.xml
	* plug-ins/pygimp/doc/reference/pygimp-image.xml
	* plug-ins/pygimp/doc/reference/pygimp-pixel-rgn.xml
	* plug-ins/pygimp/doc/reference/entities.docbook.in
	* plug-ins/pygimp/doc/reference/pygimp-channel.xml
	* plug-ins/pygimp/doc/reference/pygimp-parasite.xml
	* plug-ins/pygimp/doc/reference/pygimp-ref.xml
	* plug-ins/pygimp/doc/reference/pygimp-layer.xml



Added:
   branches/soc-2008-python/plug-ins/pygimp/doc/html/
   branches/soc-2008-python/plug-ins/pygimp/doc/html/style.css
   branches/soc-2008-python/plug-ins/pygimp/doc/reference/
   branches/soc-2008-python/plug-ins/pygimp/doc/reference/entities.docbook
   branches/soc-2008-python/plug-ins/pygimp/doc/reference/entities.docbook.in
   branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-channel.xml
   branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-classes.xml
   branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-drawable.xml
   branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-image.xml
   branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-layer.xml
   branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-parasite.xml
   branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-pixel-fetcher.xml
   branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-pixel-rgn.xml
   branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-ref.xml
   branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp.xml
   branches/soc-2008-python/plug-ins/pygimp/doc/xsl/
   branches/soc-2008-python/plug-ins/pygimp/doc/xsl/common.xsl
   branches/soc-2008-python/plug-ins/pygimp/doc/xsl/devhelp.xsl
   branches/soc-2008-python/plug-ins/pygimp/doc/xsl/fixxref.py.in
   branches/soc-2008-python/plug-ins/pygimp/doc/xsl/html.xsl
   branches/soc-2008-python/plug-ins/pygimp/doc/xsl/pdf-style.xsl
   branches/soc-2008-python/plug-ins/pygimp/doc/xsl/pdf.xsl
   branches/soc-2008-python/plug-ins/pygimp/doc/xsl/ref-html-style.xsl
Modified:
   branches/soc-2008-python/ChangeLog
   branches/soc-2008-python/configure.in
   branches/soc-2008-python/plug-ins/pygimp/Makefile.am
   branches/soc-2008-python/plug-ins/pygimp/doc/Makefile.am

Modified: branches/soc-2008-python/configure.in
==============================================================================
--- branches/soc-2008-python/configure.in	(original)
+++ branches/soc-2008-python/configure.in	Mon Aug 18 15:13:47 2008
@@ -1990,6 +1990,7 @@
 plug-ins/print/Makefile
 plug-ins/psd/Makefile
 plug-ins/pygimp/Makefile
+plug-ins/pygimp/doc/Makefile
 plug-ins/pygimp/plug-ins/Makefile
 plug-ins/script-fu/Makefile
 plug-ins/script-fu/ftx/Makefile

Modified: branches/soc-2008-python/plug-ins/pygimp/Makefile.am
==============================================================================
--- branches/soc-2008-python/plug-ins/pygimp/Makefile.am	(original)
+++ branches/soc-2008-python/plug-ins/pygimp/Makefile.am	Mon Aug 18 15:13:47 2008
@@ -9,7 +9,7 @@
 libgimpmath = $(top_builddir)/libgimpmath/libgimpmath-$(GIMP_API_VERSION).la
 libgimpthumb = $(top_builddir)/libgimpthumb/libgimpthumb-$(GIMP_API_VERSION).la
 
-SUBDIRS = plug-ins
+SUBDIRS = plug-ins doc
 
 if PLATFORM_WIN32
 no_undefined = -no-undefined
@@ -122,7 +122,8 @@
 	gimpshelf.py	\
 	gimpui.py	\
 	gimpthumb.py	\
-	gimpcolor.py
+	gimpcolor.py	\
+	gimpplugin2.py
 
 pygimp_DATA = pygimp-logo.png
 

Modified: branches/soc-2008-python/plug-ins/pygimp/doc/Makefile.am
==============================================================================
--- branches/soc-2008-python/plug-ins/pygimp/doc/Makefile.am	(original)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/Makefile.am	Mon Aug 18 15:13:47 2008
@@ -1,32 +1,92 @@
+REF_VERSION = 1.1 
+FULL_VERSION = $(REF_VERSION).1
 
-noinst_DATA = pygimp.html
+CSS_FILES = style.css
 
-EXTRA_DIST = \
-	pygimp.sgml			\
-	pygimp.html			\
-	structure-of-plugin.html	\
-	procedural-database.html	\
-	gimp-module-procedures.html	\
-	gimp-objects.html		\
-	support-modules.html		\
-	end-note.html
-
-printed: pygimp.ps pygimp.pdf
-
-#clean:
-#	rm -f *.html pygimp.ps pygimp.pdf
-
-
-pygimp.ps: pygimp.sgml
-	db2ps $(srcdir)/pygimp.sgml
-
-pygimp.pdf: pygimp.sgml
-	db2pdf $(srcdir)/pygimp.sgml
-
-pygimp.html: pygimp.sgml
-	cd $(srcdir) && db2html --nochunks pygimp.sgml
-	cd $(srcdir) && mv pygimp/*.html .
-	rm -rf $(srcdir)/pygimp
-
-.PHONY: printed #clean
+HTML_FILES =                      \
+	html/class-drawable.html      \
+	html/class-layer.html         \
+	html/class-channel.html       \
+	html/class-image.html         \
+	html/class-pixel-rgn.html     \
+	html/class-pixel-fetcher.html \
+	html/class-parasite.html      \
+	html/index.html               \
+	html/index.sgml
+
+
+XML_FILES = 					      \
+	reference/pygimp-drawable.xml     \
+	reference/pygimp-channel.xml      \
+	reference/pygimp-image.xml        \
+	reference/pygimp-layer.xml        \
+	reference/pygimp-pixel-rgn.xml    \
+	reference/pygimp-pixel-fetcher.xml
+	reference/pygimp-parasite.xml
+
+XSL_FILES =			\
+	xsl/common.xsl 		\
+	xsl/devhelp.xsl		\
+	xsl/html.xsl 		\
+	xsl/pdf-style.xsl 	\
+	xsl/pdf.xsl		\
+	xsl/ref-html-style.xsl
+
+# fixxref cannot be included in XSL_FILES, because automake is touching it
+# so the date is newer then the files in HTML_FILES
+FIXXREF = xsl/fixxref.py
+
+TARGET_DIR = $(datadir)/gtk-doc/html/pygimp
+CSSdir = $(TARGET_DIR)
+CSS_DATA = html/$(CSS_FILES)
+
+
+install-data-local:
+	installfiles=`echo $(srcdir)/html/*`; \
+	if test "$$installfiles" = '$(srcdir)/html/*'; \
+	then echo '-- Nothing to install' ; \
+	else \
+	  $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \
+	  for i in $$installfiles; do \
+	    echo '-- Installing '$$i ; \
+	    $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
+	  done; \
+	  echo '-- Installing $(srcdir)/html/index.sgml' ; \
+	  $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \
+	fi
+
+uninstall-local:
+	rm -f $(DESTDIR)$(TARGET_DIR)/*
+
+
+XSLdir = $(datadir)/pygimp/xsl
+XSL_DATA = $(XSL_FILES) $(FIXXREF)
+
+EXTRA_DIST = 		\
+	$(HTML_FILES) 	\
+	$(XML_FILES) 	\
+	$(XSL_FILES) 	\
+	$(FIXXREF) 	\
+	$(CSS_FILES)
+
+reference/builddate.xml:
+	@$(PYTHON) -c 'import datetime; print datetime.date.today()' > $@
+
+
+
+BUILT_SOURCES = reference/builddate.xml $(HTML_FILES)
+CLEANFILES = reference/builddate.xml $(HTML_FILES)
+
+
+# Do not add a builddate.xml dependency here, because the generated html 
+# documentation will be included in the tarball so xsltproc is not needed to 
+# install the documentation. Adding a builddate.xml dependency will force 
+# the documentation to be rebuilt when it doesn't need to be.
+$(HTML_FILES): $(XML_FILES) $(XSL_FILES)
+	@xsltproc --nonet --xinclude -o ./html/ \
+		 --path $(BUILDDIR)/reference:$(srcdir)/reference \
+                 --stringparam gtkdoc.bookname "pygimp" \
+                 --stringparam gtkdoc.version ${REF_VERSION} \
+                 $(srcdir)/xsl/ref-html-style.xsl \
+                 $(srcdir)/reference/pygimp-ref.xml
 

Added: branches/soc-2008-python/plug-ins/pygimp/doc/html/style.css
==============================================================================

Added: branches/soc-2008-python/plug-ins/pygimp/doc/reference/entities.docbook
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/reference/entities.docbook	Mon Aug 18 15:13:47 2008
@@ -0,0 +1 @@
+<!ENTITY version "2.15.0">

Added: branches/soc-2008-python/plug-ins/pygimp/doc/reference/entities.docbook.in
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/reference/entities.docbook.in	Mon Aug 18 15:13:47 2008
@@ -0,0 +1 @@
+<!ENTITY version "@PACKAGE_VERSION@">

Added: branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-channel.xml
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-channel.xml	Mon Aug 18 15:13:47 2008
@@ -0,0 +1,199 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<refentry id="class-channel">
+  <refmeta>
+    <refentrytitle>gimp.Channel</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo>PyGimp Docs</refmiscinfo>
+  </refmeta>
+
+  <refnamediv>
+    <refname>gimp.Channel</refname>
+      <refpurpose>Channel objects represent a Gimp Image's color channels.</refpurpose>
+  </refnamediv>
+
+  <refsect1 id="synopsis-channel">
+    <title>Synopsis</title>
+
+    <classsynopsis language="python">
+      <ooclass><classname>gimp.Channel</classname></ooclass>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-channel--copy">copy</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-channel--combine-masks">combine_mask</link></methodname>
+        <methodparam><parameter>channel</parameter></methodparam>
+        <methodparam><parameter>operation</parameter></methodparam>
+        <methodparam><parameter>offset_x</parameter></methodparam>
+        <methodparam><parameter>offset_y</parameter></methodparam>
+      </methodsynopsis>
+    </classsynopsis>
+  </refsect1>
+
+  <refsect1 id="ancestry-channel">
+    <title>Ancestry</title>
+    <synopsis>
+      +-- <link linkend="class-drawable">gimp.Drawable</link>
+    </synopsis>
+  </refsect1>
+
+  <refsect1 id="attributes-channel">
+    <title>Attributes</title>
+    <para><link linkend="attributes-drawable">gimp.Channel Attributes</link></para>
+
+    <blockquote role="properties">
+      <informaltable pgwide="1" frame="none">
+        <tgroup cols="3">
+          <colspec column="1" colwidth="1in"/>
+          <colspec column="2" colwidth="1in"/>
+          <colspec column="3" colwidth="4in"/>
+          <tbody>
+            <row valign="top">
+              <entry>"color"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>The channel's compositing color.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"opacity"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>The channel's opacity.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"show_masked"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The channel's composite method. If it <literal>True</literal>, then the channel is composited with the image so that masked regions are shown. Otherwise, selected regions are shown.</para>
+              </entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+    </blockquote>
+  </refsect1>
+
+  <refsect1 id="description-channel">
+    <title>Description</title>
+    <para>Channel objects represent a Gimp Image's color channels.</para>
+  </refsect1>
+
+  <refsect1 id="constructor-channel">
+    <title>Constructor</title>
+    <programlisting><constructorsynopsis language="python">
+    <methodname>gimp.Channel</methodname>
+    <methodparam><parameter>image</parameter></methodparam>
+    <methodparam><parameter>name</parameter></methodparam>
+    <methodparam><parameter>width</parameter></methodparam>
+    <methodparam><parameter>height</parameter></methodparam>
+    <methodparam><parameter>type</parameter></methodparam>
+    <methodparam><parameter>opacity</parameter></methodparam>
+    <methodparam><parameter>color</parameter></methodparam>
+    </constructorsynopsis></programlisting>
+
+    <variablelist>
+      <varlistentry>
+        <term><parameter>image</parameter>&nbsp;:</term>
+          <listitem><simpara>The image to which to add the channel.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>name</parameter>&nbsp;:</term>
+          <listitem><simpara>The channel's name.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>width</parameter>&nbsp;:</term>
+          <listitem><simpara>The channel's width.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>height</parameter>&nbsp;:</term>
+          <listitem><simpara>The channel's height.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>type</parameter>&nbsp;:</term>
+          <listitem><simpara>The channel's type.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>opacity</parameter>&nbsp;:</term>
+          <listitem><simpara>The channel's opacity.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>color</parameter>&nbsp;:</term>
+          <listitem><simpara>The channel's compositing color.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><emphasis>Returns</emphasis>&nbsp;:</term>
+        <listitem><simpara>A new gimp.Channel object.</simpara></listitem>
+      </varlistentry>
+    </variablelist>
+    <para>Creats a new channel object</para>
+    <para>Creates a new channel with the specified width and height. Name, opacity, and color are also supplied parameters. The new channel still needs to be added to the image, as this is not automatic. Add the new channel with the <link linkend="gimp-image--add-channel">gimp.Image.add_channel</link> command. Other attributes such as channel show masked, should be set with explicitly. The channel's contents are undefined initially.</para>
+  </refsect1>
+
+  <refsect1 id="methods-channel">
+    <title>Methods</title>
+
+    <refsect2 id="method-channel--copy">
+      <title>gimp.Channel.copy</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>copy</methodname>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>A newly created gimp.Channel which is a copy of this channel.</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Copys the channel.</para>
+      <para>This procedure copies the channel and returns the copy.</para>
+    </refsect2>
+
+    <refsect2 id="method-channel--combine-masks">
+      <title>gimp.Channel.combine_masks</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>combine_masks</methodname>
+      <methodparam>channel</methodparam>
+      <methodparam>operation</methodparam>
+      <methodparam>offset_x</methodparam>
+      <methodparam>offset_y</methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><parameter>channel</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The channel to be combined with.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>operation</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The selection operation. One of <link linkend="gimp-enums-gimp-chanel-ops">gimp.enums.GimpChannelOps</link></simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>offset_x</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The x offset between upper left corner of this channel and the one combined with.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>offset_y</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The y offset between upper left corner of this channel and the one combined with.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>A newly created gimp.Channel.</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Combines two channel masks.</para>
+      <para>This method combines <parameter>channel</parameter> with this channel using <parameter>operation</parameter>. The result is stored in this channel.</para>
+    </refsect2>
+
+  </refsect1>
+</refentry>

Added: branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-classes.xml
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-classes.xml	Mon Aug 18 15:13:47 2008
@@ -0,0 +1,18 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<chapter id="pygimp-class-reference"
+  xmlns:xi="http://www.w3.org/2001/XInclude";>
+
+<title>The PyGimp Class Reference</title>
+
+<xi:include href="pygimp.xml"/>
+<xi:include href="pygimp-channel.xml"/>
+<xi:include href="pygimp-drawable.xml"/>
+<xi:include href="pygimp-image.xml"/>
+<xi:include href="pygimp-layer.xml"/>
+<xi:include href="pygimp-parasite.xml"/>
+<xi:include href="pygimp-pixel-rgn.xml"/>
+<xi:include href="pygimp-pixel-fetcher.xml"/>
+
+</chapter>

Added: branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-drawable.xml
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-drawable.xml	Mon Aug 18 15:13:47 2008
@@ -0,0 +1,512 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<refentry id="class-drawable">
+  <refmeta>
+    <refentrytitle>gimp.Drawable</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo>PyGimp Docs</refmiscinfo>
+  </refmeta>
+
+  <refnamediv>
+    <refname>gimp.Drawable</refname>
+      <refpurpose></refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Synopsis</title>
+
+    <classsynopsis language="python">
+      <ooclass><classname>gimp.Drawable</classname></ooclass>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-drawable--attach-new-parasite">attach_new_parasite</link></methodname>
+        <methodparam><parameter>parasite</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-drawable--fill">fill</link></methodname>
+        <methodparam><parameter>fill_mode</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-drawable--flush">flush</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-drawable--get-pixel">get_pixel</link></methodname>
+        <methodparam><parameter>x</parameter></methodparam>
+        <methodparam><parameter>y</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-drawable--get-pixel-rgn">get_pixel_rgn</link></methodname>
+        <methodparam><parameter>x</parameter></methodparam>
+        <methodparam><parameter>y</parameter></methodparam>
+        <methodparam><parameter>width</parameter></methodparam>
+        <methodparam><parameter>height</parameter></methodparam>
+        <methodparam><parameter>dirty</parameter><initializer>True</initializer></methodparam>
+        <methodparam><parameter>shadow</parameter><initializer>False</initializer></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-drawable--get-tile">get_tile</link></methodname>
+        <methodparam><parameter>shadow</parameter></methodparam>
+        <methodparam><parameter>row</parameter></methodparam>
+        <methodparam><parameter>colum</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-drawable--get-tile2">get_tile2</link></methodname>
+        <methodparam><parameter>shadow</parameter></methodparam>
+        <methodparam><parameter>x</parameter></methodparam>
+        <methodparam><parameter>y</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-drawable--mask-intersect">mask_intersect</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-drawable--merge-shadow">merge_shadow</link></methodname>
+        <methodparam><parameter>undo</parameter><initializer>False</initializer></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-drawable--offset">offset</link></methodname>
+        <methodparam><parameter>wrap_around</parameter></methodparam>
+        <methodparam><parameter>fill_type</parameter></methodparam>
+        <methodparam><parameter>offset_x</parameter></methodparam>
+        <methodparam><parameter>offset_y</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-drawable--parasite-attach">parasite_attach</link></methodname>
+        <methodparam><parameter>parasite</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-drawable--parasite-detach">parasite_detach</link></methodname>
+        <methodparam><parameter>parasite</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-drawable--parasite-find">parasite_find</link></methodname>
+        <methodparam><parameter>parasite_name</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-drawable--parasite-list">parasite_list</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-drawable--set-pixel">set_pixel</link></methodname>
+        <methodparam><parameter>x</parameter></methodparam>
+        <methodparam><parameter>y</parameter></methodparam>
+        <methodparam><parameter>value</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-drawable--set-pixel">update</link></methodname>
+      </methodsynopsis>
+    </classsynopsis>
+  </refsect1>
+
+  <refsect1 id="attributes-drawable">
+    <title>Attributes</title>
+
+    <blockquote role="properties">
+      <informaltable pgwide="1" frame="none">
+        <tgroup cols="3">
+          <colspec column="1" colwidth="1in"/>
+          <colspec column="2" colwidth="1in"/>
+          <colspec column="3" colwidth="4in"/>
+          <tbody>
+            <row valign="top">
+              <entry>"bpp"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The drawable's bytes-per-pixel.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"height"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The drawable's height in pixel.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"is_grey"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para><literal>True</literal> if the drawable is a grayscale type (Gray, GrayA).</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"is_indexed"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para><literal>True</literal> if the drawable is an indexed type (Indexed, IndexedA).</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"is_layer_mask"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para><literal>True</literal> if the drawable is a layer mas.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"is_rgb"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para><literal>True</literal> if the drawable is an RGB type (RGB, RGBA).</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"image"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The image to which the drawable is attached.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"name"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>The drawable's name.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"linked"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The link state of the drawable.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"tattoo"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>The drawable's tattoo.</para>
+                <para>A tattoo is a unique and permanent identifier attached to a drawable that can be used to uniquely identify a drawable within an image even between sessions.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"offsets"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>A 2-Tuple containing the drawable's x and y offset of the top left hand corner to it's image.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"has_alpha"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para><literal>True</literal> if the drawable has an alpha channel.</para>
+		<para>This can only be true for layers, and the associated type will be one of: { RGBA , GRAYA, INDEXEDA }.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"mask_bounds"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The bounding box of the current selection in relation to the drawable.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"type"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The drawable's type.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"type"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The drawable's type with alpha.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"visible"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para><literal>True</literal> if the drawable is visible.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"type"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The drawable's width in pixels.</para>
+              </entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+    </blockquote>
+  </refsect1>
+  <refsect1 id="methods-drawable">
+    <title>Methods</title>
+    <refsect2 id="method-drawable--fill">
+      <title>gimp.Drawable.fill</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>fill</methodname>
+      <methodparam>fill_mode</methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><parameter>fill_mode</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The fill mode to use.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara><literal>True</literal> on success.</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Fills the drawable with the specified fill mode.</para>
+      <para>This procedure fills the drawable. If the fill mode is foreground the current foreground color is used. If the fill mode is background, the current background color is used. If the fill type is white, then white is used. Transparent fill only affects layers with an alpha channel, in which case the alpha channel is set to transparent. If the drawable has no alpha channel, it is filled to white. No fill leaves the drawable's contents undefined. This procedure is unlike the bucket fill tool because it fills regardless of a selection. Its main purpose is to fill a newly created drawable before adding it to the image. This operation cannot be undone.</para>
+    </refsect2>
+
+    <refsect2 id="method-drawable--flush">
+      <title>gimp.Drawable.flush</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>flush</methodname>
+      </methodsynopsis></programlisting>
+      <para>This function causes all tile data in the tile list of the drawable to be transferred to the core. It is usually called in situations where a plug-in acts on a drawable, and then needs to read the results of its actions. Data transferred back from the core will not generally be valid unless gimp_drawable_flush() has been called beforehand.</para>
+    </refsect2>
+
+    <refsect2 id="method-drawable--get-pixel">
+      <title>gimp.Drawable.fill</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>get-pixel</methodname>
+      <methodparam>x</methodparam>
+      <methodparam>y</methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><parameter>x</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The x coordinate.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>y</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The y coordinate.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>A string representing the pixel data. Each character of the string represents a byte of the color.</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Gets the value of the pixel at the specified coordinates.</para>
+      <para>This procedure gets the pixel value at the specified coordinates. The pixel value is returned as a string. Each character of the string represents a byte of the color. For example if the drawable's mode is MODE_RGB then the first character is the red component of the color, the second character the green component and the third the blue.</para>
+    </refsect2>
+
+    <refsect2 id="method-drawable--get-pixel-rgn">
+      <title>gimp.Drawable.get_pixel_rgn</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>get_pixel_rgn</methodname>
+      <methodparam>x</methodparam>
+      <methodparam>y</methodparam>
+      <methodparam>width</methodparam>
+      <methodparam>height</methodparam>
+      <methodparam>dirty<initializer>True</initializer></methodparam>
+      <methodparam>shadow<initializer>False</initializer></methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><parameter>x</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara></simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>y</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara></simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>width</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara></simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>height</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara></simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>dirty</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara></simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>shadow</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara></simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>A newly created gimp.PixelRgn</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Fills the drawable with the specified fill mode.</para>
+      <para>This procedure fills the drawable. If the fill mode is foreground the current foreground color is used. If the fill mode is background, the current background color is used. If the fill type is white, then white is used. Transparent fill only affects layers with an alpha channel, in which case the alpha channel is set to transparent. If the drawable has no alpha channel, it is filled to white. No fill leaves the drawable's contents undefined. This procedure is unlike the bucket fill tool because it fills regardless of a selection. Its main purpose is to fill a newly created drawable before adding it to the image. This operation cannot be undone.</para>
+    </refsect2>
+
+    <refsect2 id="method-drawable--get-tile">
+      <title>gimp.Drawable.get_tile</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>get_tile</methodname>
+      <methodparam>shadow</methodparam>
+      <methodparam>col</methodparam>
+      <methodparam>row</methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><parameter>shadow</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara></simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>row</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara></simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>col</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara></simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>A gimp.Tile or <literal>None</literal></simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Gets a tile at (row, col). Either on or off the shadow buffer.</para>
+    </refsect2>
+
+    <refsect2 id="method-drawable--get-tile2">
+      <title>gimp.Drawable.get_tile2</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>get_tile2</methodname>
+      <methodparam>shadow</methodparam>
+      <methodparam>x</methodparam>
+      <methodparam>y</methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><parameter>shadow</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara></simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>x</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara></simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>y</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara></simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>A gimp.Tile or <literal>None</literal></simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Gets the tile that contains the pixel (x, y).</para>
+    </refsect2>
+
+    <refsect2 id="method-drawable--mask-intersect">
+      <title>gimp.Drawable.mask_intersect</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>mask_intersect</methodname>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>A 4-tuple containing the x and y coordinate, width and height of the intersection between the drawable and the selection.</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Find the bounding box of the current selection in relation to the drawable.</para>
+      <para>This procedure returns whether there is an intersection between the drawable and the selection. Unlike gimp_drawable_mask_bounds(), the intersection's bounds are returned as a 4-tuple with x, y, width, height. If there is no selection the returned bounds are the extents of the whole drawable.</para>
+    </refsect2>
+
+    <refsect2 id="method-drawable--merge-shadow">
+      <title>gimp.Drawable.merge_shadow</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>merge_shadow</methodname>
+      <methodparam>undo</methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara><literal>True</literal> on success.</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Merges the shadow buffer with the drawable.</para>
+      <para>This procedure combines the contents of the image's shadow buffer (for temporary processing) with the drawable. The <parameter>undo</parameter> parameter specifies whether to add an undo step for the operation. Requesting no undo is useful for such applications as 'auto-apply'.</para>
+    </refsect2>
+
+    <refsect2 id="method-drawable--offset">
+      <title>gimp.Drawable.offset</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>offset</methodname>
+      <methodparam>wrap_around</methodparam>
+      <methodparam>fill_type</methodparam>
+      <methodparam>offset_x</methodparam>
+      <methodparam>offset_y</methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><parameter>wrap_around</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>If <literal>True</literal> wrap image around else fill vacated regions. </simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>fill_type</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>Fill vacated regions of the drawable with background or transparent. </simpara>
+            </listitem>
+        </varlistentry>        <varlistentry>
+          <term><parameter>offset_x</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>Offset the drawable by this ammount of pixels in the x direction.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>offset_y</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>Offset the drawable by this ammount of pixels in the y direction.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara><literal>True</literal> on success.</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Offsets the drawable by the specified amounts in the x and y directions.</para>
+      <para>This procedure offsets the drawable by the amounts specified by <parameter>offset_x</parameter> and <parameter>offset_y</parameter>. If <parameter>wrap_around</parameter> is set to <literal>True</literal>, then portions of the drawable which are offset out of bounds are wrapped around. Alternatively, the undefined regions of the drawable can be filled with transparency or the background color, as specified by the <parameter>fill_type</parameter> parameter..</para>
+    </refsect2>
+  </refsect1>
+</refentry>

Added: branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-image.xml
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-image.xml	Mon Aug 18 15:13:47 2008
@@ -0,0 +1,537 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<refentry id="class-image">
+  <refmeta>
+    <refentrytitle>gimp.Image</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo>PyGimp Docs</refmiscinfo>
+  </refmeta>
+
+  <refnamediv>
+    <refname>gimp.Image</refname>
+      <refpurpose>This is the object that represents an open image.</refpurpose>
+  </refnamediv>
+
+  <refsect1 id="synopsis-image">
+    <title>Synopsis</title>
+
+    <classsynopsis language="python">
+      <ooclass><classname>gimp.Image</classname></ooclass>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--add-channel">add_channel</link></methodname>
+        <methodparam><parameter>channel</parameter></methodparam>
+        <methodparam><parameter>position</parameter><initializer>-1</initializer></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--add-hguide">add_hguide</link></methodname>
+        <methodparam><parameter>ypos</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--add-layer">add_layer</link></methodname>
+        <methodparam><parameter>layer</parameter></methodparam>
+        <methodparam><parameter>position</parameter><initializer>-1</initializer></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--add-vguide">add_vguide</link></methodname>
+        <methodparam><parameter>xpos</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--attach-new-parasite">attach_new_parasite</link></methodname>
+        <methodparam><parameter>name</parameter></methodparam>
+        <methodparam><parameter>flags</parameter></methodparam>
+        <methodparam><parameter>data</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--attach-new-parasite">attach_new_parasite</link></methodname>
+        <methodparam><parameter>name</parameter></methodparam>
+        <methodparam><parameter>flags</parameter></methodparam>
+        <methodparam><parameter>data</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--clean-all">clean_all</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--crop">crop</link></methodname>
+        <methodparam><parameter>width</parameter></methodparam>
+        <methodparam><parameter>height</parameter></methodparam>
+        <methodparam><parameter>offset_x</parameter></methodparam>
+        <methodparam><parameter>offset_y</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--delete-guid">delete_guide</link></methodname>
+        <methodparam><parameter>guide</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--disable-undo">disable_undo</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--duplicate">duplicate</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--enable-undo">enable_undo</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--find-next-guid">find_next_guide</link></methodname>
+        <methodparam><parameter>guide</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--flatten">flatten</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--free-shadow">free_shadow</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--get-channel-by-tattoo">get_channel_by_tattoo</link></methodname>
+        <methodparam><parameter>tatoo</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--get-component-active">get_component_active</link></methodname>
+        <methodparam><parameter>component</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--get-component-visible">get_component_visible</link></methodname>
+        <methodparam><parameter>component</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--get-guide-orientation">get_guide_orientation</link></methodname>
+        <methodparam><parameter>guide</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--get-guide-position">get_guide_position</link></methodname>
+        <methodparam><parameter>guide</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--get-layer-by-tattoo">get_layer_by_tattoo</link></methodname>
+        <methodparam><parameter>tattoo</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--lower-channel">lower_channel</link></methodname>
+        <methodparam><parameter>channel</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--lower-layer">lower_layer</link></methodname>
+        <methodparam><parameter>layer</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--lower-layer-to-bottom">lower_layar_to_bottom</link></methodname>
+        <methodparam><parameter>layer</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--merge-down">merge_down</link></methodname>
+        <methodparam><parameter>layer</parameter></methodparam>
+        <methodparam><parameter>type</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--merge-visible-layers">merge_visible_layers</link></methodname>
+        <methodparam><parameter>type</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--new-layer">new_layer</link></methodname>
+        <methodparam><parameter>name</parameter><initializer>"New Layer"</initializer></methodparam>
+        <methodparam><parameter>width</parameter><initializer>-1</initializer></methodparam>
+        <methodparam><parameter>height</parameter><initializer>-1</initializer></methodparam>
+        <methodparam><parameter>offset_x</parameter><initializer>-1</initializer></methodparam>
+        <methodparam><parameter>offset_y</parameter><initializer>-1</initializer></methodparam>
+        <methodparam><parameter>alpha</parameter><initializer>True</initializer></methodparam>
+        <methodparam><parameter>pos</parameter><initializer>-1</initializer></methodparam>
+        <methodparam><parameter>opacity</parameter><initializer>100.0</initializer></methodparam>
+        <methodparam><parameter>mode</parameter><initializer>gimp.enums.NORMAL_MODE</initializer></methodparam>
+        <methodparam><parameter>fill_mode</parameter><initializer>-1</initializer></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--parasite-attach">parasite_attach</link></methodname>
+        <methodparam><parameter>parasite</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--parasite-detach">parasite_detach</link></methodname>
+        <methodparam><parameter>parasite</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--parasite-find">parasite_find</link></methodname>
+        <methodparam><parameter>parasite_name</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--parasite-list">parasite_list</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--pick-correlate-layer">pick_correlate_layer</link></methodname>
+        <methodparam><parameter>x</parameter></methodparam>
+        <methodparam><parameter>y</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--raise-channel">raise_channel</link></methodname>
+        <methodparam><parameter>channel</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--raise-layer">raise_layer</link></methodname>
+        <methodparam><parameter>layer</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--raise-layer-to-top">raise_layer_to_top</link></methodname>
+        <methodparam><parameter>layer</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--remove-channel">remove_channel</link></methodname>
+        <methodparam><parameter>channel</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--remove-layer">remove_layer</link></methodname>
+        <methodparam><parameter>layer</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--resize-to-layers">resize_to_layers</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--scale">scale</link></methodname>
+        <methodparam><parameter>new_width</parameter></methodparam>
+        <methodparam><parameter>new_width</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--set-component-active">set_component_active</link></methodname>
+        <methodparam><parameter>component</parameter></methodparam>
+        <methodparam><parameter>active</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--set-component-visible">set_component_visible</link></methodname>
+        <methodparam><parameter>component</parameter></methodparam>
+        <methodparam><parameter>visible</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--undo-freeze">undo_freeze</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--undo-group-end">undo_group_end</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--undo-group-start">undo_group_start</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--undo-is-enabled">undo_is_enabled</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--undo-thaw">undo_thaw</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-image--unset-active-channel">unset_active_channel</link></methodname>
+      </methodsynopsis>
+    </classsynopsis>
+  </refsect1>
+
+  <refsect1 id="ancestry-image">
+  </refsect1>
+
+  <refsect1 id="attributes-image">
+    <title>Attributes</title>
+    <blockquote role="properties">
+      <informaltable pgwide="1" frame="none">
+        <tgroup cols="3">
+          <colspec column="1" colwidth="1in"/>
+          <colspec column="2" colwidth="1in"/>
+          <colspec column="3" colwidth="4in"/>
+          <tbody>
+            <row valign="top">
+              <entry>"active_channel"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>The image's active channel, or <literal>None</literal> if there is no active channel.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"active_drawable"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>The image's active drawable, or None if there is no active drawable.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"active_layer"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>The image's active layer, or <literal>None</literal> if there is no active layer.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"base_type"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>This is the type of the image (eg RGB, INDEXED).</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"channels"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>A list of <link linked="gimp-channel">gimp.Channel</link> objects which containins the channels of the image.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"colormap"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>The image's color map.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"dirty"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para><literal>True</literal> if the dirty flag is set on the image.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"filename"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>The image's filename. A file load or save handler might assign to this.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"floating_sel_attached_to"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The layer to which the floating selection is attached to, or <literal>None</literal>.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"floating_selection"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The floating selection layer, or <literal>None</literal> if there is no floating selection.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"height"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The image's height in pixel.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"layers"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>A list of <link linked="gimp-layer">gimp.Layer</link> objects which containins the layers of the image..</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"name"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>The image's name.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"resolution"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>The image's resolution.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"selection"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The image's selection mask.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"tattoo_state"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The image's tattoo_state.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"unit"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>The image's unit.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"vectors"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>A list of <link linked="gimp-layer">gimp.Vectors</link> objects which containins the vectors of the image..</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"width"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The image's width in pixel.</para>
+              </entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+    </blockquote>
+  </refsect1>
+
+  <refsect1 id="description-image">
+    <title>Description</title>
+    <para>Channel objects represent a Gimp Image's color channels.</para>
+  </refsect1>
+
+  <refsect1 id="constructor-image">
+    <title>Constructor</title>
+    <programlisting><constructorsynopsis language="python">
+    <methodname>gimp.Image</methodname>
+    <methodparam><parameter>image</parameter></methodparam>
+    <methodparam><parameter>name</parameter></methodparam>
+    <methodparam><parameter>width</parameter></methodparam>
+    <methodparam><parameter>height</parameter></methodparam>
+    <methodparam><parameter>type</parameter></methodparam>
+    <methodparam><parameter>opacity</parameter></methodparam>
+    <methodparam><parameter>color</parameter></methodparam>
+    </constructorsynopsis></programlisting>
+
+    <variablelist>
+      <varlistentry>
+        <term><parameter>image</parameter>&nbsp;:</term>
+          <listitem><simpara>The image to which to add the channel.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>name</parameter>&nbsp;:</term>
+          <listitem><simpara>The channel's name.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>width</parameter>&nbsp;:</term>
+          <listitem><simpara>The channel's width.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>height</parameter>&nbsp;:</term>
+          <listitem><simpara>The channel's height.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>type</parameter>&nbsp;:</term>
+          <listitem><simpara>The channel's type.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>opacity</parameter>&nbsp;:</term>
+          <listitem><simpara>The channel's opacity.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>color</parameter>&nbsp;:</term>
+          <listitem><simpara>The channel's compositing color.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><emphasis>Returns</emphasis>&nbsp;:</term>
+        <listitem><simpara>A new gimp.Image object.</simpara></listitem>
+      </varlistentry>
+    </variablelist>
+    <para>Creats a new channel object</para>
+    <para>Creates a new channel with the specified width and height. Name, opacity, and color are also supplied parameters. The new channel still needs to be added to the image, as this is not automatic. Add the new channel with the <link linkend="gimp-image--add-image">gimp.Image.add_channel</link> command. Other attributes such as channel show masked, should be set with explicitly. The channel's contents are undefined initially.</para>
+  </refsect1>
+
+  <refsect1 id="methods-image">
+    <title>Methods</title>
+
+    <refsect2 id="method-image--copy">
+      <title>gimp.Image.copy</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>copy</methodname>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>A newly created gimp.Image which is a copy of this channel.</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Copys the channel.</para>
+      <para>This procedure copies the channel and returns the copy.</para>
+    </refsect2>
+
+    <refsect2 id="method-image--combine-masks">
+      <title>gimp.Image.combine_masks</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>combine_masks</methodname>
+      <methodparam>channel</methodparam>
+      <methodparam>operation</methodparam>
+      <methodparam>offset_x</methodparam>
+      <methodparam>offset_y</methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><parameter>channel</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The channel to be combined with.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>operation</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The selection operation. One of <link linkend="gimp-enums-gimp-chanel-ops">gimp.enums.GimpChannelOps</link></simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>offset_x</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The x offset between upper left corner of this channel and the one combined with.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>offset_y</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The y offset between upper left corner of this channel and the one combined with.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>A newly created gimp.Image.</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Combines two channel masks.</para>
+      <para>This method combines <parameter>channel</parameter> with this channel using <parameter>operation</parameter>. The result is stored in this channel.</para>
+    </refsect2>
+
+  </refsect1>
+</refentry>

Added: branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-layer.xml
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-layer.xml	Mon Aug 18 15:13:47 2008
@@ -0,0 +1,430 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<refentry id="class-layer">
+  <refmeta>
+    <refentrytitle>gimp.Layer</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo>PyGimp Docs</refmiscinfo>
+  </refmeta>
+
+  <refnamediv>
+    <refname>gimp.Layer</refname>
+      <refpurpose></refpurpose>
+  </refnamediv>
+
+  <refsect1 id="synopsis-layer">
+    <title>Synopsis</title>
+
+    <classsynopsis language="python">
+      <ooclass><classname>gimp.Layer</classname></ooclass>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-layer--add-alpha">add_alpha</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-layer--add-mask">add_mask</link></methodname>
+        <methodparam><parameter>mask</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-layer--copy">copy</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-layer--create-mask">create_mask</link></methodname>
+        <methodparam><parameter>mask_type</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-layer--remove-mask">remove_mask</link></methodname>
+        <methodparam><parameter>mode</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-layer--resize">resize</link></methodname>
+        <methodparam><parameter>new_width</parameter></methodparam>
+        <methodparam><parameter>new_height</parameter></methodparam>
+        <methodparam><parameter>x_offset</parameter><initializer>0</initializer></methodparam>
+        <methodparam><parameter>y_offset</parameter><initializer>0</initializer></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-layer--resize-to-image-size">resize_to_image_size</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-layer--scale">scale</link></methodname>
+        <methodparam><parameter>new_width</parameter></methodparam>
+        <methodparam><parameter>new_height</parameter></methodparam>
+        <methodparam><parameter>local_origin</parameter><initializer>False</initializer></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-layer--set-offsets">set_offsets</link></methodname>
+        <methodparam><parameter>x</parameter></methodparam>
+        <methodparam><parameter>y</parameter></methodparam>
+      </methodsynopsis>
+    </classsynopsis>
+  </refsect1>
+
+  <refsect1 id="ancestry-layer">
+    <title>Ancestry</title>
+    <synopsis>
+      +-- <link linkend="class-drawable">gimp.Drawable</link>
+    </synopsis>
+  </refsect1>
+
+  <refsect1 id="attributes-layer">
+    <title>Attributes</title>
+    <para><link linkend="attributes-drawable">gimp.Layer Attributes</link></para>
+
+    <blockquote role="properties">
+      <informaltable pgwide="1" frame="none">
+        <tgroup cols="3">
+          <colspec column="1" colwidth="1in"/>
+          <colspec column="2" colwidth="1in"/>
+          <colspec column="3" colwidth="4in"/>
+          <tbody>
+            <row valign="top">
+              <entry>"apply_mask"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>True if the layer's mask is currently affecting the alpha channel.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"edit_mask"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>True if the layer or it's mask is currently active for editing.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"mask"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The layer's mask or None if none exists.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"mode"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>The layer's combination mode.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"opacity"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>The layer's opacity.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"show_mask"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>True if the layer or its mask is visible.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"is_floating_sel"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>True if the layer is a floating selection.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"lock_alpha"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>The lock alpha channel setting of the layer.</para>
+              </entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+    </blockquote>
+  </refsect1>
+
+  <refsect1 id="description-layer">
+    <title>Description</title>
+    <para>Layer objects represent the layers of a Gimp image.</para>
+  </refsect1>
+
+  <refsect1 id="constructor-layer">
+    <title>Constructor</title>
+    <programlisting><constructorsynopsis language="python">
+    <methodname>gimp.Layer</methodname>
+    <methodparam><parameter>image</parameter></methodparam>
+    <methodparam><parameter>name</parameter></methodparam>
+    <methodparam><parameter>width</parameter></methodparam>
+    <methodparam><parameter>height</parameter></methodparam>
+    <methodparam><parameter>type</parameter><initializer>gimp.enums.RGB_IMAGE</initializer></methodparam>
+    <methodparam><parameter>opacity</parameter><initializer>100.0</initializer></methodparam>
+    <methodparam><parameter>mode</parameter><initializer>gimp.enums.NORMAL_MODE</initializer></methodparam>
+    </constructorsynopsis></programlisting>
+
+    <variablelist>
+      <varlistentry>
+        <term><parameter>image</parameter>&nbsp;:</term>
+          <listitem><simpara>The image to which to add the layer.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>name</parameter>&nbsp;:</term>
+          <listitem><simpara>The layer's name.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>width</parameter>&nbsp;:</term>
+          <listitem><simpara>The layer's width.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>height</parameter>&nbsp;:</term>
+          <listitem><simpara>The layer's height.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>type</parameter>&nbsp;:</term>
+          <listitem><simpara>The layer's type.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>opacity</parameter>&nbsp;:</term>
+          <listitem><simpara>The layer's opacity.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><parameter>mode</parameter>&nbsp;:</term>
+          <listitem><simpara>The layer's combination mode.</simpara></listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><emphasis>Returns</emphasis>&nbsp;:</term>
+        <listitem><simpara>A new gimp.Layer object.</simpara></listitem>
+      </varlistentry>
+    </variablelist>
+    <para>Creats a new layer object</para>
+    <para>This procedure creates a new layer with the specified width, height, and type. Name, opacity, and mode are also supplied parameters. The new layer still needs to be added to the image, as this is not automatic. Add the new layer with the <link linkend="method-image--add-layer">gimp.Image.add_layer</link> method. Other attributes such as layer mask modes, and offsets should be set with explicit procedure calls.</para>
+
+  </refsect1>
+
+  <refsect1 id="methods-layer">
+    <title>Methods</title>
+    <refsect2 id="method-layer--add-alpha">
+      <title>gimp.Layer.add_alpha</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>add_alpha</methodname>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara><literal>True</literal> on success.</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Adds an alpha channel to the layer if it doesn't already have one.</para>
+      <para>This procedure adds an additional component to the layer if it does not already possess an alpha channel. An alpha channel makes it possible to clear and erase to transparency, instead of the background color. This transforms layers of type RGB to RGBA, GRAY to GRAYA, and INDEXED to INDEXEDA.</para>
+    </refsect2>
+
+    <refsect2 id="method-layer--add-mask">
+      <title>gimp.Layer.add_mask</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>add_mask</methodname>
+      <methodparam>mask</methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><parameter>mask</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The mask to add to the layer.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara><literal>True</literal> on success.</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Adds a layer mask to the layer.</para>
+      <para>This procedure adds a layer mask to the layer. Layer masks serve as an additional alpha channel for a layer. This procedure will fail if a number of prerequisites aren't met. The layer cannot already have a layer mask. The specified mask must exist and have the same dimensions as the layer. The layer must have been created for use with the specified image and the mask must have been created with the method <link linkend="method-layer--create-mask">create_mask</link>.</para>
+    </refsect2>
+
+    <refsect2 id="method-layer--copy">
+      <title>gimp.Layer.copy</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>copy</methodname>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>A newly created gimp.Layer which is a copy of this layer.</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Copys the layer.</para>
+      <para>This procedure copies the layer and returns the copy. The newly copied layer is for use within the original layer's image. It should not be subsequently added to any other image.</para>
+    </refsect2>
+
+    <refsect2 id="method-layer--create-mask">
+      <title>gimp.Layer.create_mask</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>create_mask</methodname>
+      <methodparam>mask_type</methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><parameter>mask_type</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The type of the created mask.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara>A newly created gimp.Channel.</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Creates a layer mask for the layer.</para>
+      <para>This procedure creates a layer mask for the layer. Layer masks serve as an additional alpha channel for a layer. A number of different types of masks are allowed for initialisation: completely white masks (which will leave the layer fully visible), completely black masks (which will give the layer complete transparency, the layer's already existing alpha channel (which will leave the layer fully visible, but which may be more useful than a white mask), the current selection or a grayscale copy of the layer. The layer mask still needs to be added to the layer. This can be done with a call to <link linkend="method-layer--add-mask">add_mask</link>.</para>
+    </refsect2>
+
+    <refsect2 id="method-layer--remove-mask">
+      <title>gimp.Layer.remove_mask</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>remove_mask</methodname>
+      <methodparam>mask_type</methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><parameter>mode</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>Removal mode.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara><literal>True</literal> on succsess.</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Removes the specified layer mask from the layer.</para>
+      <para>This procedure removes the specified layer mask from the layer.</para>
+    </refsect2>
+
+    <refsect2 id="method-layer--resize">
+      <title>gimp.Layer.resize</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>resize</methodname>
+      <methodparam>new_width</methodparam>
+      <methodparam>new_height</methodparam>
+      <methodparam>offset_x<initializer>0</initializer></methodparam>
+      <methodparam>offset_y<initializer>0</initializer></methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><parameter>new_width</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>New layer width in pixels.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>new_height</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>New layer height in pixels.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>offset_x</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>x offset between upper left corner of old and new layers: (old - new).</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>offset_y</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>y offset between upper left corner of old and new layers: (old - new).</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara><literal>True</literal> on succsess.</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Resizes the layer to the specified extents.</para>
+      <para>This procedure resizes the layer so that its new width and height are equal to the supplied parameters. Offsets are also provided which describe the position of the previous layer's content. This operation only works if the layer has been added to an image.</para>
+    </refsect2>
+
+    <refsect2 id="method-layer--resize-to-image-size">
+      <title>gimp.Layer.resize_to_image_size</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>resize_to_image_size</methodname>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara><literal>True</literal> on succsess.</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Resize a layer to the image size.</para>
+      <para>This procedure resizes the layer so that it's new width and height are equal to the width and height of its image container.</para>
+    </refsect2>
+
+    <refsect2 id="method-layer--scale">
+      <title>gimp.Layer.scale</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>scale</methodname>
+      <methodparam>new_width</methodparam>
+      <methodparam>new_height</methodparam>
+      <methodparam>local_origin<initializer>False</initializer></methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><parameter>new_width</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>New layer width in pixels.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>new_height</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>New layer height in pixels.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>local_origin</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>If <literal>True</literal> use a local origin (as opposed to the image origin).</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara><literal>True</literal> on succsess.</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Scales the layer to the specified extents.</para>
+      <para>This procedure scales the layer so that its new width and height are equal to the supplied parameters. The <parameter>local_origin</parameter> parameter specifies whether to scale from the center of the layer, or from the image origin. This operation only works if the layer has been added to an image.</para>
+    </refsect2>
+
+    <refsect2 id="method-layer--set-offsets">
+      <title>gimp.Layer.set_offsets</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>set_offsets</methodname>
+      <methodparam>offset_x</methodparam>
+      <methodparam>offset_y</methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><parameter>offset_x</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>Offset in x direction.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>offset_y</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>Offset in y direction.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem><simpara><literal>True</literal> on succsess.</simpara></listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Sets the layer offsets.</para>
+      <para>This procedure sets the offsets for the layer. The offsets are relative to the image origin and can be any values. This operation is valid only on layers which have been added to an image.</para>
+    </refsect2>
+  </refsect1>
+</refentry>

Added: branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-parasite.xml
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-parasite.xml	Mon Aug 18 15:13:47 2008
@@ -0,0 +1,145 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<refentry id="class-parasite">
+  <refmeta>
+    <refentrytitle>gimp.Parasite</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo>PyGimp Docs</refmiscinfo>
+  </refmeta>
+
+  <refnamediv>
+    <refname>gimp.Parasite</refname>
+      <refpurpose></refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Synopsis</title>
+
+    <classsynopsis language="python">
+      <ooclass><classname>gimp.Parasite</classname></ooclass>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-parasite--copy">copy</link></methodname>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-parasite--is-type">is_type</link></methodname>
+        <methodparam><parameter>name</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-parasite--has-flag">has_flag</link></methodname>
+        <methodparam><parameter>flag</parameter></methodparam>
+      </methodsynopsis>
+    </classsynopsis>
+  </refsect1>
+
+  <refsect1 id="attributes-parasite">
+    <title>Attributes</title>
+
+    <blockquote role="properties">
+      <informaltable pgwide="1" frame="none">
+        <tgroup cols="3">
+          <colspec column="1" colwidth="1in"/>
+          <colspec column="2" colwidth="1in"/>
+          <colspec column="3" colwidth="4in"/>
+          <tbody>
+            <row valign="top">
+              <entry>"data"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para>The parasite's data.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"flags"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The parasite's flags.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"is_persistent"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para><literal>True</literal> if the parasite is persistent.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"is_undoable"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para><literal>True</literal> if the parasite can be undone.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"name"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The parasite's name.</para>
+              </entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+    </blockquote>
+  </refsect1>
+  <refsect1 id="methods-parasite">
+    <title>Methods</title>
+    <refsect2 id="method-parasite--copy">
+      <title>gimp.Parasite.get_pixel</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>get_pixel</methodname>
+      <methodparam>x</methodparam>
+      <methodparam>y</methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem>
+            <simpara>A newly created gimp.Parasite which is a copy of this parasite.</simpara>
+           </listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Returns the pixel value at position <parameter>x</parameter>, <parameter>y</parameter> of the pixel fetcher's drawable.</para>
+      <para>Returns a string who's length is equal to the bytes-per-pixel value of the fetcher's drawable. Each character represents one color channel.</para>
+    </refsect2>
+    <refsect2 id="method-parasite--put_pixel">
+      <title>gimp.Parasite.put_pixel</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>put_pixel</methodname>
+      <methodparam>x</methodparam>
+      <methodparam>y</methodparam>
+      <methodparam>value</methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><parameter>x</parameter>&nbsp;:</term>
+            <listitem>      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-parasite--put-pixel">is_type</link></methodname>
+        <methodparam><parameter>name</parameter></methodparam>
+      </methodsynopsis>
+
+              <simpara>The pixels x position.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>y</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The pixels y position.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>value</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The new pixels value.</simpara>
+            </listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Sets the pixel value of the pixel fetcher's drawable to <parameter>value</parameter>.</para>
+      <para>Sets the pixel value of the pixel fetcher's drawable to <parameter>value</parameter>. <parameter>value</parameter> muss be a string with it's length equal to the pixel fetcher's drawable byte-per-pixel value. Each character of the sting represents one color channel.</para>
+    </refsect2>
+  </refsect1>
+</refentry>

Added: branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-pixel-fetcher.xml
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-pixel-fetcher.xml	Mon Aug 18 15:13:47 2008
@@ -0,0 +1,129 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<refentry id="class-pixel-fetcher">
+  <refmeta>
+    <refentrytitle>gimp.PixelFetcher</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo>PyGimp Docs</refmiscinfo>
+  </refmeta>
+
+  <refnamediv>
+    <refname>gimp.PixelFetcher</refname>
+      <refpurpose></refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Synopsis</title>
+
+    <classsynopsis language="python">
+      <ooclass><classname>gimp.PixelFetcher</classname></ooclass>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-pixel-fetcher--get-pixel">get_pixel</link></methodname>
+        <methodparam><parameter>x</parameter></methodparam>
+        <methodparam><parameter>y</parameter></methodparam>
+      </methodsynopsis>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-pixel-fetcher--put-pixel">put_pixel</link></methodname>
+        <methodparam><parameter>x</parameter></methodparam>
+        <methodparam><parameter>y</parameter></methodparam>
+        <methodparam><parameter>value</parameter></methodparam>
+      </methodsynopsis>
+    </classsynopsis>
+  </refsect1>
+
+  <refsect1 id="attributes-pixel-fetcher">
+    <title>Attributes</title>
+
+    <blockquote role="properties">
+      <informaltable pgwide="1" frame="none">
+        <tgroup cols="3">
+          <colspec column="1" colwidth="1in"/>
+          <colspec column="2" colwidth="1in"/>
+          <colspec column="3" colwidth="4in"/>
+          <tbody>
+            <row valign="top">
+              <entry>"bg_color"</entry>
+              <entry>Read/Write</entry>
+              <entry>
+                <para></para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"edge_mode"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para></para>
+              </entry>
+            </row>          </tbody>
+        </tgroup>
+      </informaltable>
+    </blockquote>
+  </refsect1>
+  <refsect1 id="methods-pixel-fetcher">
+    <title>Methods</title>
+    <refsect2 id="method-pixel-fetcher--get_pixel">
+      <title>gimp.PixelFetcher.get_pixel</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>get_pixel</methodname>
+      <methodparam>x</methodparam>
+      <methodparam>y</methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><parameter>x</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The pixels x position.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>y</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The pixels y position.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><emphasis>Returns</emphasis>&nbsp;:</term>
+          <listitem>
+            <simpara>The pixel value at position x, y of the pixel fetcher's drawable.</simpara>
+           </listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Returns the pixel value at position <parameter>x</parameter>, <parameter>y</parameter> of the pixel fetcher's drawable.</para>
+      <para>Returns a string who's length is equal to the bytes-per-pixel value of the fetcher's drawable. Each character represents one color channel.</para>
+    </refsect2>
+    <refsect2 id="method-pixel-fetcher--put_pixel">
+      <title>gimp.PixelFetcher.put_pixel</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>put_pixel</methodname>
+      <methodparam>x</methodparam>
+      <methodparam>y</methodparam>
+      <methodparam>value</methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><parameter>x</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The pixels x position.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>y</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The pixels y position.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>value</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The new pixels value.</simpara>
+            </listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Sets the pixel value of the pixel fetcher's drawable to <parameter>value</parameter>.</para>
+      <para>Sets the pixel value of the pixel fetcher's drawable to <parameter>value</parameter>. <parameter>value</parameter> muss be a string with it's length equal to the pixel fetcher's drawable byte-per-pixel value. Each character of the sting represents one color channel.</para>
+    </refsect2>
+  </refsect1>
+</refentry>

Added: branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-pixel-rgn.xml
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-pixel-rgn.xml	Mon Aug 18 15:13:47 2008
@@ -0,0 +1,151 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<refentry id="class-pixel-rgn">
+  <refmeta>
+    <refentrytitle>gimp.PixelRgn</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo>PyGimp Docs</refmiscinfo>
+  </refmeta>
+
+  <refnamediv>
+    <refname>gimp.PixelRgn</refname>
+      <refpurpose></refpurpose>
+  </refnamediv>
+
+  <refsect1>
+    <title>Synopsis</title>
+
+    <classsynopsis language="python">
+      <ooclass><classname>gimp.PixelRgn</classname></ooclass>
+      <methodsynopsis language="python">
+        <methodname><link
+linkend="method-pixel-rgn--resize">resize</link></methodname>
+        <methodparam><parameter>x</parameter></methodparam>
+        <methodparam><parameter>y</parameter></methodparam>
+        <methodparam><parameter>width</parameter></methodparam>
+        <methodparam><parameter>height</parameter></methodparam>
+      </methodsynopsis>
+    </classsynopsis>
+  </refsect1>
+
+  <refsect1 id="attributes-pixel-rgn">
+    <title>Attributes</title>
+
+    <blockquote role="properties">
+      <informaltable pgwide="1" frame="none">
+        <tgroup cols="3">
+          <colspec column="1" colwidth="1in"/>
+          <colspec column="2" colwidth="1in"/>
+          <colspec column="3" colwidth="4in"/>
+          <tbody>
+            <row valign="top">
+              <entry>"bpp"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The pixel region's bytes-per-pixel.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"dirty"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para></para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"drawable"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The drawable the pixel region was created for.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"h"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The pixel region's height. in pixel</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"rowstride"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The pixel region's number of bytes per pixel row.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"shadow"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para><literal>True</literal> if the pixel region uses shadow tile as opposed to normal tiles. If you draw on the shadow tiles, you must call <link linked="gimp-drawable--merge-shadow">gimp.Drawable.merge_shadow()</link> for changes to take effect.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"w"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The pixel region's width in pixel.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"x"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The pixel region's x offset relativ to it's drawable.</para>
+              </entry>
+            </row>
+            <row valign="top">
+              <entry>"y"</entry>
+              <entry>Read</entry>
+              <entry>
+                <para>The pixel region's y offset relativ to it's drawable.</para>
+              </entry>
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
+    </blockquote>
+  </refsect1>
+
+  <refsect1 id="methods-pixel-rgn">
+    <title>Methods</title>
+    <refsect2 id="method-pixel-rgn--resize">
+      <title>gimp.PixelRgn.resize</title>
+      <programlisting><methodsynopsis language="python">
+      <methodname>resize</methodname>
+      <methodparam>x</methodparam>
+      <methodparam>y</methodparam>
+      <methodparam>width</methodparam>
+      <methodparam>height</methodparam>
+      </methodsynopsis></programlisting>
+      <variablelist>
+        <varlistentry>
+          <term><parameter>x</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The pixel region's new x offset.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>y</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The pixel region's new y offset.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>width</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The pixel region's new width.</simpara>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+          <term><parameter>height</parameter>&nbsp;:</term>
+            <listitem>
+              <simpara>The pixel region's new height.</simpara>
+            </listitem>
+        </varlistentry>
+      </variablelist>
+      <para>Changes the position and the size of the pixel region.</para>
+    </refsect2>
+  </refsect1>
+</refentry>

Added: branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-ref.xml
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp-ref.xml	Mon Aug 18 15:13:47 2008
@@ -0,0 +1,33 @@
+<?xml version='1.0'?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"; [
+<!ENTITY % entities SYSTEM "entities.docbook">
+%entities;
+<!ENTITY builddate SYSTEM "builddate.xml">
+]>
+
+<book id="pygimp-reference" xmlns:xi="http://www.w3.org/2001/XInclude";>
+  <bookinfo>
+    <pubdate>&builddate;</pubdate>
+    <title>PyGimp Reference Manual</title>
+    <edition>for version version;</edition>
+    <releaseinfo>for PyGimp version version;</releaseinfo>
+    <abstract>
+      <para>This reference describes the classes of the gimp python 
+module.</para>
+    </abstract>
+  </bookinfo>
+  <toc>
+  </toc>
+
+  <!--<xi:include href="pygimp-introduction.xml"/>-->
+
+  <xi:include href="pygimp-classes.xml"/>
+
+<!--
+  <index>
+    <title>Index</title>
+  </index>
+-->
+
+</book>

Added: branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp.xml
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/reference/pygimp.xml	Mon Aug 18 15:13:47 2008
@@ -0,0 +1,16 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd";>
+<refentry id="module-gimp">
+  <refmeta>
+    <refentrytitle>gimp</refentrytitle>
+    <manvolnum>3</manvolnum>
+    <refmiscinfo>PyGimp Docs</refmiscinfo>
+  </refmeta>
+
+  <refnamediv>
+    <refname>gimp</refname>
+      <refpurpose></refpurpose>
+  </refnamediv>
+
+</refentry>

Added: branches/soc-2008-python/plug-ins/pygimp/doc/xsl/common.xsl
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/xsl/common.xsl	Mon Aug 18 15:13:47 2008
@@ -0,0 +1,19 @@
+<?xml version='1.0'?>
+<!DOCTYPE xsl:stylesheet [
+]>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+                version='1.0'>
+
+<xsl:template match="parameter">
+	<xsl:choose>
+		<xsl:when test="@role = 'keyword'">
+			<xsl:call-template name="inline.boldmonoseq"/>
+		</xsl:when>
+		<xsl:otherwise>
+			<xsl:call-template name="inline.italicmonoseq"/>
+		</xsl:otherwise>
+	</xsl:choose>
+</xsl:template>
+
+</xsl:stylesheet>

Added: branches/soc-2008-python/plug-ins/pygimp/doc/xsl/devhelp.xsl
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/xsl/devhelp.xsl	Mon Aug 18 15:13:47 2008
@@ -0,0 +1,154 @@
+<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+                version='1.0'
+                xmlns="http://www.devhelp.net/book";
+                exclude-result-prefixes="#default">
+
+  <xsl:template name="generate.devhelp">
+    <xsl:call-template name="write.chunk">
+      <xsl:with-param name="filename">
+        <xsl:choose>
+          <xsl:when test="$gtkdoc.bookname">
+            <xsl:value-of select="$gtkdoc.bookname"/>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:text>book</xsl:text>
+          </xsl:otherwise>
+        </xsl:choose>
+        <xsl:text>.devhelp</xsl:text>
+      </xsl:with-param>
+      <xsl:with-param name="method" select="'xml'"/>
+      <xsl:with-param name="indent" select="'yes'"/>
+      <xsl:with-param name="encoding" select="'utf-8'"/>
+      <xsl:with-param name="content">
+        <xsl:call-template name="devhelp"/>
+      </xsl:with-param>
+    </xsl:call-template>
+  </xsl:template>
+
+  <xsl:template name="devhelp">
+    <xsl:variable name="title">
+      <xsl:apply-templates select="." mode="generate.devhelp.toc.title.mode"/>
+    </xsl:variable>
+    <xsl:variable name="link">
+      <xsl:call-template name="href.target"/>
+    </xsl:variable>
+    <xsl:variable name="author">
+      <xsl:if test="articleinfo|bookinfo">
+        <xsl:apply-templates mode="generate.devhelp.authors"
+                             select="articleinfo|bookinfo"/>
+      </xsl:if>
+    </xsl:variable>
+    <xsl:variable name="toc.nodes" select="part|reference|preface|chapter|
+                                           appendix|article|bibliography|
+                                           glossary|index|refentry|
+                                           bridgehead|sect1"/>
+
+    <book title="{$title}" link="{$link}" author="{$author}" name="{$gtkdoc.bookname}">
+      <xsl:if test="$toc.nodes">
+        <chapters>
+          <xsl:apply-templates select="$toc.nodes"
+                               mode="generate.devhelp.toc.mode"/>
+        </chapters>
+      </xsl:if>
+      <functions>
+        <xsl:apply-templates select="//refsect1"
+                             mode="generate.devhelp.constructor.index.mode"/>
+        <xsl:apply-templates select="//refsect2"
+                             mode="generate.devhelp.index.mode"/>
+      </functions>
+    </book>
+  </xsl:template>
+
+  <xsl:template match="*" mode="generate.devhelp.toc.mode">
+    <xsl:variable name="title">
+      <xsl:apply-templates select="." mode="generate.devhelp.toc.title.mode"/>
+    </xsl:variable>
+    <xsl:variable name="target">
+      <xsl:variable name="anchor" select="title/anchor"/>
+      <xsl:choose>
+        <xsl:when test="$anchor">
+          <xsl:call-template name="href.target">
+            <xsl:with-param name="object" select="$anchor"/>
+          </xsl:call-template>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:call-template name="href.target"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+
+    <sub name="{$title}" link="{$target}">
+      <xsl:apply-templates select="section|sect1|
+                                   refentry|refsect|
+                                   bridgehead|part|chapter"
+                           mode="generate.devhelp.toc.mode"/>
+    </sub>
+  </xsl:template>
+
+  <xsl:template match="*" mode="generate.devhelp.index.mode">
+    <xsl:variable name="title" select="title"/>
+    <xsl:variable name="anchor" select="title/anchor"/>
+    <xsl:variable name="target">
+      <xsl:choose>
+        <xsl:when test="$anchor">
+          <xsl:call-template name="href.target">
+            <xsl:with-param name="object" select="$anchor"/>
+          </xsl:call-template>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:call-template name="href.target"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <function name="{$title}" link="{$target}"/>
+  </xsl:template>
+
+  <xsl:template match="*" mode="generate.devhelp.constructor.index.mode">
+    <xsl:variable name="title" select="title"/>
+    <xsl:variable name="anchor" select="title/anchor"/>
+    <xsl:variable name="target">
+      <xsl:choose>
+        <xsl:when test="$anchor">
+          <xsl:call-template name="href.target">
+            <xsl:with-param name="object" select="$anchor"/>
+          </xsl:call-template>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:call-template name="href.target"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:if test="$title='Constructor'">
+      <xsl:variable name ="constructor" select="programlisting//methodname"/>
+      <function name="{$constructor}" link="{$target}"/>
+    </xsl:if>
+  </xsl:template>
+
+  <!-- get title -->
+  <xsl:template match="article" mode="generate.devhelp.toc.title.mode">
+    <xsl:value-of select="articleinfo/title"/>
+  </xsl:template>
+  <xsl:template match="book" mode="generate.devhelp.toc.title.mode">
+    <xsl:value-of select="bookinfo/title"/>
+  </xsl:template>
+  <xsl:template match="refentry" mode="generate.devhelp.toc.title.mode">
+    <xsl:value-of select="refnamediv/refname"/>
+  </xsl:template>
+  <xsl:template match="*" mode="generate.devhelp.toc.title.mode">
+    <xsl:value-of select="title"/>
+  </xsl:template>
+
+  <!-- generate list of authors ... -->
+  <xsl:template match="articleinfo|bookinfo" mode="generate.devhelp.authors">
+    <xsl:for-each select="authorgroup/author">
+      <xsl:value-of select="firstname"/>
+      <xsl:text> </xsl:text>
+      <xsl:value-of select="surname"/>
+      <xsl:if test="not(last())">
+        <xsl:text>, </xsl:text>
+      </xsl:if>
+    </xsl:for-each>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: branches/soc-2008-python/plug-ins/pygimp/doc/xsl/fixxref.py.in
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/xsl/fixxref.py.in	Mon Aug 18 15:13:47 2008
@@ -0,0 +1,67 @@
+#!/usr/bin/env python
+# -*- Mode: Python; py-indent-offset: 4 -*-
+
+import getopt
+import os
+import re
+import sys
+
+anchors = {}
+anchor_pat = re.compile(r'''^\s*<ANCHOR\s+id\s*=\s*"([^"]*)"\s+
+                            href\s*=\s*"([^"]*)"\s*>''',
+                        re.MULTILINE | re.VERBOSE)
+link_pat = re.compile(r'''<PYGTKDOCLINK\s+HREF="([^"]*)"\s*>(.*?)
+                          </PYGTKDOCLINK\s*>''', re.DOTALL | re.VERBOSE)
+def scan_index_dir(idir):
+    for root, dirs, files in os.walk(idir):
+        if 'index.sgml' in files:
+            scan_index_file(os.path.join(root, 'index.sgml'))
+    return
+
+def scan_index_file(ifile):
+    buf = open(ifile).read()
+    for id, href in anchor_pat.findall(buf):
+        anchors[id] = href
+
+def fix_xrefs(hdir):
+    for f in os.listdir(hdir):
+        if os.path.splitext(f)[1] == '.html':
+            fix_html_file(os.path.join(hdir, f))
+
+def link_subst(m):
+    id, text = m.groups()
+    if anchors.has_key(id):
+        return '<a\nhref="../' + anchors[id] + '"\n>' + text + '</a>'
+    return text
+
+def fix_html_file(hfile):
+    buf = open(hfile).read()
+    buf = link_pat.sub(link_subst, buf)
+    open(hfile, 'w').write(buf)
+
+def usage(e=None):
+    if e:
+        sys.stderr.write('fixxref.py: %s\n' % e)
+    sys.stderr.write('usage: fixxref.py [-i index-dir] html-dir\n')
+    sys.exit(1)
+
+if __name__ == '__main__':
+    try:
+        opts, args = getopt.getopt(sys.argv[1:], "i:h:",
+                                   ["index-dir=", "html-dir="])
+    except getopt.error, e:
+        usage(e)
+
+    index_dirs = []
+    for opt, arg in opts:
+        if opt in ('-i', '--index-dir'):
+            index_dirs.append(arg)
+
+    if len(args) != 1:
+        usage()
+
+    for idir in index_dirs:
+        scan_index_dir(idir)
+
+    html_dir = args[0]
+    fix_xrefs(html_dir)

Added: branches/soc-2008-python/plug-ins/pygimp/doc/xsl/html.xsl
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/xsl/html.xsl	Mon Aug 18 15:13:47 2008
@@ -0,0 +1,285 @@
+<?xml version='1.0'?>
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY RE "&#10;">
+<!ENTITY nbsp "&#160;">
+]>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+                version='1.0'>
+
+<xsl:param name="html.stylesheet">style.css</xsl:param>
+<xsl:param name="use.id.as.filename" select="1"/>
+<xsl:param name="chunk.fast" select="1"/>
+<xsl:param name="chunker.output.encoding" select="'utf-8'"/>
+
+<xsl:param name="linenumbering.extension" select="1"/>
+<xsl:param name="variablelist.as.table" select="1"/>
+
+<xsl:template match="blockquote">
+  <div class="{local-name(.)}">
+    <xsl:if test="@lang or @xml:lang">
+      <xsl:call-template name="language.attribute"/>
+    </xsl:if>
+    <xsl:call-template name="anchor"/>
+
+    <xsl:choose>
+      <xsl:when test="attribution">
+        <table border="0" width="100%"
+               cellspacing="0" cellpadding="0" class="blockquote"
+               summary="Block quote">
+          <tr>
+            <td width="10%" valign="top">&#160;</td>
+            <td width="80%" valign="top">
+              <xsl:apply-templates select="child::*[local-name(.)!='attribution']"/>
+            </td>
+            <td width="10%" valign="top">&#160;</td>
+          </tr>
+          <tr>
+            <td colspan="2" align="right" valign="top">
+              <xsl:text>--</xsl:text>
+              <xsl:apply-templates select="attribution"/>
+            </td>
+            <td width="10%" valign="top">&#160;</td>
+          </tr>
+        </table>
+      </xsl:when>
+      <xsl:when test="@role = 'properties' or @role = 'prototypes'">
+        <table width="100%" border="0">
+          <tr>
+            <td valign="top">
+              <xsl:apply-templates select="child::*[local-name(.)!='attribution']"/>
+            </td>
+          </tr>
+        </table>
+      </xsl:when>
+      <xsl:otherwise>
+        <blockquote class="{local-name(.)}">
+          <xsl:apply-templates/>
+        </blockquote>
+      </xsl:otherwise>
+    </xsl:choose>
+  </div>
+</xsl:template>
+
+  <!-- support for Python language for synopsises -->
+  <xsl:template match="classsynopsis
+                     |fieldsynopsis
+                     |methodsynopsis
+                     |constructorsynopsis
+                     |destructorsynopsis">
+    <xsl:param name="language">
+      <xsl:choose>
+        <xsl:when test="@language">
+          <xsl:value-of select="@language"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="$default-classsynopsis-language"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:param>
+    <xsl:choose>
+      <xsl:when test="$language='python'">
+        <xsl:apply-templates select="." mode="python"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:apply-imports/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="classsynopsis" mode="python">
+    <table width="100%">
+      <tr><td>
+    <pre class="{name(.)}">
+      <xsl:text>class </xsl:text>
+      <xsl:apply-templates select="ooclass[1]" mode="python"/>
+      <xsl:if test="ooclass[position() &gt; 1]">
+        <xsl:text>(</xsl:text>
+        <xsl:apply-templates select="ooclass[position() &gt; 1]" mode="python"/>        <xsl:text>)</xsl:text>
+      </xsl:if>
+      <xsl:text>:&RE;</xsl:text>
+
+      <xsl:apply-templates select="constructorsynopsis
+                                   |destructorsynopsis
+                                   |fieldsynopsis
+                                   |methodsynopsis
+                                   |classsynopsisinfo" mode="python"/>
+    </pre></td></tr></table>
+  </xsl:template>
+
+  <xsl:template match="classsynopsisinfo" mode="python">
+    <xsl:apply-templates mode="python"/>
+  </xsl:template>
+
+  <xsl:template match="ooclass|oointerface|ooexception" mode="python">
+    <xsl:if test="position() &gt; 1">
+      <xsl:text>, </xsl:text>
+    </xsl:if>
+    <span class="{name(.)}">
+      <xsl:apply-templates mode="python"/>
+    </span>
+  </xsl:template>
+
+  <xsl:template match="modifier" mode="python">
+    <span class="{name(.)}">
+      <xsl:apply-templates mode="python"/>
+      <xsl:text>&nbsp;</xsl:text>
+    </span>
+  </xsl:template>
+
+  <xsl:template match="classname" mode="python">
+    <xsl:if test="name(preceding-sibling::*[1]) = 'classname'">
+      <xsl:text>, </xsl:text>
+    </xsl:if>
+    <span class="{name(.)}">
+      <xsl:apply-templates mode="python"/>
+    </span>
+  </xsl:template>
+
+  <xsl:template match="interfacename" mode="python">
+    <xsl:if test="name(preceding-sibling::*[1]) = 'interfacename'">
+      <xsl:text>, </xsl:text>
+    </xsl:if>
+    <span class="{name(.)}">
+      <xsl:apply-templates mode="python"/>
+    </span>
+  </xsl:template>
+
+  <xsl:template match="exceptionname" mode="python">
+    <xsl:if test="name(preceding-sibling::*[1]) = 'exceptionname'">
+      <xsl:text>, </xsl:text>
+    </xsl:if>
+    <span class="{name(.)}">
+      <xsl:apply-templates mode="python"/>
+    </span>
+  </xsl:template>
+
+  <xsl:template match="fieldsynopsis" mode="python">
+    <code class="{name(.)}">
+      <xsl:text>&nbsp;&nbsp;&nbsp;&nbsp;</xsl:text>
+      <xsl:apply-templates mode="python"/>
+    </code>
+    <xsl:call-template name="synop-break"/>
+  </xsl:template>
+
+  <xsl:template match="type" mode="python">
+    <span class="{name(.)}">
+      <xsl:apply-templates mode="python"/>
+      <xsl:text>&nbsp;</xsl:text>
+    </span>
+  </xsl:template>
+
+  <xsl:template match="varname" mode="python">
+    <span class="{name(.)}">
+      <xsl:apply-templates mode="python"/>
+      <xsl:text>&nbsp;</xsl:text>
+    </span>
+  </xsl:template>
+
+  <xsl:template match="initializer" mode="python">
+    <span class="{name(.)}">
+      <xsl:text>=</xsl:text>
+      <xsl:apply-templates mode="python"/>
+    </span>
+  </xsl:template>
+
+  <xsl:template match="void" mode="python">
+    <span class="{name(.)}">
+      <xsl:text>void&nbsp;</xsl:text>
+    </span>
+  </xsl:template>
+
+  <xsl:template match="methodname" mode="python">
+    <span class="{name(.)}">
+      <xsl:apply-templates mode="python"/>
+    </span>
+  </xsl:template>
+
+  <xsl:template match="methodparam" mode="python">
+    <xsl:if test="position() &gt; 1">
+      <xsl:text>, </xsl:text>
+    </xsl:if>
+    <span class="{name(.)}">
+      <xsl:apply-templates mode="python"/>
+    </span>
+  </xsl:template>
+
+ <xsl:template mode="python"
+    match="destructorsynopsis|methodsynopsis">
+
+    <code class="{name(.)}">
+      <xsl:text>    def </xsl:text>
+      <xsl:apply-templates select="methodname" mode="python"/>
+      <xsl:text>(</xsl:text>
+      <xsl:apply-templates select="methodparam" mode="python"/>
+      <xsl:text>)</xsl:text>
+    </code>
+    <xsl:call-template name="synop-break"/>
+  </xsl:template>
+
+ <xsl:template mode="python"
+    match="constructorsynopsis">
+
+    <code class="{name(.)}">
+      <xsl:text>    </xsl:text>
+      <xsl:apply-templates select="methodname" mode="python"/>
+      <xsl:text>(</xsl:text>
+      <xsl:apply-templates select="methodparam" mode="python"/>
+      <xsl:text>)</xsl:text>
+    </code>
+    <xsl:call-template name="synop-break"/>
+  </xsl:template>
+
+<!-- this was  the original parameter python mode styling
+  <xsl:template match="parameter" mode="python">
+    <span class="{name(.)}">
+      <xsl:apply-templates mode="python"/>
+    </span>
+  </xsl:template>
+-->
+
+  <!-- hack -->
+  <xsl:template match="link" mode="python">
+    <xsl:apply-templates select="."/>
+  </xsl:template>
+
+  <!-- ========================================================= -->
+  <!-- template to output gtkdoclink elements for the unknown targets -->
+
+  <xsl:template match="link">
+    <xsl:choose>
+      <xsl:when test="id(@linkend)">
+        <xsl:apply-imports/>
+      </xsl:when>
+      <xsl:otherwise>
+        <PYGTKDOCLINK HREF="{ linkend}">
+          <xsl:apply-templates/>
+        </PYGTKDOCLINK>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+ <xsl:template match="parameter" mode="python">
+    <span class="{name(.)}">
+	<xsl:choose>
+		<xsl:when test="@role = 'keyword'">
+			<xsl:call-template name="inline.boldmonoseq"/>
+		</xsl:when>
+		<xsl:otherwise>
+			<xsl:call-template name="inline.italicmonoseq"/>
+		</xsl:otherwise>
+	</xsl:choose>
+    </span>
+</xsl:template>
+
+<xsl:template match="variablelist">
+  <table border="0" width="100%">
+    <col align="left" valign="top" width="0*">
+    </col>
+    <tbody>
+      <xsl:apply-templates select="varlistentry" mode="varlist-table"/>
+    </tbody>
+  </table>
+</xsl:template>
+
+</xsl:stylesheet>

Added: branches/soc-2008-python/plug-ins/pygimp/doc/xsl/pdf-style.xsl
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/xsl/pdf-style.xsl	Mon Aug 18 15:13:47 2008
@@ -0,0 +1,11 @@
+<?xml version='1.0'?> <!--*- mode: xml -*-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+		version='1.0'>
+<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>
+<xsl:include href="common.xsl"/>
+<xsl:include href="pdf.xsl"/>
+
+<xsl:param name="section.autolabel" select="1"/>
+<xsl:param name="section.label.includes.component.label" select="1"/>
+
+</xsl:stylesheet>

Added: branches/soc-2008-python/plug-ins/pygimp/doc/xsl/pdf.xsl
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/xsl/pdf.xsl	Mon Aug 18 15:13:47 2008
@@ -0,0 +1,259 @@
+<?xml version='1.0'?>
+<!DOCTYPE xsl:stylesheet [
+<!ENTITY RE "&#10;">
+<!ENTITY nbsp "&#160;">
+]>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+                xmlns:fo="http://www.w3.org/1999/XSL/Format";
+                version='1.0'>
+
+<xsl:param name="body.margin.top">0.5in</xsl:param>
+
+<xsl:template name="is.graphic.extension">
+  <xsl:param name="ext"></xsl:param>
+  <xsl:if test="$ext = 'png'
+                or $ext = 'pdf'
+                or $ext = 'jpeg'
+                or $ext = 'gif'
+                or $ext = 'tif'
+                or $ext = 'tiff'
+                or $ext = 'bmp'">1</xsl:if>
+</xsl:template>
+
+  <!-- support for Python language for synopsises -->
+  <xsl:template match="classsynopsis
+                     |fieldsynopsis
+                     |methodsynopsis
+                     |constructorsynopsis
+                     |destructorsynopsis">
+    <xsl:param name="language">
+      <xsl:choose>
+        <xsl:when test="@language">
+          <xsl:value-of select="@language"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="$default-classsynopsis-language"/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:param>
+    <xsl:choose>
+      <xsl:when test="$language='python'">
+        <xsl:apply-templates select="." mode="python"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:apply-imports/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="classsynopsis" mode="python">
+  <fo:block wrap-option='no-wrap'
+            white-space-collapse='false'
+            linefeed-treatment="preserve"
+            xsl:use-attribute-sets="monospace.verbatim.properties"
+            background-color="#E0E0E0">
+    <xsl:text>class </xsl:text>
+    <xsl:apply-templates select="ooclass[1]" mode="python"/>
+    <xsl:if test="ooclass[position() &gt; 1]">
+      <xsl:text>(</xsl:text>
+      <xsl:apply-templates select="ooclass[position() &gt; 1]" mode="python"/>
+      <xsl:text>)</xsl:text>
+    </xsl:if>
+    <xsl:text>&nbsp;:</xsl:text>
+
+      <xsl:apply-templates select="constructorsynopsis
+                                   |destructorsynopsis
+                                   |fieldsynopsis
+                                   |methodsynopsis
+                                   |classsynopsisinfo" mode="python"/>
+
+  </fo:block>
+  <xsl:text>&RE;</xsl:text>
+  </xsl:template>
+
+  <xsl:template match="classsynopsisinfo" mode="python">
+    <xsl:apply-templates mode="python"/>
+  </xsl:template>
+
+  <xsl:template match="ooclass|oointerface|ooexception" mode="python">
+    <xsl:if test="position() &gt; 1">
+      <xsl:text>, </xsl:text>
+   </xsl:if>
+  <xsl:apply-templates mode="python"/>
+  </xsl:template>
+
+  <xsl:template match="modifier" mode="python">
+      <xsl:apply-templates mode="python"/>
+      <xsl:text>&nbsp;</xsl:text>
+  </xsl:template>
+
+  <xsl:template match="classname" mode="python">
+    <xsl:if test="name(preceding-sibling::*[1]) = 'classname'">
+      <xsl:text>, </xsl:text>
+    </xsl:if>
+      <xsl:apply-templates mode="python"/>
+  </xsl:template>
+
+  <xsl:template match="interfacename" mode="python">
+    <xsl:if test="name(preceding-sibling::*[1]) = 'interfacename'">
+      <xsl:text>, </xsl:text>
+    </xsl:if>
+      <xsl:apply-templates mode="python"/>
+  </xsl:template>
+
+  <xsl:template match="exceptionname" mode="python">
+    <xsl:if test="name(preceding-sibling::*[1]) = 'exceptionname'">
+      <xsl:text>, </xsl:text>
+    </xsl:if>
+      <xsl:apply-templates mode="python"/>
+  </xsl:template>
+
+  <xsl:template match="fieldsynopsis" mode="python">
+  <fo:block wrap-option='no-wrap'
+            white-space-collapse='false'
+            linefeed-treatment="preserve"
+            xsl:use-attribute-sets="monospace.verbatim.properties">
+      <xsl:text>&nbsp;&nbsp;&nbsp;&nbsp;</xsl:text>
+      <xsl:apply-templates mode="python"/>
+    <xsl:call-template name="synop-break"/>
+  </fo:block>
+  </xsl:template>
+
+  <xsl:template match="type" mode="python">
+      <xsl:apply-templates mode="python"/>
+      <xsl:text>&nbsp;</xsl:text>
+  </xsl:template>
+
+  <xsl:template match="varname" mode="python">
+      <xsl:apply-templates mode="python"/>
+      <xsl:text>&nbsp;</xsl:text>
+  </xsl:template>
+
+  <xsl:template match="initializer" mode="python">
+      <xsl:text>=</xsl:text>
+      <xsl:apply-templates mode="python"/>
+  </xsl:template>
+
+  <xsl:template match="void" mode="python">
+      <xsl:text>void&nbsp;</xsl:text>
+  </xsl:template>
+
+  <xsl:template match="methodname" mode="python">
+      <xsl:apply-templates mode="python"/>
+  </xsl:template>
+
+  <xsl:template match="methodparam" mode="python">
+    <xsl:if test="position() &gt; 1">
+      <xsl:text>, </xsl:text>
+    </xsl:if>
+      <xsl:apply-templates mode="python"/>
+  </xsl:template>
+
+ <xsl:template mode="python"
+    match="destructorsynopsis|methodsynopsis">
+
+  <fo:block wrap-option='no-wrap'
+            white-space-collapse='false'
+            linefeed-treatment="preserve"
+            xsl:use-attribute-sets="monospace.verbatim.properties">
+      <xsl:text>    def </xsl:text>
+      <xsl:apply-templates select="methodname" mode="python"/>
+      <xsl:text>(</xsl:text>
+      <xsl:apply-templates select="methodparam" mode="python"/>
+      <xsl:text>)</xsl:text>
+<!--    <xsl:call-template name="synop-break"/> -->
+   </fo:block>
+  </xsl:template>
+
+ <xsl:template mode="python"
+    match="constructorsynopsis">
+    <fo:block  wrap-option='no-wrap'
+            white-space-collapse='false'
+            linefeed-treatment="preserve"
+            xsl:use-attribute-sets="monospace.verbatim.properties">
+      <xsl:text>    </xsl:text>
+      <xsl:apply-templates select="methodname" mode="python"/>
+      <xsl:text>(</xsl:text>
+      <xsl:apply-templates select="methodparam" mode="python"/>
+      <xsl:text>)</xsl:text>
+  </fo:block>
+  </xsl:template>
+
+  <!-- hack -->
+  <xsl:template match="link" mode="python">
+    <xsl:apply-templates select="."/>
+  </xsl:template>
+
+<!--
+<xsl:template match="variablelist" mode="vl.as.blocks">
+  <xsl:variable name="id">
+    <xsl:call-template name="object.id"/>
+  </xsl:variable>
+
+  <xsl:if test="title">
+    <xsl:apply-templates select="title" mode="list.title.mode"/>
+  </xsl:if>
+
+  <fo:block id="{$id}" 
+            xsl:use-attribute-sets="list.block.spacing"
+            background-color="#FFECCE">
+    <xsl:apply-templates mode="vl.as.blocks"/>
+  </fo:block>
+</xsl:template>
+-->
+
+<!--
+<xsl:template match="variablelist">
+  <fo:table border="0"
+            width="100%" 
+            background-color="#FFECCE"
+            table-layout="fixed">
+    <fo:table-column
+            align="left" 
+            column-width="20%"
+            column-number="1">
+    </fo:table-column>
+    <fo:table-column
+            align="left" 
+            column-width="80%"
+            column-number="2">
+    </fo:table-column>
+    <fo:table-body>
+      <xsl:apply-templates select="varlistentry"/>
+    </fo:table-body>
+  </fo:table>
+</xsl:template>
+
+<xsl:template match="varlistentry">
+  <fo:table-row>
+       <fo:table-cell>
+          <fo:block
+            background-color="#FFECCE">
+          <xsl:apply-templates select="term"/>
+          </fo:block>
+       </fo:table-cell>
+       <fo:table-cell>
+          <fo:block
+            background-color="#FFECCE">
+          <xsl:apply-templates select="listitem"/>
+          </fo:block>
+       </fo:table-cell>
+  </fo:table-row>
+</xsl:template>
+
+<xsl:template match="varlistentry/term">
+    <xsl:apply-templates/>
+    <xsl:text>, </xsl:text>
+</xsl:template>
+
+<xsl:template match="varlistentry/term[position()=last()]" priority="2">
+    <xsl:apply-templates/>
+</xsl:template>
+
+<xsl:template match="varlistentry/listitem">
+      <xsl:apply-templates/>
+</xsl:template>
+-->
+
+</xsl:stylesheet>

Added: branches/soc-2008-python/plug-ins/pygimp/doc/xsl/ref-html-style.xsl
==============================================================================
--- (empty file)
+++ branches/soc-2008-python/plug-ins/pygimp/doc/xsl/ref-html-style.xsl	Mon Aug 18 15:13:47 2008
@@ -0,0 +1,54 @@
+<?xml version='1.0'?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+		version='1.0'>
+<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"/>
+<xsl:include href="common.xsl"/>
+<xsl:include href="html.xsl"/>
+<xsl:include href="devhelp.xsl"/>
+
+  <!-- ========================================================= -->
+  <!-- template to create the index.sgml anchor index -->
+
+  <xsl:template name="generate.index">
+    <xsl:call-template name="write.text.chunk">
+      <xsl:with-param name="filename" select="'index.sgml'"/>
+      <xsl:with-param name="content">
+        <!-- check all anchor and refentry elements -->
+        <xsl:apply-templates select="//anchor|//refentry|//refsect1|//refsect2|//book"
+                             mode="generate.index.mode"/>
+      </xsl:with-param>
+      <xsl:with-param name="encoding" select="'utf-8'"/>
+    </xsl:call-template>
+  </xsl:template>
+
+  <xsl:template match="*" mode="generate.index.mode">
+    <xsl:if test="not(@href)">
+      <xsl:if test="@id">
+        <xsl:text>&lt;ANCHOR id=&quot;</xsl:text>
+        <xsl:value-of select="@id"/>
+        <xsl:text>&quot; href=&quot;</xsl:text>
+        <xsl:if test="$gtkdoc.bookname">
+          <xsl:value-of select="$gtkdoc.bookname"/>
+          <xsl:text>/</xsl:text>
+        </xsl:if>
+        <xsl:call-template name="href.target"/>
+        <xsl:text>&quot;&gt;
+        </xsl:text>
+      </xsl:if>
+    </xsl:if>
+  </xsl:template>
+ 
+  <xsl:param name="gtkdoc.version" select="''"/>
+  <xsl:param name="gtkdoc.bookname" select="''"/>
+
+  <xsl:param name="refentry.generate.name" select="0"/>
+  <xsl:param name="refentry.generate.title" select="1"/>
+  <xsl:param name="chapter.autolabel" select="0"/>
+
+  <xsl:template match="book|article">
+    <xsl:apply-imports/>
+    <xsl:call-template name="generate.devhelp"/>
+    <xsl:call-template name="generate.index"/>
+  </xsl:template>
+ 
+</xsl:stylesheet>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]