profile/ivi/clutter.git
14 years ago[tests] Remove test-entry.c since we don't have a ClutterEntry any more
Robert Bragg [Tue, 22 Sep 2009 10:27:47 +0000 (11:27 +0100)]
[tests] Remove test-entry.c since we don't have a ClutterEntry any more

Removes an unused interactive unit test for the old ClutterEntry actor we
used to have.

14 years ago[backend-egl] fix clutter_backend_egl_get_visual_info to not use Xalloc
Robert Bragg [Thu, 20 Aug 2009 10:53:37 +0000 (11:53 +0100)]
[backend-egl] fix clutter_backend_egl_get_visual_info to not use Xalloc

It looks like the intention was to duplicate an XVisualInfo in such a way
that the pointer could be returned and then later freed using XFree.  But
Xalloc isn't an Xlib counterpart to XFree; Xlib doesn't provide a general
purpose malloc wrapper afik.  By shuffling things about a bit, it was
possible to avoid the need for this hack.

14 years agoAdd a few annotations on Cogl primitives functions
Damien Lespiau [Mon, 21 Sep 2009 14:21:21 +0000 (15:21 +0100)]
Add a few annotations on Cogl primitives functions

By default, float * is considered as an out argument by gobject
introspection which is wrong for quite a few Cogl symbols. Start adding
annotations to fix that for the ones in the "Primitives" gtk-doc
section.

14 years ago[container] cast actor to gobject before calling g_object_set_qdata
Robert Bragg [Mon, 21 Sep 2009 17:12:02 +0000 (18:12 +0100)]
[container] cast actor to gobject before calling g_object_set_qdata

A minor compiler warning fix: in destroy_child_meta we weren't casting the
first argument to g_object_set_qdata to a gobject.

14 years ago[container] unset the child meta qdata on the child, not the container
Øyvind Kolås [Mon, 21 Sep 2009 14:55:58 +0000 (15:55 +0100)]
[container] unset the child meta qdata on the child, not the container

In the default implementation of container::destroy_child_meta Set child
meta qdata to NULL on the child and not the container, since the child
is the object that owns the data.

14 years ago[container] set the child meta qdata on the child, not the container
Thomas Wood [Mon, 21 Sep 2009 14:40:53 +0000 (15:40 +0100)]
[container] set the child meta qdata on the child, not the container

Set child meta qdata on the child and not the container, since the child is
the object that owns the data.

14 years ago[cogl] Remove CoglContext->journal_vbo{,_len}
Neil Roberts [Thu, 17 Sep 2009 17:29:03 +0000 (18:29 +0100)]
[cogl] Remove CoglContext->journal_vbo{,_len}

The lifetime of the journal VBO is entirely within the scope of the
cogl_journal_flush function so there is no need to store it globally
in the Cogl context. Instead, upload_vertices_to_vbo just returns the
new VBO. cogl_journal_flush stores this in a local variable and
destroys it before returning.

This also fixes an assertion when using the GLES backend which was
caused by nothing initialising the journal_vbo variable.

14 years ago[build] Split out the custom silent rules
Emmanuele Bassi [Wed, 16 Sep 2009 16:43:58 +0000 (17:43 +0100)]
[build] Split out the custom silent rules

The silent rules we use for custom targets should be moved into a
separate Makefile.am that gets included from all the others.

14 years ago[test-cogl-multitexture] Print an error if textures can't be loaded
Robert Bragg [Wed, 16 Sep 2009 16:12:30 +0000 (17:12 +0100)]
[test-cogl-multitexture] Print an error if textures can't be loaded

I just wasted a silly amount time trying to bisect an apparently broken
cogl-test-multitexture until I realized it was just silently failing to load
any textures.

14 years ago[docs] Fix the comment on version bumps
Emmanuele Bassi [Wed, 16 Sep 2009 11:47:46 +0000 (12:47 +0100)]
[docs] Fix the comment on version bumps

14 years ago[gitignore] Add test-preferred-size
Emmanuele Bassi [Wed, 16 Sep 2009 10:57:45 +0000 (11:57 +0100)]
[gitignore] Add test-preferred-size

14 years ago[timeline] Account for clock roll backs between frames
Emmanuele Bassi [Wed, 16 Sep 2009 10:55:04 +0000 (11:55 +0100)]
[timeline] Account for clock roll backs between frames

If the system clock rolls back between two frames then we need
to account for the change, to avoid stopping the timeline.

The best option, since a roll back can be any arbitrary amount
of milliseconds, is to skip a frame.

Fixes bug:

  http://bugzilla.moblin.org/show_bug.cgi?id=3839

14 years ago[cogl-fbo] Disable mipmap filters before calling glCheckFramebufferStatusEXT
Robert Bragg [Tue, 15 Sep 2009 15:27:45 +0000 (16:27 +0100)]
[cogl-fbo] Disable mipmap filters before calling glCheckFramebufferStatusEXT

The framebuffer_object spec isn't clear in defining whether attaching a
texture as a renderbuffer with mipmap filtering enabled while the mipmaps
have not been uploaded should result in an incomplete framebuffer object.
(different drivers make different decisions)

