profile/ivi/clutter.git
14 years agoMerge branch 'cally-merge'
Emmanuele Bassi [Wed, 7 Jul 2010 15:06:30 +0000 (16:06 +0100)]
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

14 years agotest-timeline: instantiate a stage so the master clock runs
Robert Bragg [Wed, 7 Jul 2010 14:58:02 +0000 (15:58 +0100)]
test-timeline: instantiate a stage so the master clock runs

This makes test-timeline get the default stage so there is at least one
stage instantiated. Without any stages the master clock will never run
which was causing this test to fail.

14 years agocally: Add introspection generation
Emmanuele Bassi [Wed, 7 Jul 2010 14:57:43 +0000 (15:57 +0100)]
cally: Add introspection generation

Toolkits and applications not written in C might still need access to
the Cally API to write accessibility extensions based on it for their
own native elements.

14 years agoRestore the report on the conformance test suite
Emmanuele Bassi [Wed, 7 Jul 2010 13:50:24 +0000 (14:50 +0100)]
Restore the report on the conformance test suite

The report generation was broken by the split of the various test units;
also, we were using GTest in a way that's not really sanctioned by
upstream.

This commit tries to re-use the targets from GLib's Makefile rules while
compensating for our own set up.

14 years agox11: Clean up NET_WM_STATE modifiers
Emmanuele Bassi [Wed, 7 Jul 2010 13:49:28 +0000 (14:49 +0100)]
x11: Clean up NET_WM_STATE modifiers

Use a separate function to avoid code duplication.

14 years agox11: Do not swallow XSettings events
Emmanuele Bassi [Tue, 6 Jul 2010 16:13:55 +0000 (17:13 +0100)]
x11: Do not swallow XSettings events

We might want pieces higher in the stack (like Mx) to handle XSettings
events as well, and swallowing them by removing them from the events
queue would make it impossible.

14 years agocally: Improving cally doc
Alejandro Piñeiro [Tue, 6 Jul 2010 14:51:24 +0000 (16:51 +0200)]
cally: Improving cally doc

  * Add documentation for all undocumented symbols
  * Add an overview section

14 years agocally: Cleaning CallyText
Alejandro Piñeiro [Tue, 6 Jul 2010 11:28:38 +0000 (13:28 +0200)]
cally: Cleaning CallyText

  * Removing superfluous g_return_if_fail
  * Removing unused ClutterText::text-changed callback

14 years agocally: Refactoring "window:create" and "window:destroy" emission code
Alejandro Piñeiro [Tue, 6 Jul 2010 11:25:44 +0000 (13:25 +0200)]
cally: Refactoring "window:create" and "window:destroy" emission code

Previously "window:create" and "window:destroy" were emitted on
CallyUtil. Although it works, and CallyUtil already have callbacks to
stage_added/removed signals, I think that it is more tidy/clear to do
that on CallyRoot:

  * CallyRoot already has code to manage ClutterStage addition/removal

  * In fact, we can see CallyRoot as the object exposing the a11y
    information from ClutterStageManager, so it fits better here.

  * CallyUtil callbacks these signals are related to key event
    listeners (key snooper simulation). One of the main CallyUtil
    responsabilities is managing event (connecting, emitting), so I
    would prefer to not start to add/mix more functionalities here.

Ideally it would be better to emit all CallyStage methods from
CallyStage, but it is clear that "create" and "destroy" are more easy
to emit from a external object

14 years agocally: Use proper backend information on CallyActor
Alejandro Piñeiro [Tue, 6 Jul 2010 11:36:48 +0000 (13:36 +0200)]
cally: Use proper backend information on CallyActor

It uses HAVE_CLUTTER_GLX to check the current backend in use for
some accessibility related methods.

Fixes CB#2071

14 years agocally: Check HAVE_CONFIG_H on cally-util.c
Alejandro Piñeiro [Wed, 7 Jul 2010 12:05:27 +0000 (14:05 +0200)]
cally: Check HAVE_CONFIG_H on cally-util.c

14 years agoframebuffer: Replace CoglHandle with CoglFramebuffer *
Robert Bragg [Wed, 7 Jul 2010 13:41:54 +0000 (14:41 +0100)]
framebuffer: Replace CoglHandle with CoglFramebuffer *

One more object converted to stop using CoglHandle re:a8c8cbee513

14 years agomaterial: route fogging state through CoglMaterial
Robert Bragg [Tue, 6 Jul 2010 19:18:26 +0000 (20:18 +0100)]
material: route fogging state through CoglMaterial

Previously cogl_set_fog would cause a flush of the Cogl journal and
would directly bang the GL state machine to setup fogging. As part of
the ongoing effort to track most state in CoglMaterial to support
renderlists this now adds an indirection so that cogl_set_fog now just
updates ctx->legacy_fog_state. The fogging state then gets enabled as a
legacy override similar to how the old depth testing API is handled.

