Commit Graph

652 Commits

Author SHA1 Message Date
Damien Lespiau
7032e24950 cookbook: Make the table of content have a depth of 2
Instead of showing Problem/Solution/Discussion for each recipe, let's
just show the title of those recipes.
2010-08-06 15:43:16 +01:00
Damien Lespiau
86c3be550e cookbook: Remove the note about indenting <xi:include>
It's not necessary now to special case the indentation of includes as
the XSLT for the cookbook strips leading and trailing space automaticaly
for us.
2010-08-06 15:43:16 +01:00
Damien Lespiau
4f5ab7d010 cookbook: Close a tag, making xsltproc happier
A </function> tag was not closed.
2010-08-06 15:43:15 +01:00
Damien Lespiau
cbd6e047dd cookbook: Add a recipe on how to create sub-textures
Fiddle with Cogl textures to create a new ClutterTexture that only
displays a rectangular region of a bigger ClutterTexture.
2010-08-06 15:43:15 +01:00
Damien Lespiau
ad1f1cb741 cookbook: Strip leading and trailing space inside programlisting
It's a XSL FAQ to be able to chomp text nodes and we just have to copy
and paste a XSLT 1.0 solution from:
  http://dpawson.co.uk/xsl/sect2/N8321.html#d11325e833

Let's then empower our cookbook customization layer to chomp text nodes,
children of programlisting.
2010-08-06 15:43:15 +01:00
Damien Lespiau
c0c9ddab65 cookbook: Add text.xml to the list of XML files
text.xml was feeling lonely and forgotten, that's fixed now.
2010-08-06 15:43:15 +01:00
Damien Lespiau
b4f4942e07 cookbook: Add the source XML files as dependencies in the Makefile rules
The generated cookbook files (either HTML or PDF) do not only depend on
clutter-cookbok.xml but also on all the chapters that compose the
cookbook. Add this dependency to the Makefile rules to have make rebuild
the book when a chapter changes.

Since XML_FILES is now the list of source files, move recipe-template.xml
to EXTRA_DIST.
2010-08-06 15:43:15 +01:00
Emmanuele Bassi
8668a019a0 cookbook: Fix the text-shadow recipe
Fill out the recipe and add more comments to the example code.
2010-08-05 12:48:16 +01:00
Elliot Smith
7ed3517504 cookbook: Added recipe for animated rotation of an actor
New recipe covering how to animate rotation of
an actor (in all axes).

Covers various factors affecting rotation animation
(like orientation of axes, parent rotation/orientation),
as well as trying to make rotations easier to visualise
(e.g. describing how rotation direction is affected by
those factors, how a rotation can be expected to look
when animated). Uses implicit animations for code examples.

Also refers to a full code example which uses ClutterState.
2010-07-28 11:43:26 +01:00
Elliot Smith
94fcbafe18 cookbook: Add explanation about including code samples
Updated the "Contributing" section to explain how to include
a full code sample at the end of a recipe.
2010-07-28 11:39:59 +01:00
Elliot Smith
9e29aac49a cookbook: Make filename used in video example consistent
Fixed video filename in sample markup to match the
guidelines given in the "Contributing" section.
2010-07-28 11:39:59 +01:00
Elliot Smith
12ffe70a86 cookbook: Add example code for animated rotation
Add example code demonstrating how to rotate in the x,y,z
axes using ClutterState. Integrated with build.
2010-07-28 11:39:59 +01:00
Elliot Smith
e45b8be71b cookbook: Fix key press to examine modifers correctly
The simple key press example in the cookbook used a brittle
and incorrect switch statement to test modifier values. Instead,
use logical "&" of the state with the modifiers we're interested
in to check which keys were pressed.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2223
2010-07-19 14:45:37 +01:00
Emmanuele Bassi
5865d2a4b3 cookbook: Use TESTS_DATA_DIR
We need the correct location for redhand.png if we want to load it
in textures-reflection.
2010-07-18 22:53:56 +01:00
Emmanuele Bassi
dc19e26073 cookbook: Add image and example for text-shadow 2010-07-18 11:20:44 +01:00
Emmanuele Bassi
0dac5e0557 cookbook: Include the textures-reflection example code
Add a section at the end of the recipe containing the full code of the
example.
2010-07-18 11:15:25 +01:00
Emmanuele Bassi
90b74458d2 cookbook: Add an empty recipe for shadows under text
Currently, it's just an example and an image, but it should be easy to
flesh it out properly for the "Text" chapter.
2010-07-18 10:56:35 +01:00
Emmanuele Bassi
bb3dc013bf cookbook: Add example code
The cookbook should also include fully functional code examples. We can
even XInclude them into the docbook XML itself.