To avoid an error with drivers that do consider this a problem we explicitly
set non mipmapped filters before calling glCheckFramebufferStatusEXT.  The
filters will later be reset when the texture is actually used for rendering
according to the filters set on the corresponding CoglMaterial.

14 years ago[tests] Add preferred size conformance test unit
Emmanuele Bassi [Tue, 15 Sep 2009 10:09:49 +0000 (11:09 +0100)]
[tests] Add preferred size conformance test unit

This unit verifies that an Actor class will invoke the get_preferred_*
virtual functions unless the caching is in effect; it also verifies
that the cached values are correctly evicted.

14 years ago[tests] Add initial sizing conformance test suite
Emmanuele Bassi [Mon, 14 Sep 2009 20:45:51 +0000 (21:45 +0100)]
[tests] Add initial sizing conformance test suite

The size requisition and allocation mechanisms should be thoroughly
tested to avoid unwanted regressions.

For starters, we can test the explicit size setting and the side
effects of calling clutter_actor_set_size().

14 years ago[container] Use a 1:1 mapping between child and ChildMeta
Emmanuele Bassi [Mon, 14 Sep 2009 14:57:31 +0000 (15:57 +0100)]
[container] Use a 1:1 mapping between child and ChildMeta

Since an actor can only be parented to one container we don't need
the extra complications of maintaining a list of ChildMeta objects
attached to an actor in the default implementation of the Container
interface.

14 years ago[docs] Clutter's model implementation is called ClutterListModel
Damien Lespiau [Thu, 10 Sep 2009 12:27:02 +0000 (13:27 +0100)]
[docs] Clutter's model implementation is called ClutterListModel

It was renamed from ClutterModelDefault to ClutterListModel a while
back. Update the reference to this class in ClutterModel documentation.

14 years ago[docs] Add fixxref for Cairo symbols
Emmanuele Bassi [Wed, 9 Sep 2009 15:15:54 +0000 (16:15 +0100)]
[docs] Add fixxref for Cairo symbols

Let gtk-doc resolve the Cairo types and symbols to the installed
Cairo documentation.

14 years ago[docs] Add a Path migration guide
Emmanuele Bassi [Wed, 9 Sep 2009 15:01:07 +0000 (16:01 +0100)]
[docs] Add a Path migration guide

ClutterBehaviourPath has been changed and ClutterBehaviourBspline has
been removed; now we use ClutterPath everywhere we need to describe a
path. This warrants a chapter in the migration guide.

14 years ago[text] implement get_property for "use-markup"
Øyvind Kolås [Tue, 8 Sep 2009 12:06:51 +0000 (13:06 +0100)]
[text] implement get_property for "use-markup"

14 years ago[docs] Small annotation fixes
Emmanuele Bassi [Mon, 7 Sep 2009 10:44:44 +0000 (11:44 +0100)]
[docs] Small annotation fixes

14 years ago[animation] Move the check for the 'signal::' prefix into a separate function
Neil Roberts [Mon, 7 Sep 2009 10:36:05 +0000 (11:36 +0100)]
[animation] Move the check for the 'signal::' prefix into a separate function

The old code checked whether the property began with 'signal-' and
then checked for 'signal-swapped' and 'signal-after'. This prevented
you from animating a property called for example 'signal-strength'.

The check for the prefix is now in a separate function which also adds
a 'signal-swapped-after' prefix for completeness.

Fixes bug:

  http://bugzilla.openedhand.com/show_bug.cgi?id=1798

14 years ago[docs] Add more collateral documentation
Emmanuele Bassi [Thu, 3 Sep 2009 15:51:14 +0000 (16:51 +0100)]
[docs] Add more collateral documentation

* Add the main Glossary for Clutter terms

* Add the annotation glossary, as generated by gtk-doc

* Add the objects index and tree

14 years agoDOT3_RGB[A] cannot be used in a Blend String
Samuel Degrande [Wed, 2 Sep 2009 15:27:22 +0000 (16:27 +0100)]
DOT3_RGB[A] cannot be used in a Blend String

The blend string compiler checks that the syntax of a function name is
[A-Za-z_]*, preventing the use of DOT3_RGB[A].

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years ago[model] Do not attempt to free empty column names
Emmanuele Bassi [Wed, 2 Sep 2009 14:26:33 +0000 (15:26 +0100)]
[model] Do not attempt to free empty column names

The column names are optional - ClutterModel will use the GType name
if there is no user-specified column name. Hence, the ::finalize vfunc
should not try to free an empty column names vector.

Fixes bug:

  http://bugzilla.openedhand.com/show_bug.cgi?id=1790

14 years ago[docs] Make sure to document the point-release process
Emmanuele Bassi [Mon, 31 Aug 2009 14:49:39 +0000 (15:49 +0100)]
[docs] Make sure to document the point-release process

Put the documentation right inside configure.ac, lest I forget.

14 years agoTake a reference to the material in clutter_texture_set_cogl_material
Neil Roberts [Wed, 26 Aug 2009 17:28:35 +0000 (18:28 +0100)]
Take a reference to the material in clutter_texture_set_cogl_material

