Add the Clutter Cookbook to the build

The "Clutter Cookbook" is a document designed to contain solutions
to common problems applications developers might encounter when using
Clutter. It is meant as a companion to the API reference but it
requires knowledge of the Clutter API and framework.
This commit is contained in:
Emmanuele Bassi 2008-12-11 16:57:46 +00:00
parent 15a04a1dd3
commit 35627f240f
7 changed files with 386 additions and 0 deletions

1
.gitignore vendored
View File

@ -31,6 +31,7 @@ clutter/stamp-*
config.*
configure
depcomp
/doc/cookbook/version.xml
doc/manual/clutter-manual.xml
doc/reference/clutter/clutter-*.txt
!/doc/reference/clutter/clutter-sections.txt

View File

@ -844,6 +844,8 @@ AC_CONFIG_FILES([
doc/reference/cogl/cogl-docs.xml
doc/manual/clutter-manual.xml
doc/manual/Makefile
doc/cookbook/version.xml
doc/cookbook/Makefile
po/Makefile.in
clutter.pc
])

71
doc/cookbook/Makefile.am Normal file
View File

@ -0,0 +1,71 @@
DOCDIR = $(DESTDIR)/$(datadir)/doc/@PACKAGE@-@CLUTTER_API_VERSION@/cookbook
HTML_FILES = html/*.html
IMAGE_FILES = images/*.png
EXTRA_DIST = \
version.xml.in \
cookbook.xsl \
style.css \
$(srcdir)/$(IMAGE_FILES)
CLEANFILES = \
pdf-build.stamp \
txt-build.stamp \
htmldoc-build.stamp
pdf-build.stamp: clutter-cookbook.xml
SP_ENCODING=XML SP_CHARSET_FIXED=YES \
$(JW) -b pdf $(srcdir)/clutter-cookbook.xml && \
mv $(srcdir)/clutter-cookbook.pdf clutter-cookbook-@CLUTTER_API_VERSION@.pdf && \
touch pdf-build.stamp
txt-build.stamp: clutter-cookbook.xml
$(XMLTO) txt $(srcdir)/clutter-cookbook.xml && \
mv $(srcdir)/clutter-cookbook.txt clutter-cookbook-@CLUTTER_MAJORMINOR@.txt && \
touch txt-build.stamp
htmldoc-build.stamp: clutter-cookbook.xml
$(mkinstalldirs) html && \
$(XMLTO) -m cookbook.xsl -o html/ xhtml $(srcdir)/clutter-cookbook.xml && \
cp $(srcdir)/style.css html/ && \
touch htmldoc-build.stamp
doc: txt-build.stamp htmldoc-build.stamp pdf-build.stamp
if ENABLE_MANUAL
all-local: doc
else
all-local:
endif
clean-local:
rm -rf html/*.html
rm -f html/style.css
rm -f clutter-cookbook-*.txt
rm -f *.pdf
uninstall-local:
rm -rf $(DOCDIR);
install-data-local:
installfiles=`echo $(srcdir)/html/*`; \
if test "$$installfiles" = '$(srcdir)/html/*'; then \
echo '-- Nothing to install' ; \
else \
$(mkinstalldirs) $(DOCDIR)/html/images ; \
for file in `ls $(srcdir)/$(HTML_FILES)`; do \
if [ -f $$file ]; then \
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
$(INSTALL_DATA) $$file $(DOCDIR)/html/$$basefile; \
fi \
done; \
for file in `ls $(srcdir)/$(IMAGE_FILES)`; do \
if [ -f $$file ]; then \
basefile=`echo $$file | sed -e 's,^.*/,,'`; \
$(INSTALL_DATA) $$file $(DOCDIR)/html/images/$$basefile; \
fi \
done; \
$(INSTALL_DATA) $(srcdir)/style.css $(DOCDIR)/html/style.css; \
$(INSTALL_DATA) $(srcdir)/clutter-cookbook-@CLUTTER_MAJORMINOR@.txt $(DOCDIR)/clutter-cookbook-@CLUTTER_MAJORMINOR@.txt; \
$(INSTALL_DATA) $(srcdir)/clutter-cookbook-@CLUTTER_MAJORMINOR@.pdf $(DOCDIR)/clutter-cookbook-@CLUTTER_MAJORMINOR@.pdf; \
fi
.PHONY : doc

View File