The examples should be built with the coobook, so that we can always
make sure they are up to date.
2010-07-18 10:53:06 +01:00
Emmanuele Bassi
6f220399ae cookbook: Use the right tag for the screenshot
Screenshots should be using the <screenshot> tag, not the <figure> one.
2010-07-16 17:31:27 +01:00
Emmanuele Bassi
71dfdf92d7 Merge remote branch 'elliot/cookbook-actor-opacity'
Conflicts:
	doc/cookbook/Makefile.am
2010-07-16 17:23:36 +01:00
Emmanuele Bassi
af6f023a80 cookbook: Add a missing image to the list 2010-07-16 17:20:38 +01:00
Emmanuele Bassi
e92c8d72cc Merge remote branch 'elliot/cookbook-include-videos'
* elliot/cookbook-include-videos:
  cookbook: Tweak so that videos sit inside a paragraph for better spacing
  docs: Note the P_() macro in the HACKING file
  cookbook: Added support for inline video

Conflicts:
	doc/cookbook/Makefile.am
2010-07-16 17:13:12 +01:00
Emmanuele Bassi
ad1613a936 Merge remote branch 'elliot/cookbook-animation-fading'
* elliot/cookbook-animation-fading:
  cookbook: Minor modification to wording to improve clarity
  cookbook: Added recipe for fading actors in/out
2010-07-16 17:12:37 +01:00
Emmanuele Bassi
4170eacd94 cookbook: Add a recipe for texture reflection
A common request: how to create a clone of a texture that looks like a
reflection.
2010-07-16 17:04:31 +01:00
Elliot Smith
7be6ed3334 cookbook: Added a recipe about making an actor transparent
Explains how to make an actor transparent so that other actors
are visible through it.

Also explains a bit more generally about opacity and how
it's computed from the actor, container, and color; and how actor
visibility is affected by depth (fog) and depth order.
2010-07-16 15:34:09 +01:00
Elliot Smith
da22150498 cookbook: Minor modification to wording to improve clarity
Text referred to three animation methods, but only provides
examples for two of them; and in future there may be more/fewer
than 3. So I reworded it.
2010-07-16 12:48:56 +01:00
Elliot Smith
962b3c6885 cookbook: Added recipe for fading actors in/out
Added a recipe showing how to fade actors in/out by
animating their opacity property, using both implicit
animations and ClutterState.
2010-07-16 12:44:39 +01:00
Emmanuele Bassi
3aa3893a11 docbook: Add an introduction to the texture section 2010-07-16 12:01:42 +01:00
Elliot Smith
489799bb4d cookbook: Tweak so that videos sit inside a paragraph for better spacing 2010-07-15 17:31:10 +01:00
Emmanuele Bassi
ec7b0b4389 docs: Note the P_() macro in the HACKING file 2010-07-15 17:31:10 +01:00
Elliot Smith
1d9c64ff16 cookbook: Added support for inline video
Amended Makefile to copy content of videos directory into
installation directories. Also copies videos and images
into the html/ directory during the build, so that the
built cookbook can be viewed locally (for testing without
having to install).

Added an XSLT template to transform Docbook <inlinemediaobject>
elements into HTML 5 <video> elements, with a fallback to
link to the video displayed for browsers without HTML 5 support.