14 years agoosx: explicitly request depth and stencil buffer bits
Robert Bragg [Tue, 6 Jul 2010 15:47:09 +0000 (16:47 +0100)]
osx: explicitly request depth and stencil buffer bits

This is a blind patch because I don't know enough about the osx backend
and the osx backend probably doesn't even work these days anyway but
since people have filed bugs specifically on OSX that imply they don't
have a depth or stencil buffer this tries to fix that.

Maybe someone will eventually pick up the osx backend again and verify
if this helps.

http://bugzilla.clutter-project.org/show_bug.cgi?id=1394

14 years agocogl-buffer: Move malloc fallback logic into CoglBuffer
Robert Bragg [Tue, 6 Jul 2010 00:21:43 +0000 (01:21 +0100)]
cogl-buffer: Move malloc fallback logic into CoglBuffer

Since we'll want to share the fallback logic with CoglVertexArray this
moves the malloc based fallback (for when OpenGL doesn't support vertex
or pixel buffer objects) into cogl-buffer.c.

14 years agocogl-buffer: consider it an error to free a mapped buffer
Robert Bragg [Mon, 5 Jul 2010 22:32:55 +0000 (23:32 +0100)]
cogl-buffer: consider it an error to free a mapped buffer

Explicitly warn if we detect that a CoglBuffer is being freed while it
is still mapped. Previously we silently unmapped the buffer, but it's
not something we want to encourage.

14 years agocogl-buffer: Track the last used bind target in CoglBuffer
Robert Bragg [Mon, 5 Jul 2010 22:24:34 +0000 (23:24 +0100)]
cogl-buffer: Track the last used bind target in CoglBuffer

This makes CoglBuffer track the last used bind target as a private
property. This is later used when binding a buffer to map instead of
always using the PIXEL_UNPACK target.

This also adds some additional sanity checks that code doesn't try to
nest binds to the same target or bind a buffer to multiple targets at
the same time.

14 years agotests: Force X synchronization so the stage size is reliable
Robert Bragg [Wed, 7 Jul 2010 12:38:10 +0000 (13:38 +0100)]
tests: Force X synchronization so the stage size is reliable

Normally the asynchronous nature of X means that setting the clutter
stage size may really happen an indefinite amount of time later but
since the tests are so short lived and may only render a single frame
this is not an acceptable semantic.

This way we should be able to remove all the hacky sleeps and frame
count delays from our tests.

14 years agotests: no longer clean up state between tests
Robert Bragg [Wed, 7 Jul 2010 12:31:35 +0000 (13:31 +0100)]
tests: no longer clean up state between tests

Since we now run every test in a separate process there is no need to
try and avoid state leakage between tests. This removes the code to
cleanup all children of the stage and disconnect handlers from the
stage paint signal. We now explicitly print a warning if the users tries
to run multiple tests in one process.

14 years agocogl: expose the semantic differences of gl/gles2 npot textures
Robert Bragg [Tue, 6 Jul 2010 01:01:24 +0000 (02:01 +0100)]
cogl: expose the semantic differences of gl/gles2 npot textures

This adds three new feature flags COGL_FEATURE_TEXTURE_NPOT_BASIC,
COGL_FEATURE_TEXTURE_NPOT_MIPMAP and COGL_FEATURE_TEXTURE_NPOT_REPEAT
that can tell you if your hardware supports non power of two textures,
npot textures + mipmaps and npot textures + wrap modes other than
CLAMP_TO_EDGE.

The pre-existing COGL_FEATURE_TEXTURE_NPOT feature implies all of the
above.

By default GLES 2 core supports npot textures but mipmaps and repeat
modes can only be used with power of two textures. This patch also makes
GLES check for the GL_OES_texture_npot extension to determine if mipmaps
and repeating are supported with npot textures.

14 years agocogl-vertex-buffer: Fix the #define for glDisableVertexAttribArray
Neil Roberts [Tue, 6 Jul 2010 15:08:06 +0000 (16:08 +0100)]
cogl-vertex-buffer: Fix the #define for glDisableVertexAttribArray

glDisableVertexAttribArray was defined to glEnableVertexAttribArray so
it would probably cause crashes if it was ever used. Presumably
nothing is using these yet because the generic attributes are not yet
tied to shader attributes in a predictable way.

14 years agoconfigure: Improves GLES 1.x checks
Robert Bragg [Tue, 6 Jul 2010 13:23:40 +0000 (14:23 +0100)]
configure: Improves GLES 1.x checks

We now always aim to use pkg-config based configuration when possible,
but when not configure.ac now knows the difference between GLES_CM
libraries that contain EGL symbols (I.e. a separate EGL library doesn't
need to be found) and GLESv1_CM libraries that don't contain EGL
symbols.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2160

14 years agotest-state: fix test for state count after state removal
Øyvind Kolås [Tue, 6 Jul 2010 13:26:07 +0000 (14:26 +0100)]
test-state: fix test for state count after state removal

In the .json file used for the test, there is no null -> "base"
transition defined only a "clicked" -> "base", when the "clicked" state
is removed the "base" state will also disappear.