The material is unref'd in clutter_texture_finalize and the
documentation explicitly states that the function will take a ref so
it really should.

14 years agoFix the documentation for clutter_texture_set_cogl_material
Neil Roberts [Wed, 26 Aug 2009 17:24:48 +0000 (18:24 +0100)]
Fix the documentation for clutter_texture_set_cogl_material

The documentation was a copy of the docs for set_cogl_texture so it
was somewhat broken.

14 years ago[tests] Update the script test JSON
Emmanuele Bassi [Wed, 26 Aug 2009 15:50:37 +0000 (16:50 +0100)]
[tests] Update the script test JSON

The test-script.json UI definition still used old types, like
ClutterLabel and ClutterCloneTexture. It should move to the classes
that have replaced them.

14 years ago[script] Clean up the ad hoc parsing code in Actor
Emmanuele Bassi [Wed, 26 Aug 2009 15:49:45 +0000 (16:49 +0100)]
[script] Clean up the ad hoc parsing code in Actor

The old parsing code still assumed we had integers for pixels
and floating point values for percentages; this is not the case
anymore.

14 years ago[script] Convert double to float when parsing
Emmanuele Bassi [Wed, 26 Aug 2009 15:48:32 +0000 (16:48 +0100)]
[script] Convert double to float when parsing

The default floating point type for JSON is double precision; this means
that we need to conver to single precision when setting a property with
type G_TYPE_FLOAT.

14 years ago[tests] Add a Group actor unit
Emmanuele Bassi [Tue, 25 Aug 2009 16:55:51 +0000 (17:55 +0100)]
[tests] Add a Group actor unit

We need to test that the depth sorting of ClutterGroup works correctly
in case we wish to change the data structure that stores the children,
and do so without changing the default behaviour.

14 years ago[group] Use floating point in sort_z_order
Øyvind Kolås [Tue, 25 Aug 2009 16:32:42 +0000 (17:32 +0100)]
[group] Use floating point in sort_z_order

14 years ago[docs] Add Interval get_type function
Emmanuele Bassi [Tue, 25 Aug 2009 11:39:40 +0000 (12:39 +0100)]
[docs] Add Interval get_type function

The get_type() function for ClutterInterval is missing from the
known GObject types, so gtk-doc doesn't know that it has to
introspect it for hierarchy, properties and signals.

14 years agoFix the warnings for Animation::update_interval()
Emmanuele Bassi [Tue, 25 Aug 2009 11:18:32 +0000 (12:18 +0100)]
Fix the warnings for Animation::update_interval()

The bindings for update_interval() were copied from bind().

14 years ago[animation] Add Animation::update()
Emmanuele Bassi [Tue, 25 Aug 2009 11:16:41 +0000 (12:16 +0100)]
[animation] Add Animation::update()

Currently, to update a property inside an animation you have to
get the interval for that property and then call the set_final_value()
method.

We can provide a simpler, bind()-like method for the convenience of
the developers that just validates everything and then calls the
Interval.set_final_value().

14 years ago[cogl-texture] Set GL_PACK_ROW_LENGTH when downloading texture data
Neil Roberts [Mon, 24 Aug 2009 11:50:57 +0000 (12:50 +0100)]
[cogl-texture] Set GL_PACK_ROW_LENGTH when downloading texture data

Otherwise the rowstride passed in from an application is not used
correctly so you can not download to an area with a much larger
rowstride.

14 years ago[glx] Perform more checks before calling glXMakeCurrent
Emmanuele Bassi [Fri, 21 Aug 2009 11:05:52 +0000 (12:05 +0100)]
[glx] Perform more checks before calling glXMakeCurrent

Right now we just check for a NULL stage before calling glXMakeCurrent().

We can, though, get a valid stage without an implementation attached to
it while we are disposing a stage after a CLUTTER_DELETE event, since the
events processing is performed on a vblank-locked basis.

14 years agoAdd ::queue-relayout signal to ClutterActor for ClutterClone
Owen W. Taylor [Sat, 8 Aug 2009 01:16:04 +0000 (21:16 -0400)]
Add ::queue-relayout signal to ClutterActor for ClutterClone

ClutterClone bases its preferred size on the preferred size of
the source actor, so it needs to invalid its cached preferred
size when the preferred size of the source actor changes.

In order for this to work, we need to have notification when
the size of the source actor changes, so add a ::queue-relayout
signal to ClutterActor.

Then connect to this from ClutterClone and queue a relayout
on the clone when a relayout is queued on the source.

http://bugzilla.openedhand.com/show_bug.cgi?id=1755

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years agoRevert "[cogl] Allow Cogl to create NPOT textures for GLES2"
Robert Bragg [Thu, 20 Aug 2009 11:53:32 +0000 (12:53 +0100)]
Revert "[cogl] Allow Cogl to create NPOT textures for GLES2"

This reverts commit 3c47a3beb51462ef8af1070b75123660059e97d0.

