<commit_before><?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 "<EMAIL>">
<!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>
<commit_msg>Add a preface instead of an introduction<commit_after><?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 "<EMAIL>">
<!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>Preface</title>

    <epigraph>
      <attribution>The Perl Cookbook</attribution>
      <para>Let me show you that easy way, so others may easily follow.</para>
    </epigraph>

    <para>There is a wonderful simile in the preface of the <emphasis>Perl
    Cookbook</emphasis>: approaching a programming problem is oftentimes
    similar to balancing Columbus's egg. The initial difficulties of dealing
    with, and more importantly solving, problems in the computer programming
    field sometimes can sometimes only be overcome if somebody shows you how
    to use a new tool. This is true for programming languages but also for
    programming libraries.</para>

    <para>This book has been written to try and give you a reference on
    how to solve common issues that you might have to face when using
    the Clutter toolkit.</para>

    <para>This book is not meant to be a replacement for the API reference,
    even though there will be descriptions of how Clutter works and how
    its API looks like. We will require knowledge of the Clutter API, but
    we will also point out where to find more information on the API that
    examples have used.</para>

    <para>Indeed, this book should be used as a companion to the API reference,
    expanding the examples and showing how to achieve a specific result.</para>

    <para>This is not a book for learning Clutter. This is also not a book
    for learning C, or GObject or even GUI development.</para>

    <para>Above all, this is a book for learning <emphasis>more</emphasis>
    about Clutter, and about how to use it in the most efficient and easiest
    way. It is meant to help you move past the basic usage of Clutter</para>

    <para>This book is divided into chapters. Each chapter is dedicated to
    a specific class, or a specific area. Each chapter starts with a short
    introduction, followed by different <emphasis>recipes</emphasis>. Each
    recipe has a problem, as a short statement describing what we want to
    achieve; a solution, containing the source code; and a discussion
    section, where the code is explained, where alternative approaches might
    be usefule, caveats and references to the Clutter API for furher
    studying.</para>

    <para>This book, in the cookbook spirit, can be accessed mostly at
    random.</para>

    <section>
      <title>About Clutter</title>

      <para>Clutter is an free and open source software library for creating
      fast, visually rich and animated graphical user interfaces.</para>

      <para>Clutter uses OpenGL (and, optionally, OpenGL ES on mobile and
      embedded platforms) for rendering the user interface elements, but
      at the same time it exposes an application program interface that hides
      the underlying complexity of the OpenGL state machine from the
      developer.</para>

      <para>The program interface of Clutter is intended to be easy to use,
      efficient, flexible and as self-documenting as possible.</para>
    </section>

    <section>
      <title>About this document</title>

      <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>

{'fraction_non_alphanumeric': 0.1298691359914288, 'fraction_numerical': 0.003061146399326548, 'mean_word_length': 2.686318758815233, 'pattern_counts': {'":': 0, '<': 443, '<?xml version=': 2, '>': 443, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 6}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '648285', 'n_tokens_mistral': 3876, 'n_tokens_neox': 3572, 'n_words': 1233}