14 years agoanimator: fix removal of multiple keys
Øyvind Kolås [Tue, 6 Jul 2010 12:38:16 +0000 (13:38 +0100)]
animator: fix removal of multiple keys

When removing keys, sometimes a couple of keys would be remaining.

14 years agostate: added clutter_state_key_get_property_type
Øyvind Kolås [Tue, 6 Jul 2010 12:47:49 +0000 (13:47 +0100)]
state: added clutter_state_key_get_property_type

A function to retrieve the type of the value stored in a key, the
equivalent already exists for ClutterAnimator.

14 years agostate: automatically remove unused states
Øyvind Kolås [Tue, 6 Jul 2010 12:34:22 +0000 (13:34 +0100)]
state: automatically remove unused states

When there is no further keys with a state as the target state, remove
the state (and all transitions that used this state as a target)

14 years agobuild: Exclude built sources from the dist
Alexandros Frantzis [Tue, 6 Jul 2010 12:24:00 +0000 (13:24 +0100)]
build: Exclude built sources from the dist

http://bugzilla.clutter-project.org/show_bug.cgi?id=2169

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years agobuild: Allow to run the tests from any directory
Damien Lespiau [Sun, 6 Jun 2010 21:47:02 +0000 (22:47 +0100)]
build: Allow to run the tests from any directory

I was fed up to cd into the tests/conform or tests/interactive directories
to launch a specific test. Now, with the power the abs_ variants of
builddir and srcdir we can run specific test from any directory.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2159

14 years agodebug: Adds a COGL_DEBUG=disable-pbos debug option
Robert Bragg [Tue, 6 Jul 2010 00:30:25 +0000 (01:30 +0100)]
debug: Adds a COGL_DEBUG=disable-pbos debug option

For testing purposes, either to identify bugs in Cogl or the driver or
simulate lack of PBO support COGL_DEBUG=disable-pbos can be used to
fallback to malloc instead.

14 years agopango-render: set CLAMP_TO_EDGE wrap mode on glyph_material
Robert Bragg [Sat, 3 Jul 2010 18:05:04 +0000 (19:05 +0100)]
pango-render: set CLAMP_TO_EDGE wrap mode on glyph_material

The pango renderer was causing lots of override materials to be allocated
because the vertex_buffer API converts AUTOMATIC mode into REPEAT for
backwards compatibility. By explicitly setting the wrap mode to
CLAMP_TO_EDGE when creating the glyph_material then the vertex_buffer
API will leave it untouched.

14 years agopixel-array: Allow passing of hints to cogl_buffer_map
Robert Bragg [Mon, 5 Jul 2010 15:14:00 +0000 (16:14 +0100)]
pixel-array: Allow passing of hints to cogl_buffer_map

This allows you to tell Cogl that you are planning to replace all the
buffer's data once it is mapped with cogl_buffer_map. This means if the
buffer is currently being accessed by the GPU then the driver doesn't
have to stall and wait for it to finish before it can access it from the
CPU and can instead potentially allocate a new buffer with undefined
data and map that.

14 years agotest-cogl-pixel-array: fix how data is initialized
Robert Bragg [Mon, 5 Jul 2010 18:49:35 +0000 (19:49 +0100)]
test-cogl-pixel-array: fix how data is initialized

There was a missing '* 4' and '* i' in the for() loops that initialized
the first test buffer, so it was containing uninitialized data causing
the test to fail.

14 years agomoduleset: Update cairo and pixman versions
Emmanuele Bassi [Tue, 6 Jul 2010 10:57:16 +0000 (11:57 +0100)]
moduleset: Update cairo and pixman versions

The gtk+ we use for clutter-gtk depends on a new version of Cairo.

14 years agomoduleset: Remove libXft
Emmanuele Bassi [Tue, 6 Jul 2010 10:42:08 +0000 (11:42 +0100)]
moduleset: Remove libXft

The system one should be enough.

14 years agodocs: Fix Cally documentation
Emmanuele Bassi [Mon, 5 Jul 2010 14:10:42 +0000 (15:10 +0100)]
docs: Fix Cally documentation

14 years agocally: Clean up the headers
Emmanuele Bassi [Mon, 5 Jul 2010 13:43:18 +0000 (14:43 +0100)]
cally: Clean up the headers

Make Cally follow the single-include header file policy of Clutter and
Cogl; this means making cally.h the single include header, and requires
a new cally-main.h file for the functions defined by cally.h.

Also:

  • clean up the licensing notice and remove the FSF address;

  • document the object structures (instance and class);

  • G_GNUC_CONST-ify the get_type() functions;

  • reduce the padding for CallyActor sub-classes;

  • reduce the amount of headers included.

14 years agoAdd binaries of the Cally examples to the ignore file
Emmanuele Bassi [Mon, 5 Jul 2010 13:00:29 +0000 (14:00 +0100)]
Add binaries of the Cally examples to the ignore file