Of course I remembered just after pushing the patch why we hadn't done
this before :-) If you look in the glsl spec:
http://www.khronos.org/registry/gles/specs/2.0/es_full_spec_2.0.24.pdf
Section 3.7.10 Texture Completeness and Non-Power-Of-Two Textures
you can see GLES 2.0 doesn't support mipmaps for npot textures.

There is possibly some way we could support this in Cogl but at least
it's not as simple as or-ing in the feature flag, sadly.

14 years ago[cogl] Allow Cogl to create NPOT textures for GLES2
Robert Bragg [Thu, 20 Aug 2009 11:15:21 +0000 (12:15 +0100)]
[cogl] Allow Cogl to create NPOT textures for GLES2

The core GLES2 API supports NPOT textures, i.e. there is no extension as for
OpenGL, so we now add COGL_FEATURE_TEXTURE_NPOT to the feature flags in
_cogl_features_init.

Thanks to Gordon Williams for spotting this.

14 years ago[cogl] %.c: %.glsl codegen: use BUILT_SOURCES var + fix stringify.sh
Robert Bragg [Wed, 19 Aug 2009 14:38:25 +0000 (15:38 +0100)]
[cogl] %.c: %.glsl codegen: use BUILT_SOURCES var + fix stringify.sh

Don't let stringify.sh write to the $srcdir + use the BUILT_SOURCES var in
Makefile.am so as to ensure all .c.  and .h files get generated from their
corresponding .glsl files before building other targets.

14 years agoCheck timeline direction when forcing final state
Jonas Bonn [Wed, 19 Aug 2009 13:14:10 +0000 (13:14 +0000)]
Check timeline direction when forcing final state

If the timeline is running backwards, the completed signal handler should
set the final state from the interval's initial value.

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years agoUse AM_SILENT_RULES if automake >= 1.11 is installed
Emmanuele Bassi [Mon, 10 Aug 2009 10:45:44 +0000 (12:45 +0200)]
Use AM_SILENT_RULES if automake >= 1.11 is installed

Fixes bug:

  http://bugzilla.openedhand.com/show_bug.cgi?id=1756

Based on a patch by: Javier Jardón <javierjc1982@gmail.com>

14 years ago[pango-display-list] Don't premultiply the colour twice
Neil Roberts [Tue, 18 Aug 2009 17:07:37 +0000 (18:07 +0100)]
[pango-display-list] Don't premultiply the colour twice

When rendering a glyph run from a texture we were premultiplying the
colour once in display_list_render() and then again in
display_list_render_texture(). This was causing the color to come out
wrong. This fixes bug #1775.

Thanks to Pierre-Luc Beaudoin for reporting.

14 years ago[cogl-material] Fix some brackets in _layer_flush_gl_sampler_state
Robert Bragg [Tue, 18 Aug 2009 15:13:13 +0000 (16:13 +0100)]
[cogl-material] Fix some brackets in _layer_flush_gl_sampler_state

The wrong part of an expression was bracketed in the test to determine
when a new texture matrix needed to be loaded which resulted in the
first pass through _cogl_material_layer_flush_gl_sampler_state
not uploading any user matrix.

14 years ago[docs] texture_polygon() is called polygon()
Emmanuele Bassi [Tue, 18 Aug 2009 10:11:29 +0000 (11:11 +0100)]
[docs] texture_polygon() is called polygon()

Remove the mentions to the old name of cogl_polygon().

14 years ago[build] Nothing can be prepended to QUIET_* rules
Emmanuele Bassi [Mon, 17 Aug 2009 22:27:22 +0000 (23:27 +0100)]
[build] Nothing can be prepended to QUIET_* rules

Move the LD_LIBRARY_PATH override after the QUIET_GEN rule and
unbreak the typelib compilation.

14 years ago[text] move_word_backward/forward fixes
Jussi Kukkonen [Sun, 16 Aug 2009 21:00:35 +0000 (00:00 +0300)]
[text] move_word_backward/forward fixes

clutter_text_move_word_backward/forward() calls did not use the
start argument consistently. Also, clutter_text_move_word_forward()
bound check checked the wrong end.

Fixes #1765

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years ago[text] Don't interpret the unicode value when the control modifier is on
Neil Roberts [Mon, 17 Aug 2009 16:43:42 +0000 (17:43 +0100)]
[text] Don't interpret the unicode value when the control modifier is on

When a letter key is pressed with the control key held down one of
three things will happen :-

a) If the stage is embedded within a GtkClutterEmbed the unicode value
   will be filled from gdk_keyval_to_unicode. This will be the same
   value as if control was not pressed (so Ctrl+V will be 'v').

b) If the stage is not in a GtkClutterEmbed and Clutter is running on
   the X11 backend then it will try to fill in the unicode value from
   XLookupString. This *will* take into account the control so the
   unicode value will represent a control character (Ctrl+V will be
   '\x16').

c) Most other backends will not bother to fill in the unicode
   value. Therefore clutter_keysym_to_unicode will be used which also
   does not take into account the control key (so Ctrl+V will be 'v').

For cut and paste to work in Nbtk, the control keys need to bubble up
to the parent NbtkEntry container. This works fine for 'b' but not 'a'
and 'c'.