Added note to "Contributing" appendix explaining how to put
video into a recipe.
2010-07-15 17:31:10 +01:00
Emmanuele Bassi
fae35f8411 docs: Note the P_() macro in the HACKING file 2010-07-15 14:26:16 +01:00
Emmanuele Bassi
0cbfabcda4 stage: Add the NO_CLEAR_ON_PAINT hint
Some apps or some use cases don't need to clear the stage on immediate
rendering GPUs. A media player playing a fullscreen video or a
tile-based game, for instance.

These apps are redrawing the whole screen, so we can avoid clearing the
color buffer when preparing to paint the stage, since there is no
blending with the stage color being performed.

We can add an private set of hints to ClutterStage, and expose accessors
for each potential hint; the first hint is the 'no-clear' one.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2058
2010-07-13 14:57:48 +01:00
Neil Roberts
984e04cae8 Make the material functions for setting the p wrap mode public
Now that we have 3D texture support it makes sense to expose the wrap
mode for the p coordinate.
2010-07-13 14:29:07 +01:00
Neil Roberts
dfea57b45a Add a Cogl texture 3D backend
This adds a publicly exposed experimental API for a 3D texture
backend. There is a feature flag which can be checked for whether 3D
textures are supported. Although we require OpenGL 1.2 which has 3D
textures in core, GLES only provides them through an extension so the
feature can be used to detect that.

The textures can be created with one of two new API functions :-

cogl_texture_3d_new_with_size

 and

cogl_texture_3d_new_from_data

There is also internally a new_from_bitmap function. new_from_data is
implemented in terms of this function.

The two constructors are effectively the only way to upload data to a
3D texture. It does not work to call glTexImage2D with the
GL_TEXTURE_3D target so the virtual for cogl_texture_set_region does
nothing. It would be possible to make cogl_texture_get_data do
something sensible like returning all of the images as a single long
image but this is not currently implemented and instead the virtual
just always fails. We may want to add API specific to the 3D texture
backend to get and set a sub region of the texture.

All of those three functions can throw a GError. This will happen if
the GPU does not support 3D textures or it does not support NPOTs and
an NPOT size is requested. It will also fail if the FBO extension is
not supported and the COGL_TEXTURE_NO_AUTO_MIPMAP flag is not
given. This could be avoided by copying the code for the
GL_GENERATE_MIPMAP TexParameter fallback, but in the interests of
keeping the code simple this is not yet done.

This adds a couple of functions to cogl-texture-driver for uploading
3D data and querying the 3D proxy
texture. prep_gl_for_pixels_upload_full now also takes sets the
GL_UNPACK_IMAGE_HEIGHT parameter so that 3D textures can have padding
between the images. Whenever 3D texture is uploading, both the height
of the images and the height of all of the data is specified (either
explicitly or implicilty from the CoglBitmap) so that the image height
can be deduced by dividing by the depth.
2010-07-13 14:28:52 +01:00
Neil Roberts
8940c30681 Make a public CoglBitmapError enum
There are many places in the texture backend that need to do
conversion using the CoglBitmap code. Currently none of these
functions can throw an error but they do return a value to indicate
failure. In future it would make sense if new texture functions could
throw an error and in that case they would want to use a CoglBitmap
error if the failure was due to the conversion. This moves the
internal CoglBitmap error from the quartz backend to be public in
cogl-bitmap.h so that it can be used in this way.
2010-07-13 14:28:45 +01:00
Emmanuele Bassi
1eec056bfd Merge remote branch 'elliot/cookbook-animation-inversion'
* elliot/cookbook-animation-inversion:
  cookbook: Fixed invalid XML tag
  cookbook: Added "inverting an animation" recipe
  docs: Enabled animation section
2010-07-12 21:25:25 +01:00
Emmanuele Bassi
e2a553da86 Merge remote branch 'elliot/cookbook-animation-intro'
* elliot/cookbook-animation-intro:
  cookbook: Added introduction for animations section
  docs: Enabled animation section