14 years agodocs: Add Cally API reference
Emmanuele Bassi [Mon, 5 Jul 2010 12:59:36 +0000 (13:59 +0100)]
docs: Add Cally API reference

14 years agoAvoid to load cally module on a11y examples
Alejandro Piñeiro [Tue, 27 Apr 2010 10:08:42 +0000 (12:08 +0200)]
Avoid to load cally module on a11y examples

As cally is being integrated on clutter is not required to load
cally module anymore. Anyway, it is still required to load
the atk bridge by hand. The current way to load it could change
in the future, more information here:

https://bugzilla.gnome.org/show_bug.cgi?id=612599
https://bugzilla.gnome.org/show_bug.cgi?id=619946

Part [4/4] of CB#2099

14 years agoAdd accessibility tests
Alejandro Piñeiro [Mon, 26 Apr 2010 18:07:22 +0000 (20:07 +0200)]
Add accessibility tests

http://bugzilla.clutter-project.org/show_bug.cgi?id=2099

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years agoInitialize accessibility support on clutter_init
Alejandro Piñeiro [Mon, 26 Apr 2010 17:33:49 +0000 (19:33 +0200)]
Initialize accessibility support on clutter_init

Initialize the accessibility support calling cally_accessibility_init

Take into account that this is required to at least be sure that
CallyUtil class is available.

It also modifies cally_accessibility_module_init in order to return
if the initialization was fine (and the name, removing the module word).

It also removes the gnome accessibility hooks, as it is not anymore
module code.

Solves CB#2098

14 years agoRename some methods and includes to avoid -Wshadow warnings
Alejandro Piñeiro [Tue, 15 Jun 2010 11:45:19 +0000 (13:45 +0200)]
Rename some methods and includes to avoid -Wshadow warnings

http://bugzilla.clutter-project.org/show_bug.cgi?id=2097

14 years agoCally initialization code
Alejandro Piñeiro [Mon, 14 Jun 2010 16:05:57 +0000 (18:05 +0200)]
Cally initialization code

This commit includes a method to init the a11y support. Two main purposes:

 * Register the different Atk factories.
 * Ensure that there are a AtkUtil implementation class available.

Part of CB#2097

14 years agoAdd Cally
Alejandro Piñeiro [Mon, 14 Jun 2010 11:38:25 +0000 (13:38 +0200)]
Add Cally

The Clutter Accessibility Library is an implementation of the ATK,
the Accessibility Toolkit, which exposes Clutter actors to accessibility
tools. This allows not only writing accessible user interfaces, but also
allows testing and verification frameworks based on A11Y technologies to
inspect and test a Clutter scene graph.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2097

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years agoUpdate conformance Git ignore file
Emmanuele Bassi [Mon, 5 Jul 2010 15:45:19 +0000 (16:45 +0100)]
Update conformance Git ignore file

14 years agoconform: don't reference old test_cogl_pixel_buffer symbol
Robert Bragg [Mon, 5 Jul 2010 15:17:34 +0000 (16:17 +0100)]
conform: don't reference old test_cogl_pixel_buffer symbol

Since CoglPixelBuffer was renamed to CoglPixelArray the test entry point
was also renamed to test_cogl_pixel_array, but mistakenly the
corresponding test-conform-main.c change wasn't pushed at the same time.

14 years agocogl-object: cogl_is_XYZ prototype should take void *
Robert Bragg [Sat, 3 Jul 2010 20:11:33 +0000 (21:11 +0100)]
cogl-object: cogl_is_XYZ prototype should take void *

This changes the cogl_is_XYZ function prototypes generated when using
the COGL_OBJECT_DEFINE macro to take a void * argument instead of a
CoglHandle argument.

14 years agopixel-array: Only allow allocation of arrays with a 2D size
Robert Bragg [Sat, 3 Jul 2010 23:49:31 +0000 (00:49 +0100)]
pixel-array: Only allow allocation of arrays with a 2D size

This removes cogl_pixel_array_new which just took a size in bytes.

Without the image size and pixel format then the driver often doesn't
have enough information to allocate optimal GPU memory that can be
textured from directly. This is because GPUs often have ways to
spatially alter the layout of a texture to improve cache access patterns
which may require special alignment and padding dependant in the images
width, height and bpp.

Although currently we are limited by OpenGL because it doesn't let us
pass on the width and height when allocating a PBO, the hope is that we
can define a better extension at some point.

14 years agopixel-array: rename new_from_size to new_with_size
Robert Bragg [Sat, 3 Jul 2010 23:45:12 +0000 (00:45 +0100)]
pixel-array: rename new_from_size to new_with_size

It is more in keeping with other coding conventions in Cogl to use new
"with" size instead of new "from" size.

14 years agocogl-buffer-private.h: cleanup up the coding style
Robert Bragg [Sat, 3 Jul 2010 23:18:10 +0000 (00:18 +0100)]
cogl-buffer-private.h: cleanup up the coding style

This file was following the Clutter coding style of arranging prototypes
into columns which Cogl doesn't copy.