@ -0,0 +1,200 @@
<?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://clutter-project.org">
<!ENTITY docurl "http://clutter-project.org/docs/">
<!ENTITY author_mail "ebassi@linux.intel.com">
<!ENTITY version SYSTEM "version.xml">
]>
<book lang="en">
<bookinfo> <!-- {{{ -->
<author>
<firstname>Emmanuele</firstname>
<surname>Bassi</surname>
<address><email>&author_mail;</email></address>
</author>
<copyright>
<year>2008</year>
<holder>Intel Corporation</holder>
</copyright>
<legalnotice>
<para>This document is distributed under the terms of the GNU General
Public License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. A copy
of this license can be found in the file COPYING included with the
source code of this program.</para>
</legalnotice>
<title>The Clutter Cookbook &version;</title>
</bookinfo> <!-- }}} -->
<chapter id="introduction"> <!-- {{{ -->
<title>Introduction</title>
<section>
<title>About Clutter</title>
<para>FIXME</para>
</section>
<section>
<title>About this document</title>
<para>This document tries to provide examples on how to perform some
common tasks when building an application or a toolkit using the
Clutter library.</para>
<para>This document is available in various formats like HTML,
text and PDF. The latest version is always available at
<ulink url="&docurl;">&docurl;</ulink>.</para>
</section>
<section>
<title>Where to get Clutter</title>
<para>You can obtain Clutter from <ulink url="&appurl;">&appurl;</ulink>
or perhaps from your distributor.</para>
</section>
<section>
<title>License</title>
<para>Clutter is distributed under the terms of the GNU Lesser General
Public License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version. A copy
of this license can be found in the file COPYING included with the
source code of this program.</para>
</section>
</chapter> <!-- introduction }}} -->
<chapter id="actors"> <!-- actors {{{ -->
<title>Actors</title>
<epigraph>
<attribution>the author of the epigraph</attribution>
<para>a short epigraph</para>
</epigraph>
<section id="actors-introduction">
<title>Introduction</title>
<para>introduction</para>
</section>
<section id="actors-recipe-1"> <!-- recipe 1 {{{ -->
<title>A problem involving actors</title>
<section>
<title>Problem</title>
<para>Description of the problem</para>
</section>
<section>
<title>Solution</title>
<para>The solution of the problem, with the source code</para>
</section>
<section>
<title>Discussion</title>
<para>Discussion of the solution, with eventual mentions of
possible alternatives</para>
</section>
</section> <!-- recipe 1 }}} -->
</chapter> <!-- actors }}} -->
<chapter id="textures"> <!-- textures {{{ -->
<title>Textures</title>
<epigraph>
<attribution>the author of the epigraph</attribution>
<para>a short epigraph</para>
</epigraph>
<section id="textures-introduction">
<title>Introduction</title>
<para>introduction</para>
</section>
<section> <!-- recipe 1 {{{ -->
<title>Maintaining the aspect ratio when loading a texture</title>
<section>
<title>Problem</title>
<para></para>
</section>
<section>
<title>Solution</title>
<para></para>
</section>
<section>
<title>Discussion</title>
<para></para>
</section>
</section> <!-- recipe 1 }}} -->
</chapter> <!-- textures }}} -->
<chapter id="animations"> <!-- animations {{{ -->
<title>Animations</title>
<epigraph>
<attribution>the author of the epigraph</attribution>
<para>a short epigraph</para>
</epigraph>
<section id="animations-introduction">
<title>Introduction</title>
<para>introduction</para>
</section>
<section> <!-- recipe 1 {{{ -->
<title>Inverting Animations</title>
<section>
<title>Problem</title>
<para></para>
</section>
<section>
<title>Solution</title>
<para></para>
</section>
<section>
<title>Discussion</title>
<para></para>
</section>
</section> <!-- recipe 1 }}} -->
</chapter> <!-- animations }}} -->
<appendix id="contributing"> <!-- {{{ -->
<title>Contributing to this document</title>
<para>This document is written in Docbook XML. The source file for this
document is located in the subdirectory "doc/cookbook" of the source
directory of Clutter.</para>
</appendix> <!-- contributing }}} -->
</book>

14
doc/cookbook/cookbook.xsl Normal file
View File

@ -0,0 +1,14 @@
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version='1.0'
xmlns="http://www.w3.org/TR/xhtml1/transitional"
exclude-result-prefixes="#default">
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"/>
<!-- Use stylesheet -->
<xsl:param name="html.stylesheet" select="'style.css'"/>
<xsl:param name="chunker.output.encoding" select="'UTF-8'"/>
</xsl:stylesheet>

97
doc/cookbook/style.css Normal file
View File

@ -0,0 +1,97 @@
body address
{
line-height: 1.3;
margin: .6em 0;
}
body blockquote
{
margin-top: .75em;
line-height: 1.5;
margin-bottom: .75em;
}
html body
{
margin: 1em 2% 1em 2%;
line-height: 1.2;
background-color: #ffffff;
}
body pre
{
margin: .75em 0;
line-height: 1.3;
color: #4f3f3f;
font-weight: bold;
}
body div
{
margin: 0;
}
dl
{
margin: .4em 0;
line-height: 1.2;
}
.legalnotice
{
font-size: small;
}
h1,h2,h3,h4,h5,h6,
div.example p b,
.question,
div.table p b,
div.procedure p b
{
color: #990000;
}
.option
{
color: #0000ca;
font-weight: bold;
}
.parameter
{
color: #007a00;
font-weight: bold;
}
a
{
color: #000000;
}
a:hover
{
color: #3c3c3c;
border-bottom: 1px solid #dc0000;
}
hr
{
background-color: #9c9c9c;
border-style: none;
height: 1px;
}
li
{
list-style-type: square;
}
.programlisting, .screen
{
background-color: #F8F9FD;
border-color: #907777;
border-width: 1px;
border-style: solid;
padding: 0.5em;
}

View File

@ -0,0 +1 @@
@CLUTTER_API_VERSION@