This patch makes ClutterText always allow the event to bubble if the
key is not handled by the binding pool and the control modifier is
down.

Ideally ClutterText would always get a unicode value that takes into
account the modifiers but this is probably best left up to the input
methods.

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years agoSet LD_LIBRARY_PATH when running g-ir-compiler
Owen W. Taylor [Mon, 17 Aug 2009 17:57:18 +0000 (13:57 -0400)]
Set LD_LIBRARY_PATH when running g-ir-compiler

g-ir-compiler currently opens the library for the .gir it is compiling;
to make that work we need to set LD_LIBRARY_PATH before running
g-ir-compiler to include .libs.

(I think this may have been working earlier because there was a
hack that substituted .so with .la and tried opening that; that
works for the incorrect libclutter-glx-1.0.so but not for the
correct libclutter-glx-1.0.so.0)

http://bugzilla.openedhand.com/show_bug.cgi?id=1771

14 years agoFull fix for the G-I support in Clutter
Owen W. Taylor [Mon, 17 Aug 2009 14:41:27 +0000 (15:41 +0100)]
Full fix for the G-I support in Clutter

Update the sed hack for the shared library to be more robust.

Remove the --shared-library command line argument from g-ir-scanner,
as no distribution will ever ship the .la files. This effectively
reverts commit 68f8a98cfbf70e2b7bfcda7831907633eb08ca50.

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years agoSpecify the shared library for g-ir-compile
Götz Waschk [Mon, 17 Aug 2009 13:21:42 +0000 (14:21 +0100)]
Specify the shared library for g-ir-compile

Use the --shared-library option to specify the shared object to link
against when compiling the typelib from the GIR data.

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years agoUpdate Clutter to use G-I 0.6.4
Götz Waschk [Mon, 17 Aug 2009 13:12:21 +0000 (14:12 +0100)]
Update Clutter to use G-I 0.6.4

Following bug #1762, the syntax of g-ir-scanner was changed in
gobject-introspection, so Clutter does not build anymore with 0.6.4.

See the bugzilla bug:

  http://bugzilla.gnome.org/show_bug.cgi?id=591669

GObject-Introspection now uses a different mechanism to extract the
SONAME when building the gir file and it needs the libtool archive as
option.

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years ago[docs] Update the requirements section
Emmanuele Bassi [Mon, 17 Aug 2009 09:27:13 +0000 (10:27 +0100)]
[docs] Update the requirements section

14 years ago[units] Do not be locale-dependant on string conversion
Emmanuele Bassi [Fri, 14 Aug 2009 14:59:29 +0000 (15:59 +0100)]
[units] Do not be locale-dependant on string conversion

When dumping a ClutterUnits structure to a string we are using a bare
g_strdup_printf(), which unfortunately is locale dependant. So, for
instance, a type of CLUTTER_UNIT_EM and a value of 42 are stringified
as:

        C:      42.00 em
        en_GB   42.00 em
        it_IT   42,00 em
        fr_FR   42,00 em

This would not be a problem -- clutter_units_from_string() allows both
'.' and ',' as fractionary part delimiters. The test suite, on the
other hand, does not know that, and it checks for exact matches with
the C locale.

Calling setlocale(LC_ALL,"C") at the beginning of the conformance test
suite is not a good idea, because it would prevent external testing; and
it's a lame cop out from doing exactly what we have to do -- pick a format
and stick with it.

Like other platforms, languages and frameworks before us, we opt to
be less liberal in what we create; so, we choose to always stringify
ClutterUnits with fractionary parts using '.' as the delimiter.

Fixes bug:

  http://bugzilla.openedhand.com/show_bug.cgi?id=1763

14 years ago[tests] Abstract GTest and Clutter initialization
Emmanuele Bassi [Fri, 14 Aug 2009 14:58:00 +0000 (15:58 +0100)]
[tests] Abstract GTest and Clutter initialization

The set up process of the conformance test suite is complex enough to
warrant a split up into its own function.

14 years ago[build] Remove last user of CLUTTER_MAJORMINOR
Emmanuele Bassi [Fri, 14 Aug 2009 12:08:59 +0000 (13:08 +0100)]
[build] Remove last user of CLUTTER_MAJORMINOR

We should always use CLUTTER_API_VERSION instead.

14 years ago[build] Clean up the eglnative and fruity Makefile.am
Emmanuele Bassi [Fri, 14 Aug 2009 12:08:17 +0000 (13:08 +0100)]
[build] Clean up the eglnative and fruity Makefile.am

* Do not use CLUTTER_MAJORMINOR

* Use per-target compiler flags and libraries

14 years agoAdd new Atom atom_NET_WM_PID to set pid info
Xu Li [Tue, 4 Aug 2009 14:06:27 +0000 (22:06 +0800)]
Add new Atom atom_NET_WM_PID to set pid info

Clutter advertises itself on X11 as implementing the _NET_WM_PING protocol,
which is needed to be able to detect frozen applications; this allows us to
stop the destruction of the stage by blocking the CLUTTER_DELETE event and
wait for user feedback without the Window Manager thinking that the app has
gone unresponsive.