14 years agorename CoglPixelBuffer to CoglPixelArray
Robert Bragg [Sat, 3 Jul 2010 22:46:03 +0000 (23:46 +0100)]
rename CoglPixelBuffer to CoglPixelArray

This renames CoglPixelBuffer to CoglPixelArray to be consistent with the
new CoglVertexArray API.

14 years agocogl-buffer: make the COGL_BUFFER_USAGE_HINT private
Robert Bragg [Sat, 3 Jul 2010 20:30:33 +0000 (21:30 +0100)]
cogl-buffer: make the COGL_BUFFER_USAGE_HINT private

The usage hint should be implied by the CoglBuffer subclass type so the
public getter and setter APIs for manually changing the usage hint of a
CoglBuffer have now been removed.

14 years agocogl-buffer: Handle subclass registration like cogl-texture
Robert Bragg [Sat, 3 Jul 2010 22:56:44 +0000 (23:56 +0100)]
cogl-buffer: Handle subclass registration like cogl-texture

Instead of having to extend cogl_is_buffer with new buffer types
manually this now adds a new COGL_BUFFER_DEFINE macro to be used instead
of COGL_OBJECT_DEFINE for CoglBuffer subclasses. This macro will
automatically register the new type with ctx->buffer_types which will
iterated by cogl_is_buffer. This is the same coding pattern used for
CoglTexture.

14 years agopixel-buffer: Replace CoglHandle with CoglPixelBuffer *
Robert Bragg [Sat, 3 Jul 2010 19:24:36 +0000 (20:24 +0100)]
pixel-buffer: Replace CoglHandle with CoglPixelBuffer *

One more file converted to stop using CoglHandle re:a8c8cbee513

14 years agocogl-material: Adds debug api to dump sparse material graph
Robert Bragg [Fri, 2 Jul 2010 17:04:45 +0000 (18:04 +0100)]
cogl-material: Adds debug api to dump sparse material graph

This adds a _cogl_debug_dump_materials_dot_file function that can be
used to dump all the descendants of the default material to a file using
the dot format which can then be converted to an image to visualize.

14 years agocogl-vertex-buffer.h: #include <cogl/cogl-defines.h>
Robert Bragg [Sun, 4 Jul 2010 01:44:37 +0000 (02:44 +0100)]
cogl-vertex-buffer.h: #include <cogl/cogl-defines.h>

cogl-vertex-buffer.h was assuming that the platforms GL headers had
already been included but that shouldn't have to be the case.

14 years agocogl-object-private.h: #include glib.h and cogl-types.h
Robert Bragg [Sat, 3 Jul 2010 20:10:05 +0000 (21:10 +0100)]
cogl-object-private.h: #include glib.h and cogl-types.h

cogl-object-private.h was only working in places that had already
included glib.h and cogl-types.h

14 years agomaterial: don't keep extra ref on copy-on-write materials
Robert Bragg [Sat, 3 Jul 2010 17:44:47 +0000 (18:44 +0100)]
material: don't keep extra ref on copy-on-write materials

In _cogl_material_pre_change_notify if a material with descendants is
modified then we create a new material that is a copy of the one being
modified and reparent those descendants to the new material.

This patch ensures we drop the reference we get from cogl_material_copy
since we can rely on the descendants to keep the new material alive.

14 years agobuild: Fix GLES builds since the material backend split
Robert Bragg [Fri, 2 Jul 2010 00:07:36 +0000 (01:07 +0100)]
build: Fix GLES builds since the material backend split

The commit to split the fragment processing backends out from
cogl-material.c (3e1323a6362906a95) broke the GLES 1 and 2 builds the
fix was to guard the code in each backend according to the
COGL_MATERIAL_BACKEND_XYZ defines which are setup in
cogl-material-private.h.

14 years agodocs: Add a cogl-paths section
Emmanuele Bassi [Fri, 2 Jul 2010 16:48:19 +0000 (17:48 +0100)]
docs: Add a cogl-paths section

The path primitives have a specific section, now, and gtk-doc is loudly
complaining about it being defined but not referenced.

14 years agostate: rename property "target-state" to "state"
Øyvind Kolås [Fri, 2 Jul 2010 15:44:54 +0000 (16:44 +0100)]
state: rename property "target-state" to "state"

This reduces the amount of typing, and should provide for more readable
code for most uses of ClutterState.

14 years agoConvert the ASCII art documentation in cogl-vertex-buffer to PNGs
Neil Roberts [Fri, 2 Jul 2010 15:19:48 +0000 (16:19 +0100)]
Convert the ASCII art documentation in cogl-vertex-buffer to PNGs

The documentation for cogl_vertex_buffer_indices_get_for_quads was
using ugly ASCII art to draw the diagrams. These have now been
replaced with PNG figures.

14 years agoAdd CoglMaterialWrapMode to the Cogl docs and fix docs for the getters
Neil Roberts [Fri, 2 Jul 2010 12:49:34 +0000 (13:49 +0100)]
Add CoglMaterialWrapMode to the Cogl docs and fix docs for the getters