2010-07-12 21:25:22 +01:00
Emmanuele Bassi
2de61da296 Merge remote branch 'elliot/cookbook-consistency'
* elliot/cookbook-consistency:
  cookbook: Fixed typo
  cookbook: Fix build so CSS files get installed
  cookbook: Moved paragraph where it logically belongs
  cookbook: Added some judicious note elements
  cookbook: Added more information for contributors
  cookbook: Link out to docbook site
  cookbook: Made docbook element usage consistent
  cookbook: Additional selectors in CSS stylesheet
  cookbook: Copy the CSS file into the HTML build directory
2010-07-12 21:20:30 +01:00
Elliot Smith
97ac28ee48 cookbook: Added introduction for animations section
Introduces basic concepts (timelines, alphas, frames)
common to different parts of the Clutter animation API.

Gives a high level overview of the three different
approaches to animation (implicit, ClutterAnimator,
ClutterState).
2010-07-12 17:15:16 +01:00
Elliot Smith
295a043194 docs: Enabled animation section 2010-07-12 17:09:03 +01:00
Elliot Smith
9d96c21de6 cookbook: Fixed invalid XML tag 2010-07-12 16:59:38 +01:00
Elliot Smith
6a443a0cd3 cookbook: Added "inverting an animation" recipe
Added a new recipe (based on the skeleton in the
animations section of the cookbook) about inverting
an animation by reversing the direction of its timeline.

Uses clutter_actor_animate() as the basic approach,
but mentions ClutterState and ClutterAnimator as well.
2010-07-12 15:45:49 +01:00
Elliot Smith
bfb51adf97 docs: Enabled animation section 2010-07-12 15:45:46 +01:00
Neil Roberts
0e839c3769 Add cogl_vertex_buffer_is_indices to the public headers
This function has always been defined in the shared library but it was
missed from the public headers.
2010-07-09 18:57:54 +01:00
Neil Roberts
ab05f6bfb1 cogl-material: Add support for point sprites
This adds a new API call to enable point sprite coordinate generation
for a material layer:

void
cogl_material_set_layer_point_sprite_coords_enabled (CoglHandle material,
                                                     int layer_index,
                                                     gboolean enable);

There is also a corresponding get function.

Enabling point sprite coords simply sets the GL_COORD_REPLACE of the
GL_POINT_SPRITE glTexEnv when flusing the material. There is no
separate application control for glEnable(GL_POINT_SPRITE). Instead it
is left permanently enabled under the assumption that it has no affect
unless GL_COORD_REPLACE is enabled for a texture unit.

http://bugzilla.openedhand.com/show_bug.cgi?id=2047
2010-07-08 16:34:30 +01:00
Neil Roberts
73642ac9c4 cogl-material: Add a property for setting the point size
This adds cogl_material_{get,set}_point_size. If the point size is not
1.0f then glPointSize will be called when the material is flushed.

http://bugzilla.openedhand.com/show_bug.cgi?id=2047
2010-07-08 16:34:30 +01:00
Øyvind Kolås
9e730727ca state: add clutter_state_set_state and clutter_state_warp_to_state
Replaced clutter_state_change with a boolean argument for animating the
transition or not with two separate argument-less methods.
2010-07-07 18:17:09 +01:00
Emmanuele Bassi
f87e4037a8 build: Distcheck fixes after the Cally merge 2010-07-07 16:30:31 +01:00
Emmanuele Bassi
e3a8ece54d Merge branch 'cally-merge'
* cally-merge:
  cally: Add introspection generation
  cally: Improving cally doc
  cally: Cleaning CallyText
  cally: Refactoring "window:create" and "window:destroy" emission code
  cally: Use proper backend information on CallyActor
  cally: Check HAVE_CONFIG_H on cally-util.c
  docs: Fix Cally documentation
  cally: Clean up the headers
  Add binaries of the Cally examples to the ignore file
  docs: Add Cally API reference
  Avoid to load cally module on a11y examples
  Add accessibility tests
  Initialize accessibility support on clutter_init
  Rename some methods and includes to avoid -Wshadow warnings
  Cally initialization code
  Add Cally
2010-07-07 16:06:30 +01:00