mutter/doc/cookbook/clutter-cookbook.xml.in

176 lines
6.0 KiB
XML
Raw Normal View History

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
<!ENTITY appurl "http://www.clutter-project.org">
<!ENTITY docurl "http://docs.clutter-project.org/docs/clutter-cookbook">
<!ENTITY license_url "http://creativecommons.org/licenses/by-nc-sa/2.0/uk/">
<!ENTITY ebassi_mail "ebassi@linux.intel.com">
<!ENTITY elliot_mail "elliot.smith@intel.com">
<!ENTITY apiversion "@CLUTTER_API_VERSION@">
]>
<book lang="en"
xmlns:xi="http://www.w3.org/2003/XInclude">
2010-07-01 06:08:51 -04:00
<bookinfo>
<authorgroup>
<author>
<firstname>Emmanuele</firstname>
<surname>Bassi</surname>
<address><email>&ebassi_mail;</email></address>
</author>
<author>
<firstname>Elliot</firstname>
<surname>Smith</surname>
<address><email>&elliot_mail;</email></address>
</author>
</authorgroup>
<copyright>
<year>2009, 2010</year>
<holder>Intel Corporation</holder>
</copyright>
<legalnotice>
<para>Permission is granted to copy, distribute and/or modify this
2010-06-30 12:26:34 -04:00
document under the terms of the <ulink url="&license_url;">Creative
Commons Attribution-Non-Commercial-Share Alike 2.0 UK: England &amp;
Wales</ulink> as published by Creative Commons.</para>
</legalnotice>
<title>The Clutter Cookbook</title>
<releaseinfo>for Clutter &apiversion;</releaseinfo>
2010-07-01 06:08:51 -04:00
</bookinfo>
<xi:include href="introduction.xml" />
<xi:include href="actors.xml" />
<xi:include href="events.xml" />
<xi:include href="textures.xml" />
<xi:include href="animations.xml" />
<xi:include href="text.xml" />
2010-07-01 06:08:51 -04:00
<appendix id="contributing">
<title>Contributing to this document</title>
<para>This document is written in
<ulink url="http://docbook.org/">Docbook XML</ulink>. The source files
for this document are located in the subdirectory
<filename>doc/cookbook</filename> inside the Clutter source directory.</para>
<para>To maintain some degree of consistency, try to stick to the
following broad guidelines about how to write Docbook for this
cookbook:</para>
<itemizedlist>
<listitem>
<para>If adding a new recipe, use the
<filename>recipe-template.xml</filename> XML file as a basis.
You can find it in the <filename>&lt;clutter source&gt;/doc/cookbook/</filename>
directory.</para>
</listitem>
<listitem>
<para>Try to indent your XML sensibly using 2 spaces per level
(we're not too strict, but some indentation helps reading
the source).</para>
</listitem>
<listitem>
<para>Stick to a column width of around 80 characters.</para>
</listitem>
<listitem>
<para>Use the &lt;filename&gt; element for file
and directory names.</para>
</listitem>
<listitem>
<para>Use the &lt;property&gt; element for property names
(e.g. GObject properties).</para>
</listitem>
<listitem>
<para>Use the &lt;type&gt; element for GObject class
names.</para>
</listitem>
<listitem>
<para>Use the &lt;constant&gt; element for C defines.</para>
</listitem>
<listitem>
<para>Use the &lt;keycap&gt; element for keys, where
you are referring to what's actually printed on the key, e.g.
<keycap>Shift</keycap>. If you're referring to the key some
other way (e.g. "the Control key"), don't use
&lt;keycap&gt;.</para>
</listitem>
<listitem>
<para>Use the &lt;function&gt; element for functions;
the style adopted is to give the function name followed by
empty brackets, e.g. <function>clutter_actor_set_size()</function>.
</para>
</listitem>
<listitem>
<para>Use the &lt;note&gt; element for asides which might
otherwise interrupt the flow of the recipe.</para>
</listitem>
<listitem>
<para>To include a video in a recipe, do the following:</para>
<itemizedlist>
<listitem>
<para>Make the video as short as is practical, and only include
the relevant Clutter window(s).</para>
</listitem>
<listitem>
<para>Use Ogg Theora for the encoding.</para>
</listitem>
<listitem>
<para>Put the file into the
<filename>&lt;clutter source&gt;/doc/cookbook/videos</filename>
directory. The name should be in the format
<filename>&lt;section&gt;-&lt;recipe&gt;-&lt;identifier&gt;.ogv</filename>.
For example: <filename>animations-fading-fade-out.ogv</filename>.</para>
</listitem>
<listitem>
<para>Add the name of the file to the <varname></varname>
in the cookbook's <filename>Makefile.am</filename>, e.g.</para>
<informalexample>
<programlisting>
<![CDATA[
VIDEO_FILES = \
videos/animations-fading-fade-out.ogv \
$(NULL)
]]>
</programlisting>
</informalexample>
<para>This ensures it gets included in the distribution and
installation.</para>
</listitem>
<listitem>
<para>Use an &lt;inlinemediaobject&gt; to include it in the
Docbook recipe file. It should look something like this:</para>
<informalexample>
<programlisting>
<![CDATA[
<inlinemediaobject>
<videoobject>
<videodata fileref="videos/cookbook-animations-fading-in-then-out.ogv"/>
</videoobject>
<alt>
<para>Video showing an actor fading in then out using
<type>ClutterState</type></para>
</alt>
</inlinemediaobject>
]]>
</programlisting>
</informalexample>
<para>The &lt;alt&gt; tag provides the text which
is presented as a link to the file for users whose browser
doesn't support HTML 5 embedded video.</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
2010-07-01 06:08:51 -04:00
</appendix>
</book>