CoglMaterialWrapMode was missing from the cogl-sections.txt file so it
wasn't getting displayed. There were also no documented return values
from the getters.

14 years agoalign-constraint: Offset the position after the alignment factor
Emmanuele Bassi [Fri, 2 Jul 2010 10:38:22 +0000 (11:38 +0100)]
align-constraint: Offset the position after the alignment factor

Instead of aligning (pos + size), align on size alone, and then offset
by pos.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2168

14 years agoFix building the tesselator code for GLES
Neil Roberts [Thu, 1 Jul 2010 19:34:59 +0000 (20:34 +0100)]
Fix building the tesselator code for GLES

The tesselator code uses some defines that it expects to be in the GL
headers such as GLAPI and GLAPIENTRY. These are used to mark the entry
points as exportable on each platform. We don't really want the
tesselator code to use these but we also don't want to modify the C
files so instead they are #defined to be empty in the stub glu.h. That
header is only included internally when building the tesselator/ files
so it shouldn't affect the rest of Cogl.

GLES also doesn't have a GLdouble type so we just #define this to be a
regular double.

14 years agocookbook: Fix up the textures section
Emmanuele Bassi [Thu, 1 Jul 2010 15:05:41 +0000 (16:05 +0100)]
cookbook: Fix up the textures section

14 years agocookbook: Fix examples
Emmanuele Bassi [Thu, 1 Jul 2010 14:59:15 +0000 (15:59 +0100)]
cookbook: Fix examples

14 years agocogl-material: Don't doubly ref the parent in cogl_material_copy
Neil Roberts [Thu, 1 Jul 2010 14:27:03 +0000 (15:27 +0100)]
cogl-material: Don't doubly ref the parent in cogl_material_copy

cogl_material_copy was taking a reference on the original texture when
making a copy. However it then calls _cogl_material_set_parent on the
material which also takes a reference on the parent. The second
reference is cleaned up whenever _cogl_material_unparent is called and
this is also called by _cogl_material_free. However, it seems that
nothing was cleaning up the first reference. I think the reference is
entirely unnecessary so this patch removes it.

14 years agoalign-constraint: Follow the position of the source
Emmanuele Bassi [Thu, 1 Jul 2010 13:09:37 +0000 (14:09 +0100)]
align-constraint: Follow the position of the source

The AlignConstraint update is using only the width/height of the source,
but it should also take into account the position.

Also, instead of using the ::notify signal, it should follow the
BindConstraint, and switch to the ::allocation-changed signal, since
it's less expensive (one emission instead of four notifications, one for
each property we use).

14 years agocogl: don't include cogl-vector.h twice in cogl.h
Robert Bragg [Thu, 1 Jul 2010 11:21:25 +0000 (12:21 +0100)]
cogl: don't include cogl-vector.h twice in cogl.h

cogl-vector.h should only be included by cogl.h when
COGL_ENABLE_EXPERIMENTAL_API is defined. This removes the unguarded
duplicate include.

14 years agocookbook: Clean up build
Emmanuele Bassi [Thu, 1 Jul 2010 11:17:01 +0000 (12:17 +0100)]
cookbook: Clean up build

Create two HTML versions of the cookbook:

  • single page
  • multiple pages

Use the online version of the DocBook XHTML XSL, and disable the PDF
generation until we can restore it.

14 years agocookbook: Split the cookbook chapters
Emmanuele Bassi [Thu, 1 Jul 2010 10:29:46 +0000 (11:29 +0100)]
cookbook: Split the cookbook chapters

Use separate files, to avoid making the XML too big and uneditable.

This breaks the PDF build.

14 years agocookbook: Fix up the examples
Emmanuele Bassi [Thu, 1 Jul 2010 10:08:51 +0000 (11:08 +0100)]
cookbook: Fix up the examples

14 years agocogl: declare experimental symbols consistently
Robert Bragg [Wed, 30 Jun 2010 17:06:04 +0000 (18:06 +0100)]
cogl: declare experimental symbols consistently

We had several different ways of exposing experimental API, in one case
the symbols had no special suffix, in two other ways the symbols were
given an _EXP suffix but in different ways.

This makes all experimental API have an _EXP suffix which is handled
using #defines in the header so the prototypes in the .c and .h files
don't have the suffix.

The documented reason for the suffix is so that anyone watching Cogl for
ABI changes who sees symbols disappear will hopefully understand what's
going on.

14 years agocookbook: Fix entity typo
Emmanuele Bassi [Wed, 30 Jun 2010 16:26:34 +0000 (17:26 +0100)]
cookbook: Fix entity typo

14 years agocookbook: Re-style
Emmanuele Bassi [Wed, 30 Jun 2010 16:18:15 +0000 (17:18 +0100)]
cookbook: Re-style

Use a modified version of the Poky Handbook CSS for the HTML version of
the Cookbook.

Promote Elliot as author.

Re-license from the GPLv2.0 to the CC BY-NC-SA 2.0.