In order to implement the _NET_WM_PING protocol properly, though, we need
to add the _NET_WM_PID property on the Stage window, since the EWMH states:

  [_NET_WM_PID] MAY be used by the Window Manager to kill windows which
  do not respond to the _NET_WM_PING protocol.

Meaning that an unresponsive Clutter application might not be killable by
the window manager.

Fixes bug:

  http://bugzilla.openedhand.com/show_bug.cgi?id=1748

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years ago[build] Clean up cogl-pango Makefile
Emmanuele Bassi [Fri, 14 Aug 2009 10:29:03 +0000 (11:29 +0100)]
[build] Clean up cogl-pango Makefile

* Do _not_ use CLUTTER_MAJORMINOR to define the installation path
  for the headers; we must use CLUTTER_API_VERSION for that.

* Do not put the C compiler flags in the INCLUDES directive.

Bases on a patch by: Gary Ching-Pang Lin <glin@novell.com>

14 years ago[json] Fix compilation of the internal JSON-GLib
Emmanuele Bassi [Thu, 13 Aug 2009 17:05:38 +0000 (18:05 +0100)]
[json] Fix compilation of the internal JSON-GLib

Define the symbols needed to pass the single include policy when
compiling the static object.

14 years ago[docs] Remove the version number from the title
Emmanuele Bassi [Thu, 13 Aug 2009 15:15:04 +0000 (16:15 +0100)]
[docs] Remove the version number from the title

The version number in the title made sense when we were breaking
API with every minor release. Now that we're API stable we can
drop that and make the output in Devhelp and on the website slightly
more good looking.

14 years ago[docs] Fix the examples for animate()
Emmanuele Bassi [Thu, 13 Aug 2009 15:13:55 +0000 (16:13 +0100)]
[docs] Fix the examples for animate()

Update the examples to reference to existing easing modes and to
make sure to use floating point values for floating point properties.

14 years ago[actor] Allow unsetting width and height separately
Emmanuele Bassi [Thu, 13 Aug 2009 11:26:09 +0000 (12:26 +0100)]
[actor] Allow unsetting width and height separately

It is possible to unset the size of an actor specified with set_width()
and set_height() by using:

  clutter_actor_set_size (actor, -1, -1);

Which works by unsetting the :min-*-set and the :natural-*-set properties.

Calling set_width(-1) and set_height(-1) separately, though, doesn't work
thus implicitly breaking the assumption that set_size() is nothing more
than set_width()+set_height(). This was obviously due to the face that
pre-1.0 set_width() and set_height() took an unsigned integer as an
argument.

14 years agoAdd (allow-none) for clutter_stage_set_key_focus()
Colin Walters [Thu, 13 Aug 2009 09:49:39 +0000 (10:49 +0100)]
Add (allow-none) for clutter_stage_set_key_focus()

The @actor argument can be NULL to unset the key focus.

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years ago[script] Fix Actor's ad-hoc parser
Emmanuele Bassi [Wed, 12 Aug 2009 15:02:23 +0000 (16:02 +0100)]
[script] Fix Actor's ad-hoc parser

ClutterActor parses positional and dimensional properties with a
custom deserializer. We need to:

  - handle G_TYPE_INT64, the default integer type for JSON-GLib
  - use G_TYPE_FLOAT for properties, since Actor switched to it
    for the pixel-based ones

This makes ClutterScript work again.

14 years ago[script] Fix the default deserialization
Emmanuele Bassi [Wed, 12 Aug 2009 15:01:25 +0000 (16:01 +0100)]
[script] Fix the default deserialization

Properties parsed from ClutterScript should now use G_TYPE_INT64
and automatically convert between G_TYPE_INT and G_TYPE_INT64.

14 years ago[json] Update the internal copy of JSON-GLib
Emmanuele Bassi [Wed, 12 Aug 2009 15:00:13 +0000 (16:00 +0100)]
[json] Update the internal copy of JSON-GLib

JSON-GLib switch to 64 bit integers upstream, to avoid the undefined
integer size of the JSON RFC. All integers are automatically promoted
to gint64.

14 years agoInclude clutter-json.h, not json-types.h
Emmanuele Bassi [Wed, 12 Aug 2009 14:57:25 +0000 (15:57 +0100)]
Include clutter-json.h, not json-types.h

The json-types.h header is found by the mere fact of it being
in the project; if we are compiling against the system JSON-GLib
this could be horribly out of date.

We need to use clutter-json.h, which will include the right
header for us.

14 years agoClutter GIR depends on ClutterJson GIR conditionally
Emmanuele Bassi [Wed, 12 Aug 2009 14:32:18 +0000 (15:32 +0100)]
Clutter GIR depends on ClutterJson GIR conditionally

If we're building Clutter with a system JSON-GLib we need to skip
the typelib compilation of ClutterJson since we depend on Json-1.0.gir
directly.

14 years ago[json] Include only json-glib.h
Emmanuele Bassi [Wed, 12 Aug 2009 14:31:16 +0000 (15:31 +0100)]
[json] Include only json-glib.h