14 years agocogl/tesselator: Update to the latest code from GLU
Neil Roberts [Wed, 30 Jun 2010 14:51:52 +0000 (15:51 +0100)]
cogl/tesselator: Update to the latest code from GLU

This grabs the latest code for libtess from git Mesa. This is mostly
so that we can get the following commit which fixes a lot of compiler
warnings in Clutter:

commit 75acb896c6da758d03e86f8725d6ca0cb2c6ad82
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jun 30 12:41:11 2010 +0100

    glu: Fix some compiler warnings in libtess

    When compiled with the more aggressive compiler warnings such as
    -Wshadow and -Wempty-body the libtess code gives a lot more
    warnings. This fixes the following issues:

    * The 'Swap' macro tries to combine multiple statements into one and
      then consume the trailing semicolon by using if(1){/*...*/}else.
      This gives warnings because the else part ends up with an empty
      statement. It also seems a bit dangerous because if the semicolon
      were missed then it would still be valid syntax but it would just
      ignore the following statement. This patch replaces it with the more
      common idiom do { /*...*/ } while(0).

    * 'free' was being used as a local variable name but this shadows the
      global function. This has been renamed to 'free_handle'

    * TRUE and FALSE were being unconditionally defined. Although this
      isn't currently a problem it seems better to guard them with #ifndef
      because it's quite common for them to be defined in other headers.

    https://bugs.freedesktop.org/show_bug.cgi?id=28845

14 years agodocs: Various fixes for gtk-doc
Emmanuele Bassi [Wed, 30 Jun 2010 14:50:47 +0000 (15:50 +0100)]
docs: Various fixes for gtk-doc

14 years agobackend: Move one-off free in finalize()
Emmanuele Bassi [Wed, 30 Jun 2010 14:00:01 +0000 (15:00 +0100)]
backend: Move one-off free in finalize()

Instead of using dispose().

14 years agodocs: Avoid warnings from the g-ir-scanner
Emmanuele Bassi [Wed, 30 Jun 2010 13:58:47 +0000 (14:58 +0100)]
docs: Avoid warnings from the g-ir-scanner

The scanner has some issues when parsing valid gtk-doc annotations; we
should make its (and, in return, ours) life easier.

We still get warnings for code declared in <programlisting> sections,
unfortunately.

14 years agomaterial: Replace CoglHandle with CoglMaterial *
Robert Bragg [Tue, 22 Jun 2010 13:02:17 +0000 (14:02 +0100)]
material: Replace CoglHandle with CoglMaterial *

As part of the ongoing effort to remove CoglHandle from the API this
switches the cogl_material API to use a strongly typed CoglMaterial
pointer instead of CoglHandle.

14 years agomaterial: Split the fragment processing backends out
Robert Bragg [Tue, 15 Jun 2010 15:44:52 +0000 (16:44 +0100)]
material: Split the fragment processing backends out

This splits the fragment processing backends (glsl, arbfp and fixed) out
from cogl-material.c into their own cogl-material-{glsl,arbfp,fixed}.c
files in an effort to help and keep cogl-material.c maintainable.

14 years agomaterial: remove a duplicate gtk-doc "Since: 1.4"
Robert Bragg [Wed, 30 Jun 2010 02:31:37 +0000 (03:31 +0100)]
material: remove a duplicate gtk-doc "Since: 1.4"

The cogl_material_get_depth_writing_enabled documentation had two
"Since: 1.4" annotations which was confusing the gobject introspection
scanner.

14 years agobackend: fix double free of priv->font_name
Robert Bragg [Wed, 30 Jun 2010 10:23:16 +0000 (11:23 +0100)]
backend: fix double free of priv->font_name

If the backend was disposed then priv->font_name would be freed but not
set to NULL and so if clutter_backend_get_font_name was then called it
would double free priv->font_name.

14 years agobuild: Redirect xsltproc to a directory
Emmanuele Bassi [Wed, 30 Jun 2010 12:26:32 +0000 (13:26 +0100)]
build: Redirect xsltproc to a directory

Apparently, xsltproc recognizes a directory if it has a '/' at the end
of its path, and not by doing the sensible thing and stat()'ing the
argument for the --output option.

14 years agoPost-release version bump to 1.3.7
Emmanuele Bassi [Wed, 30 Jun 2010 11:53:20 +0000 (12:53 +0100)]
Post-release version bump to 1.3.7

14 years agoRelease 1.3.6
Emmanuele Bassi [Wed, 30 Jun 2010 10:18:36 +0000 (11:18 +0100)]
Release 1.3.6

14 years agoRevert "build: Enable the cookbook on distcheck"
Emmanuele Bassi [Wed, 30 Jun 2010 11:40:38 +0000 (12:40 +0100)]
Revert "build: Enable the cookbook on distcheck"

The cookbook fails the distcheck phase, so we'll need to investigate
this a little bit more.

This reverts commit f2361a65de090dfe8aa05534cb9bc1c760555084.

14 years agobuild: Distcheck fixes
Emmanuele Bassi [Wed, 30 Jun 2010 10:55:52 +0000 (11:55 +0100)]
build: Distcheck fixes

14 years agodocs: Disable manual
Emmanuele Bassi [Wed, 30 Jun 2010 10:55:16 +0000 (11:55 +0100)]
docs: Disable manual

The manual never really took off, so we just ship it in the tarballs but
we don't build it.

14 years agodocs: Various fixes
Emmanuele Bassi [Wed, 30 Jun 2010 10:30:45 +0000 (11:30 +0100)]
docs: Various fixes

14 years agotest-cogl-path: Add tests for changing the fill rule
Neil Roberts [Wed, 23 Jun 2010 16:17:40 +0000 (17:17 +0100)]
test-cogl-path: Add tests for changing the fill rule

This creates a path with an outer clockwise and two internal sub
paths, one clockwise and one counter-clockwise. The path is then
painted twice, once with each fill rule.

14 years agocogl-path: Allow changing the fill rule
Neil Roberts [Wed, 23 Jun 2010 12:40:43 +0000 (13:40 +0100)]
cogl-path: Allow changing the fill rule

This adds two new API calls- cogl_path_set_fill_rule and
cogl_path_get_fill_rule. This allows modifying the fill rule of the
current path. In addition to the previous default fill rule of
'even-odd' it now supports the 'non-zero' rule. The fill rule is a
property of the path (not the Cogl context) so creating a new path or
preserving a path with cogl_path_get_handle affects the fill rule.

14 years agocogl-debug: Remove the force-scanline-paths option
Neil Roberts [Mon, 19 Apr 2010 10:24:24 +0000 (11:24 +0100)]
cogl-debug: Remove the force-scanline-paths option

The scanline path rasterizer has been removed because the paths can be
drawn with the tesselator instead. The option therefore no longer does
anything.

14 years agocogl-path: Use the GLU tesselator to draw paths
Neil Roberts [Thu, 15 Apr 2010 22:56:46 +0000 (23:56 +0100)]
cogl-path: Use the GLU tesselator to draw paths

Instead of drawing paths using the stencil buffer trick, it now
tesselates the path into triangles using the GLU tesselator and
renders them directly. A vbo is created with one vertex for each node
on the path. The tesselator is used to generate a series of indices
into the vbo as triangles. The tesselator's output of strips and fans
is converted into GL_TRIANGLES so that it can be rendered with a
single draw call (but the vertices are still shared via the
indices). The vbo is stored with the path so that if the application
uses retained paths then Cogl won't have to tessellate again.

The vertices also have texture coordinates associated with them so
that it can replicate the old behaviour of drawing a material with a
texture by fitting the texture to the bounding box of the path and
then clipping it. However if the texture contains waste or is sliced
then the vertex buffer code will refuse to draw it. In this case it
will revert back to drawing the path into the stencil buffer and then
drawing the material as a clipped quad.

The VBO is used even when setting up the stencil buffer for clipping
to a path because the tessellated geometry may cover less area.

The old scanline rasterizer has been removed because the tesselator
should work equally well on drivers with no stencil buffer.

14 years agocogl: Pull in the code for GLU tesselator from Mesa/SGI
Neil Roberts [Thu, 15 Apr 2010 23:28:15 +0000 (00:28 +0100)]
cogl: Pull in the code for GLU tesselator from Mesa/SGI

This copies the files for the GLU tesselator from Mesa. The Mesa code
is based on the original SGI code and is released under a BSD license.

The memalloc.h header has been replaced with one that forces the code
to use g_malloc and friends. The rest of the files are not altered
from the original so it should be possible to later upgrade the files
by simply overwriting them.

There is a tesselator.h header which is expected to be included by
rest of Cogl to use the tesselator. This contains a trimmed down
version of glu.h that only includes parts that pertain to the
tesselator. There is also a stub glu.h in the GL directory which is
just provided so that the tesselator code can include <GL/gl.h>
without depending on the system header. It just redirects to
tesselator.h

14 years agocookbook: Add a recipe for image loading
Elliot Smith [Tue, 29 Jun 2010 14:49:40 +0000 (15:49 +0100)]
cookbook: Add a recipe for image loading

http://bugzilla.clutter-project.org/show_bug.cgi?id=2165

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years agobuild: Enable the cookbook on distcheck
Emmanuele Bassi [Tue, 29 Jun 2010 17:05:12 +0000 (18:05 +0100)]
build: Enable the cookbook on distcheck

We want to start distributing the cookbook along with the documentation.

14 years agocookbook: Add acknowledgment section
Emmanuele Bassi [Tue, 29 Jun 2010 17:04:52 +0000 (18:04 +0100)]
cookbook: Add acknowledgment section

And fix the URLs.

14 years agocookbook: Add introduction to the events section
Emmanuele Bassi [Tue, 29 Jun 2010 16:57:29 +0000 (17:57 +0100)]
cookbook: Add introduction to the events section