JSON-GLib moved to a single include scheme, so we should only include
json-glib.h. If we use the internal copy it doesn't matter, since the
header does the right thing.

14 years agoAdd copyright and license notice
Emmanuele Bassi [Wed, 12 Aug 2009 09:30:11 +0000 (10:30 +0100)]
Add copyright and license notice

The clutter-script-parser.c does not have a copyright and license
notices; even though the LGPL is a per-project license and not a
per-file license, having those notices in every source file is a
good idea.

14 years ago[eglx] Update the EGLX backend
zhou jiangwei [Tue, 11 Aug 2009 13:18:37 +0000 (14:18 +0100)]
[eglx] Update the EGLX backend

The EGLX backend needs to be updated to the new ClutterBackendX11
code.

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years ago[cogl] Fix the GLES 2.0 backend
zhou jiangwei [Tue, 11 Aug 2009 13:17:28 +0000 (14:17 +0100)]
[cogl] Fix the GLES 2.0 backend

Update the GLES 2.0 backend to the new COGL API after the breakage
introduced by the journal.

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years ago[cogl_clear] Also pass the alpha component of the CoglColor to glClearColor
Robert Bragg [Tue, 11 Aug 2009 12:49:12 +0000 (13:49 +0100)]
[cogl_clear] Also pass the alpha component of the CoglColor to glClearColor

Previously we were passing a constant of 0.0 for the alpha component which
wasn't as flexible.

14 years ago[build] Fix LDADD -> LIBADD usage
Emmanuele Bassi [Tue, 11 Aug 2009 12:27:25 +0000 (13:27 +0100)]
[build] Fix LDADD -> LIBADD usage

14 years ago[osx] Clean up Makefile.am
Emmanuele Bassi [Tue, 11 Aug 2009 12:11:34 +0000 (13:11 +0100)]
[osx] Clean up Makefile.am

The OS X backend Makefile.am was missing a line concatenation, and
so the -xobjective-c directive was always ignored.

Instead of dumping everything into INCLUDES and LDADD we should follow
what the rest of the backends do, and use per-target CFLAGS and LDADD,
and reserve the INCLUDES to -D and -I directives.

Thanks to: Christian Hergert <chris@dronelabs.com>

14 years agoMerge branch 'system-json-glib'
Emmanuele Bassi [Mon, 10 Aug 2009 16:21:20 +0000 (17:21 +0100)]
Merge branch 'system-json-glib'

* system-json-glib:
  [script] Simplify the parser code
  Update JSON-GLib dependency

14 years ago[build] Install JSON headers inside the right directory
Emmanuele Bassi [Mon, 10 Aug 2009 16:19:04 +0000 (17:19 +0100)]
[build] Install JSON headers inside the right directory

Don't install inside the clutter-MAJOR_MINOR/ directory, but use
the API_VERSION (1.0).

Otherwise we'd have the Clutter headers for 1.x inside:

        $includedir/clutter-1.0/clutter

And the JSON-related headers inside:

        $includedir/clutter-1.<minor>/clutter

14 years agoBump to 1.1.1 after branching 1.0
Emmanuele Bassi [Fri, 7 Aug 2009 14:27:25 +0000 (15:27 +0100)]
Bump to 1.1.1 after branching 1.0

14 years ago[x11] Do not ask to destroy an empty Window
Emmanuele Bassi [Fri, 7 Aug 2009 07:18:17 +0000 (08:18 +0100)]
[x11] Do not ask to destroy an empty Window

The fix for bug 1750 inside commit b190448e made Clutter-GTK spew
BadWindow errors. The reason for that is that we call XDestroyWindow()
without checking if the old Window is None; this happens if we call
clutter_x11_set_stage_foreign() on a new ClutterStage before it has
been realized.

Since Clutter-GTK does not need to realize the Stage it is going to
embed anymore (the only reason for that was to obtain a proper Visual
but now there's ClutterBackendX11 API for that), the set_stage_foreign()
call is effectively setting the StageX11 Window for the first time.

14 years ago[actor] Add missing return_if_fail()
Emmanuele Bassi [Wed, 5 Aug 2009 16:46:18 +0000 (17:46 +0100)]
[actor] Add missing return_if_fail()

The queue_relayout() method was missing the argument check.

Thanks to: Neil Patel <njpatel@gmail.com>

14 years agoSmall doc fix to clutter_text_get_color
Neil Roberts [Wed, 5 Aug 2009 14:51:49 +0000 (15:51 +0100)]
Small doc fix to clutter_text_get_color

Bug reported by Rob Bradford.

14 years ago[x11] Destroy the Window we own when setting a foreign one
Emmanuele Bassi [Tue, 4 Aug 2009 15:59:15 +0000 (16:59 +0100)]
[x11] Destroy the Window we own when setting a foreign one

When we replace the stage Window using a foreign one we also need to
destroy the Window we created, if needed, to avoid leaking resources
all around.

Fixes bug:

  http://bugzilla.openedhand.com/show_bug.cgi?id=1750

14 years ago[docs] Close a tag
Emmanuele Bassi [Tue, 4 Aug 2009 10:39:09 +0000 (11:39 +0100)]
[docs] Close a tag

14 years ago[docs] Fix a missing parameter
Emmanuele Bassi [Tue, 4 Aug 2009 10:38:48 +0000 (11:38 +0100)]
[docs] Fix a missing parameter

14 years ago[actor] Be more explicit when warning about invariants
Emmanuele Bassi [Tue, 4 Aug 2009 10:11:59 +0000 (11:11 +0100)]
[actor] Be more explicit when warning about invariants

The "catch all" warning for a the mapped invariant violation is too
generic: it doesn't tell you why the invariant was broken in case
we are trying to map an unparented actor - e.g. through a Clone.

14 years ago[cogl] Expose cogl_is_vertex_buffer()
Emmanuele Bassi [Tue, 4 Aug 2009 10:10:55 +0000 (11:10 +0100)]
[cogl] Expose cogl_is_vertex_buffer()

The function is public and available in the shared object, but
it's not present in the header, so this is not an API/ABI change.

14 years ago[build] remove reference to light1.png in tests/interactive/Makefile.am
Robert Bragg [Mon, 3 Aug 2009 14:03:19 +0000 (15:03 +0100)]
[build] remove reference to light1.png in tests/interactive/Makefile.am

This file doesn't exist in the repo and isn't referenced by any unit tests.

14 years ago[build] dist tests/interactive/wrapper.sh
Robert Bragg [Mon, 3 Aug 2009 13:53:46 +0000 (14:53 +0100)]
[build] dist tests/interactive/wrapper.sh

in tests/interactive/Makefile.am add wrapper.sh to EXTRA_DIST otherwise
interactive unit tests wont be runnable when building from distributed
tarballs.

14 years ago[debug] CLUTTER_{NOTE,MARK,DBG,GLERR,TIMESTAMP} should always be statements
Damien Lespiau [Mon, 3 Aug 2009 13:11:33 +0000 (14:11 +0100)]
[debug] CLUTTER_{NOTE,MARK,DBG,GLERR,TIMESTAMP} should always be statements

In case someone tries to do:
if (foo)
CLUTTER_NOTE(DOMAIN, "%s", blah);

CLUTTER_NOTE () should always be a statement

14 years ago[debug] Fix __GNUC__ typo
Damien Lespiau [Mon, 3 Aug 2009 12:58:52 +0000 (13:58 +0100)]
[debug] Fix __GNUC__ typo

The right gcc define is __GNUC__ not __GNUC_. This typo had the side
effect that we were using the non gcc specific debug macros leading to
a less optmised CLUTTER_NOTE () than one could have dreamed of.

14 years ago[build] GCC_FLAGS is no more, MAINTAINER_CFLAGS is the One.
Damien Lespiau [Mon, 3 Aug 2009 12:56:32 +0000 (13:56 +0100)]
[build] GCC_FLAGS is no more, MAINTAINER_CFLAGS is the One.

CC_FLAGS was a left over from the 0.8.x age. Killed it and use the
newer MAINTAINER_CFLAGS variable instead.

14 years ago[gitignore] Ignore new test-color-hls-roundtrip test
Damien Lespiau [Mon, 3 Aug 2009 12:58:21 +0000 (13:58 +0100)]
[gitignore] Ignore new test-color-hls-roundtrip test

14 years ago[actor] Use the right vertex
Emmanuele Bassi [Sun, 2 Aug 2009 17:34:17 +0000 (18:34 +0100)]
[actor] Use the right vertex

The vertex that should be used by the apply_relative_transform
is the one passed in as const, and the result should be placed
inside the non-const ClutterVertext. Currently, we are using
the latter, and thus the function is completely useless.

14 years ago[x11] Force a redraw before mapping the stage
Emmanuele Bassi [Fri, 31 Jul 2009 09:29:33 +0000 (10:29 +0100)]
[x11] Force a redraw before mapping the stage

Does as it says on the tin: run a paint cycle before calling
XMapWindow().

14 years ago[docs] Update building instructions for OS X
Joshua Lock [Fri, 31 Jul 2009 09:16:56 +0000 (10:16 +0100)]
[docs] Update building instructions for OS X

Recommend OS X users install the dependencies using MacPorts and build
Clutter themselves.

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
14 years ago[mingw] Update the README
Neil Roberts [Wed, 29 Jul 2009 18:06:36 +0000 (19:06 +0100)]
[mingw] Update the README

The README has been updated to say that you can use the script under
MSYS and also to contain a pointer to OAH. It also contains the
updated contents of a blog post¹ about building with MSYS.

1. http://www.busydoingnothing.co.uk/blog/2008/07/13#ClutterWin32

14 years ago[mingw-cross-compile.sh] Fix to use git rather than svn
Neil Roberts [Wed, 29 Jul 2009 17:13:19 +0000 (18:13 +0100)]
[mingw-cross-compile.sh] Fix to use git rather than svn

The script includes a part to automatically checkout the Clutter
source and build it but it was using the old svn repo instead of git.