profile/ivi/clutter.git
12 years agoReduce our internal dependence on the Cogl 1.x api
Robert Bragg [Tue, 21 Feb 2012 15:55:51 +0000 (15:55 +0000)]
Reduce our internal dependence on the Cogl 1.x api

Since Cogl has started restricting what cogl 1.x api is exposed when
COGL_ENABLE_EXPERIMENTAL_2_0_API is defined and since we build all
Clutter internals with COGL_ENABLE_EXPERIMENTAL_2_0_API defined this
patch makes a first pass at reducing our internal use of the Cogl 1.x
api.

The most notable api that's no longer exposed to us internally is
the cogl_material_ api so this switches all Clutter internals to use the
cogl_pipeline_ api instead. This patch also makes quite a bit of
progress removing internal uses of CoglHandle although there is still
more to go.

12 years agoPass context to cogl_texture_pixmap_x11_new() api
Robert Bragg [Tue, 21 Feb 2012 14:23:44 +0000 (14:23 +0000)]
Pass context to cogl_texture_pixmap_x11_new() api

The experimental cogl_texture_pixmap_x11_new() api was recently changed
to take an explicit context argument and return a GError on failures.
This updates Clutter's use of the api accordingly.

12 years agoLoosen the guard around clutter_backend_get_cogl_context
Robert Bragg [Tue, 21 Feb 2012 14:01:22 +0000 (14:01 +0000)]
Loosen the guard around clutter_backend_get_cogl_context

We were only exposing clutter_backend_get_cogl_context() if
COGL_ENABLE_EXPERIMENTAL_2_0_API had been defined but the CoglContext
api is also available if COGL_ENABLE_EXPERIMENTAL_API has been defined.

As it was it meant that code opting into the experimental Cogl api
but not limiting to the 2.0 only api would have to #define
COGL_ENABLE_EXPERIMENTAL_2_0_API before including clutter.h but make
sure it wasn't defined when including cogl.h which was particularly
awkward.

12 years agoRename cogl_framebuffer_swap_* apis to cogl_onscreen_swap_*
Robert Bragg [Tue, 21 Feb 2012 13:37:55 +0000 (13:37 +0000)]
Rename cogl_framebuffer_swap_* apis to cogl_onscreen_swap_*

Recently the cogl_framebuffer_swap_* apis were moved into the
cogl_onscreen_* namespace since only CoglOnscreen framebuffers can be
double buffered. This renames all uses of the cogl_framebuffer_swap_*
apis in Clutter.

12 years agoPass a CoglContext when calling cogl_pipeline_new
Robert Bragg [Tue, 21 Feb 2012 13:22:17 +0000 (13:22 +0000)]
Pass a CoglContext when calling cogl_pipeline_new

The experimental cogl_pipeline_new() api was recently changed so it
explicitly takes a CoglContext. This updates all calls to
cogl_pipeline_new() in clutter accordingly.

12 years agoUpdated Galician translations
Fran Diéguez [Tue, 21 Feb 2012 10:38:18 +0000 (11:38 +0100)]
Updated Galician translations

12 years agoUpdated Bulgarian translation
Alexander Shopov [Tue, 21 Feb 2012 08:22:48 +0000 (10:22 +0200)]
Updated Bulgarian translation

12 years agoUpdated Danish translation
Kenneth Nielsen [Mon, 20 Feb 2012 21:55:26 +0000 (22:55 +0100)]
Updated Danish translation

12 years agoUpdated Belarusian translation
Kasia Bondarava [Fri, 17 Feb 2012 22:04:55 +0000 (00:04 +0200)]
Updated Belarusian translation

12 years agoclutter-drop-action: annotation fixes for some signals
Stefano Facchini [Sun, 19 Feb 2012 16:56:12 +0000 (17:56 +0100)]
clutter-drop-action: annotation fixes for some signals

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

12 years agoUpdated Lithuanian translation
Aurimas Černius [Fri, 17 Feb 2012 22:04:55 +0000 (00:04 +0200)]
Updated Lithuanian translation

12 years agoUpdated Slovenian translation
Andrej Žnidaršič [Wed, 15 Feb 2012 19:56:43 +0000 (20:56 +0100)]
Updated Slovenian translation

12 years agoa11y: remove Container explanation
Alejandro Piñeiro [Wed, 15 Feb 2012 18:09:04 +0000 (19:09 +0100)]
a11y: remove Container explanation

That explanation is outdated after the last changes on clutter

12 years agoa11y: proper ATK role for ClutterStage
Alejandro Piñeiro [Thu, 9 Feb 2012 11:32:44 +0000 (12:32 +0100)]
a11y: proper ATK role for ClutterStage

ATK_ROLE_CANVAS is not a suitable role, as the user (in general) can't
draw on the Stage. CallyStage implements AtkWindow, so the proper role
is ATK_ROLE_WINDOW

12 years agoa11y: redoing focus stuff
Alejandro Piñeiro [Wed, 8 Feb 2012 17:46:11 +0000 (18:46 +0100)]
a11y: redoing focus stuff

Removing atkcomponent, focus_tracker, etc. Emitting focus state change
from the stage. Now things are more simple, and stop to use some
of the soon-to-be-deprecated signals on ATK.

12 years agodocs: Note when new ClutterBindCoordinate values were added
Emmanuele Bassi [Wed, 15 Feb 2012 17:43:31 +0000 (17:43 +0000)]
docs: Note when new ClutterBindCoordinate values were added

The shorthands for position and size were added in 1.6.

12 years agointeractive/layout: Update to modern API
Emmanuele Bassi [Wed, 15 Feb 2012 15:58:36 +0000 (15:58 +0000)]
interactive/layout: Update to modern API

No need to override Container. Actually, no need to use the Container
API at all. This also removes a bunch of leaks.

12 years agoClutterBindConstraint: Add CLUTTER_BIND_ALL coordinate
Adel Gadllah [Wed, 15 Feb 2012 16:54:45 +0000 (17:54 +0100)]
ClutterBindConstraint: Add CLUTTER_BIND_ALL coordinate

Add a CLUTTER_BIND_ALL that binds both size and position.

12 years agox11/stage: Allow setting fullscreen hint before realize
Emmanuele Bassi [Wed, 15 Feb 2012 14:20:59 +0000 (14:20 +0000)]
x11/stage: Allow setting fullscreen hint before realize

It should be possible to do:

  clutter_stage_set_fullscreen (stage, TRUE);
  clutter_actor_show (stage);

and have the stage be full screen as soon as it is shown.

Currently, we need to call clutter_actor_realize() prior to calling
set_fullscreen(), otherwise the backing X window will not be set,
and ClutterStageX11 will silently discard the change.

If set_fullscreen() was called prior to realization, ClutterStageX11
should delay setting the fullscreen hint until the realize() chain
has been successfully executed.

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

12 years agoconform/invariants: Clean up
Emmanuele Bassi [Wed, 15 Feb 2012 13:43:15 +0000 (13:43 +0000)]
conform/invariants: Clean up

Use modern API, and add a minimal check that hiding an actor will cause
it to unmap.

12 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 15 Feb 2012 11:59:01 +0000 (12:59 +0100)]
Updated Spanish translation

12 years agox11: adjust size to minimal size when realizing
Lionel Landwerlin [Tue, 24 Jan 2012 12:45:52 +0000 (12:45 +0000)]
x11: adjust size to minimal size when realizing

If you execute the following sequence :

stage = clutter_stage_new ();
clutter_actor_set_size (stage, 1280, 800);
clutter_actor_realize (stage);

Then you end up creating an onscreen buffer of size 1280x800 but
ClutterStageX11 storing the stage size at 640x480.

This patch resync the 2 implementation by using the ClutterStage's
size in both classes when realizing.

Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=667540

12 years agoeffects: Delay the creation of the base pipeline
Emmanuele Bassi [Wed, 15 Feb 2012 09:30:18 +0000 (09:30 +0000)]
effects: Delay the creation of the base pipeline

Unconditionally creating CoglPipeline and CoglSnippets inside the class
initialization functions does not seem to be enough when dealing with
headless builds.

Our last resort is to lazily create the base pipeline the first time we
try to copy it, during the instance initialization.

12 years agoUpdated Serbian translation
Мирослав Николић [Wed, 15 Feb 2012 09:17:45 +0000 (10:17 +0100)]
Updated Serbian translation

12 years agoactor: Correct get_paint_volume for an actor with no children and no clip
Jasper St. Pierre [Tue, 14 Feb 2012 20:43:38 +0000 (15:43 -0500)]
actor: Correct get_paint_volume for an actor with no children and no clip

We do not need to repaint the entire stage if an actor has no children
and no clip.

12 years agoclutter.symbols: Fix up symbols
Jasper St. Pierre [Tue, 14 Feb 2012 21:17:07 +0000 (16:17 -0500)]
clutter.symbols: Fix up symbols

12 years agoDo not check for features inside class initialization
Emmanuele Bassi [Tue, 14 Feb 2012 17:14:25 +0000 (17:14 +0000)]
Do not check for features inside class initialization

The class initialization function may be called when Clutter hasn't been
fully initialized — for instance, when scanning the source with gtk-doc
or with the introspection scanner.

12 years agointeractive/actor: Add more animations
Emmanuele Bassi [Tue, 14 Feb 2012 16:50:52 +0000 (16:50 +0000)]
interactive/actor: Add more animations

Rotation along the Y axis and depth change.

12 years agointeractive/actor: Use a BoxLayout
Emmanuele Bassi [Tue, 14 Feb 2012 15:48:15 +0000 (15:48 +0000)]
interactive/actor: Use a BoxLayout

As it was intended.

12 years agobox-layout: Fix allocation brain farts
Emmanuele Bassi [Tue, 14 Feb 2012 15:39:15 +0000 (15:39 +0000)]
box-layout: Fix allocation brain farts

The allocation code for BoxLayout contains a sequence of brain farts
that make it barely working since the synchronization of the layout
algorithm to the one in GtkBox.

The origin of the layout is inverted, and it doesn't take into
consideration a modified allocation origin (for actors the provide
padding or margin).

The pack-start property is broken, and it only works because we walk the
children list backwards; this horribly breaks when a child changes
visibility. Plus, we count invisible children, which leads to
allocations getting insane origins (either close to -MAX_FLOAT or
MAX_FLOAT).

Finally, the allocation is applied twice even for non-animated cases.

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

12 years agoClutterStage: notify "key-focus" change on clutter_stage_emit_key_focus_event
Alejandro Piñeiro [Tue, 14 Feb 2012 15:37:51 +0000 (16:37 +0100)]
ClutterStage: notify "key-focus" change on clutter_stage_emit_key_focus_event

12 years agoactor: Add freeze/thaw when changing the first/last child
Jasper St. Pierre [Tue, 14 Feb 2012 03:40:15 +0000 (22:40 -0500)]
actor: Add freeze/thaw when changing the first/last child

This should improve performance when adding/removing lots
of children.

12 years agowayland: Add accessor API to permit access to underlying Wayland structures
Rob Bradford [Fri, 10 Feb 2012 16:46:45 +0000 (16:46 +0000)]
wayland: Add accessor API to permit access to underlying Wayland structures

* clutter_wayland_input_device_get_wl_input_device for the input device
* clutter_wayland_stage_get_wl_surface for the Wayland surface
* clutter_wayland_stage_get_wl_shell_surface for the shell surface

12 years agobuild: Install a clutter-wayland pkg-config file
Rob Bradford [Fri, 10 Feb 2012 16:44:32 +0000 (16:44 +0000)]
build: Install a clutter-wayland pkg-config file

12 years agoConvert all of the internal shader-based effects to use snippets
Neil Roberts [Mon, 28 Nov 2011 13:46:30 +0000 (13:46 +0000)]
Convert all of the internal shader-based effects to use snippets

This converts the blur, colorize and desaturate effects to use
snippets instead of CoglPrograms. Cogl can handle the snippets much
more efficiently than programs so this should be a performance win. It
also fixes the problem that Cogl would end up recompiling the program
for every instance of the effects because Clutter was not reusing the
same program.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agoblur-effect: Use the texture size to work out the x/y step
Neil Roberts [Mon, 13 Feb 2012 15:11:44 +0000 (15:11 +0000)]
blur-effect: Use the texture size to work out the x/y step

The blur effect needs to pass a uniform to the GLSL shader so that it
can know the texture coordinate offset from one texel to another. To
calculate this the blur effect was previously using the allocation
size of the actor rounded up to the next power of two. Presumably the
assumption was that Cogl would round up the size of the texture to the
next power of two when allocating the texture. However this is not be
true if the driver supports NPOT textures. Also it doesn't take into
account the paint volume of the actor which may cause the texture to
be a completely different size. This patch just changes to directly
use the size of the texture.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agooffscreen-effect: Add clutter_offscreen_effect_get_texture
Neil Roberts [Mon, 28 Nov 2011 11:53:54 +0000 (11:53 +0000)]
offscreen-effect: Add clutter_offscreen_effect_get_texture

Sometimes a subclass of ClutterOffscreenEffect wants to paint with a
completely custom material. In that case it is awkward to modify the
material returned owned by ClutterOffscreenEffect so it makes more
sense to just get the texture and manage its own material.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agotests: Remove conformance tests that have been ported to Cogl
Neil Roberts [Fri, 10 Feb 2012 10:46:25 +0000 (10:46 +0000)]
tests: Remove conformance tests that have been ported to Cogl

A lot of the conformance tests that were just testing Cogl
functionality have been ported to be standalone Cogl tests in the Cogl
source tree. This patch removes those from Clutter so we don't have to
maintain them in two places.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agoclutter-texture: Don't create a dummy texture
Neil Roberts [Thu, 9 Feb 2012 17:22:24 +0000 (17:22 +0000)]
clutter-texture: Don't create a dummy texture

All of the pipelines used for ClutterTexture actors share a common
pipeline ancestor created with cogl_pipeline_copy. Previously this
ancestor had a dummy 1x1 texture attached to it so that it would end
up with the same state as the child pipelines that will render with a
texture. Cogl now has a mechanism to specify that a texture will be
used with a pipeline layer without having to create an actual texture.
This patch makes it use that to avoid having an unused texture.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agoUpdate VS property sheets
Chun-wei Fan [Tue, 14 Feb 2012 01:52:14 +0000 (09:52 +0800)]
Update VS property sheets

"Install" the "new" deprecated/clutter-timeline.h header

12 years agoactor: Allow insert_child_at_index to add a child at the end with an index
Jasper St. Pierre [Mon, 13 Feb 2012 22:12:41 +0000 (17:12 -0500)]
actor: Allow insert_child_at_index to add a child at the end with an index

If we have N children and the user passes N (or a number beyond N) to
clutter_actor_insert_child_at_index, we should respond by adding the
child at the end, not silently doing nothing.

12 years agoAdd a note on the paint volume origin
Emmanuele Bassi [Mon, 13 Feb 2012 18:19:48 +0000 (18:19 +0000)]
Add a note on the paint volume origin

This should avoid trying to fix the origin of a paint volume set from
the allocation's origin, and thus breaking everything.

A PaintVolume for an actor is defined to be relative to the actor's
modelview unless specifically modified by internal functions; the origin
of an actor's allocation is, on the other hand, parent-relative.

12 years agoactor: Only care about a child's paint volume when clip_to_allocation isn't set
Jasper St. Pierre [Mon, 13 Feb 2012 17:43:08 +0000 (12:43 -0500)]
actor: Only care about a child's paint volume when clip_to_allocation isn't set

If we're clipping to the allocation, then the child can paint wherever it
wants, and we don't care. The paint volume is the allocation here.

12 years agoactor: Remove stray cogl_object_unref()
Emmanuele Bassi [Mon, 13 Feb 2012 17:56:12 +0000 (17:56 +0000)]
actor: Remove stray cogl_object_unref()

The outline primitive is static, so unref'ing it makes Clutter crash.

12 years agoactor: Add destroy_all_children()
Emmanuele Bassi [Mon, 13 Feb 2012 17:26:37 +0000 (17:26 +0000)]
actor: Add destroy_all_children()

There are times when we don't want to remove all children and count of
the reference count to drop to 0 to ensure destruction; there are cases,
such as managed environments, where it's preferable to ensure that the
children of an actor get actually destroyed.

12 years agointeractive/depth: Drop deprecated API
Emmanuele Bassi [Mon, 13 Feb 2012 16:58:30 +0000 (16:58 +0000)]
interactive/depth: Drop deprecated API

12 years agointeractive/*: Update the API usage
Emmanuele Bassi [Mon, 13 Feb 2012 16:47:17 +0000 (16:47 +0000)]
interactive/*: Update the API usage

Drop some deprecated methods.

12 years agoDeprecate ClutterStage:color
Emmanuele Bassi [Mon, 13 Feb 2012 16:05:21 +0000 (16:05 +0000)]
Deprecate ClutterStage:color

ClutterActor has a background-color property, now; we should use it for
the Stage, re-implement the color property in terms of background-color.
and deprecate the Stage property.

12 years agodocs: Use ClutterTimeline:repeat-count instead of :loop
Emmanuele Bassi [Mon, 13 Feb 2012 15:26:26 +0000 (15:26 +0000)]
docs: Use ClutterTimeline:repeat-count instead of :loop

12 years agotimeline: Move deprecated methods into a separate header
Emmanuele Bassi [Mon, 13 Feb 2012 15:04:18 +0000 (15:04 +0000)]
timeline: Move deprecated methods into a separate header

12 years agoanimation: Do not use deprecated timeline methods
Emmanuele Bassi [Mon, 13 Feb 2012 15:04:00 +0000 (15:04 +0000)]
animation: Do not use deprecated timeline methods

12 years agocookbook: Use clutter_timeline_set_repeat_count()
Emmanuele Bassi [Mon, 13 Feb 2012 14:58:47 +0000 (14:58 +0000)]
cookbook: Use clutter_timeline_set_repeat_count()

12 years agotimeline: Add repeat-count
Emmanuele Bassi [Mon, 13 Feb 2012 14:45:06 +0000 (14:45 +0000)]
timeline: Add repeat-count

Being able to easily set the number of repeats has been a request for
the animation framework for some time now. The usual way to implement
this is: connect to the ::completed signal, use a static counter, and
stop the timeline when the counter hits a specific spot.

In the same light as the :auto-reverse property, we can make it easier
to implement this common functionality by adding a :repeat-count
property that, when set, limits the amount of loops that a Timeline can
perform before stopping itself.

In fact, we can implement the :loop property in terms of the
:repeat-count property just by using a sentinel value mapping to
"infinity", and map loop=FALSE to repeat-count=0, and loop=TRUE to
repeat-count=-1.

12 years agotimeline: Deprecate the clone() method
Emmanuele Bassi [Mon, 13 Feb 2012 13:44:52 +0000 (13:44 +0000)]
timeline: Deprecate the clone() method

The clutter_timeline_clone() method was a pretty dumb idea when it was
introduced, back when we still had the ClutterEffectTemplate and the
clutter_effect_* animation API. It has since become an API wart: we
cannot change or add new properties to be cloned without the risk of
breaking existing code. All in all, cloning a GObject is just a matter
of calling g_object_new() with the wanted properties.

Let's deprecate this throwback of the Olden Days™, so that we can remove
it for good once we break for 2.0.

12 years agoClean up clutter-timeline.h
Emmanuele Bassi [Mon, 13 Feb 2012 13:39:47 +0000 (13:39 +0000)]
Clean up clutter-timeline.h

Re-align everything to allow expansion, and move the only "protected"
function to the clutter-master-clock.h private header.

12 years agoactor-meta: Correct annotations for vfuncs
Jasper St. Pierre [Thu, 9 Feb 2012 20:45:14 +0000 (15:45 -0500)]
actor-meta: Correct annotations for vfuncs

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agoactor: Fix some broken annotations
Jasper St. Pierre [Thu, 9 Feb 2012 13:48:18 +0000 (08:48 -0500)]
actor: Fix some broken annotations

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agoUpdate the Clutter moduleset
Emmanuele Bassi [Mon, 13 Feb 2012 11:43:26 +0000 (11:43 +0000)]
Update the Clutter moduleset

12 years agoactor: Implement remove_all_children using ActorIter
Emmanuele Bassi [Mon, 13 Feb 2012 08:59:09 +0000 (08:59 +0000)]
actor: Implement remove_all_children using ActorIter

The remove_all_children() method is an ideal candidate for using the
ActorIter API; the end result is more compact and easy to follow.

12 years agoinput-device: Do not use weak references with actors
Emmanuele Bassi [Mon, 13 Feb 2012 08:52:08 +0000 (08:52 +0000)]
input-device: Do not use weak references with actors

Use the ClutterActor::destroy signal.

12 years agostage: Do not use weak refs with actors
Emmanuele Bassi [Mon, 13 Feb 2012 08:45:22 +0000 (08:45 +0000)]
stage: Do not use weak refs with actors

ClutterActor provides a signal for notifying destruction: using weak
references is neither indicated nor recommended.

12 years agostage: Clean up
Emmanuele Bassi [Mon, 13 Feb 2012 08:44:40 +0000 (08:44 +0000)]
stage: Clean up

Remove some ifdeffed out dead code, and some duplication.

12 years agotext: Fix regression
Emmanuele Bassi [Sat, 11 Feb 2012 16:02:31 +0000 (16:02 +0000)]
text: Fix regression

When the ClutterTextBuffer support inside ClutterText was merged, it
introduced a regression that was identified and fixed in bug 659116.

The optimization to not paint empty ClutterText actors is only valid
is the actor is not editable, or if the cursor is not visible.

12 years agobuild: Fix platform_linux check
Emmanuele Bassi [Fri, 10 Feb 2012 12:26:43 +0000 (12:26 +0000)]
build: Fix platform_linux check

Missing * at the end.

As a side effect, this commit enables the ABI check when running make
check inside the clutter/ directory.

12 years agoUpdate config.h.win32(.in)
Chun-wei Fan [Fri, 10 Feb 2012 08:15:06 +0000 (16:15 +0800)]
Update config.h.win32(.in)

Make it more like the config.h(.in) in terms of the entries to check.

12 years agoUpdate Visual C++ property sheets
Chun-wei Fan [Fri, 10 Feb 2012 08:10:47 +0000 (16:10 +0800)]
Update Visual C++ property sheets

-Stop installing the cookbook items for now
-Reflect on newly added and deprecated public headers

12 years agoUpdate Clutter Visual C++ projects
Chun-wei Fan [Fri, 10 Feb 2012 07:50:55 +0000 (15:50 +0800)]
Update Clutter Visual C++ projects

Link also to GIO as the GResource APIs from GIO is now being used

12 years agoAdd abicheck.sh
Emmanuele Bassi [Thu, 9 Feb 2012 18:42:27 +0000 (18:42 +0000)]
Add abicheck.sh

Courtesy of GLib and GTK+. The abicheck.sh is a simple, Linux-only,
script to check that we're not leaking private symbols, or that the
clutter.symbols file hasn't been updated.

In theory, it should go inside the distcheck phase.

12 years agosymbols: Update
Emmanuele Bassi [Thu, 9 Feb 2012 18:41:55 +0000 (18:41 +0000)]
symbols: Update

Add a bunch of missing public symbols, and remove some cruft.

12 years agobuild: Identify the Linux hosts
Emmanuele Bassi [Thu, 9 Feb 2012 18:41:19 +0000 (18:41 +0000)]
build: Identify the Linux hosts

This gives us a nice conditional, like the one we have on Windows and
OSX.

12 years agoMark internal symbol as private
Emmanuele Bassi [Thu, 9 Feb 2012 18:40:03 +0000 (18:40 +0000)]
Mark internal symbol as private

A bunch of private symbols have escaped into the SO; let's rectify this
situation by using the '_' private prefix, or making them static as they
should have been.

12 years agoconform/actor: Add unit for the Container signals
Emmanuele Bassi [Thu, 9 Feb 2012 16:44:28 +0000 (16:44 +0000)]
conform/actor: Add unit for the Container signals

ClutterActor should be emitting signals defined on the ClutterContainer
interface, as well as ensuring that manipulating the scene graph is
still possible from within them.

The new unit checks that we're emitting signals, by implementing
something similar to the Bin class available in toolkits like gtk, st,
and mx — i.e. a container that can only hold one child at any given
point.

12 years agoclutter-backend: Use the Cogl main loop mechanism
Neil Roberts [Wed, 21 Dec 2011 15:13:53 +0000 (15:13 +0000)]
clutter-backend: Use the Cogl main loop mechanism

Cogl now requires that all applications integrate their main loop with
Cogl so that it can listen for events from winsys. This patch just
adds Cogl's GSource to the main loop.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
Reviewed-by: Robert Bragg <robert@linux.intel.com>
12 years agoUpdates use of Cogl in line with api changes
Robert Bragg [Thu, 9 Feb 2012 16:04:19 +0000 (16:04 +0000)]
Updates use of Cogl in line with api changes

Some of Cogl's experimental apis have changed so that the buffer apis
now need to be passed a context argument and some drawing apis have been
replaced with cogl_framebuffer_ drawing apis that take explicit
framebuffer and pipeline arguments.

These changes were made as part of Cogl moving towards a more stateless
api that doesn't rely on a global context.

This patch updates Clutter to work with the latest Cogl api and bumps
the required Cogl version to 1.9.5.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
Reviewed-by: Neil Roberts <neil@linux.intel.com>
12 years agoactor: Add ClutterActorIter.destroy()
Emmanuele Bassi [Thu, 9 Feb 2012 15:49:30 +0000 (15:49 +0000)]
actor: Add ClutterActorIter.destroy()

Similar to the clutter_actor_iter_remove(), but it'll call destroy()
instead of remove_child().

We can also reimplement the ::destroy default handler using it, and make
it more compact.

12 years agoactor: Add a default handler for ::destroy
Emmanuele Bassi [Thu, 9 Feb 2012 15:43:25 +0000 (15:43 +0000)]
actor: Add a default handler for ::destroy

Now that ClutterActor can be instantiated, we need to do the right
thing, and destroy its children when it is destroyed.

12 years agodocs: Update the Container interface documentation
Emmanuele Bassi [Thu, 9 Feb 2012 15:38:11 +0000 (15:38 +0000)]
docs: Update the Container interface documentation

The API reference should be more explicit about which parts of the
interface should be overridden, and which are deprecated.

12 years agoconform/actor-graph: Add more cases
Emmanuele Bassi [Thu, 9 Feb 2012 14:22:31 +0000 (14:22 +0000)]
conform/actor-graph: Add more cases

The actor-insert unit is not exercising the whole API and its allowed
arguments; this let sneak in the buglet found in bug 669730.

12 years agoactor: Fix add_child_at_index() for negative index
Florian Müllner [Thu, 9 Feb 2012 01:13:50 +0000 (02:13 +0100)]
actor: Fix add_child_at_index() for negative index

There is a typo in the check for a negative index: the index variable
should be index_, not index - unfortunately, the latter can still be
resolved to index(3), so compiler and linker are perfectly happy.

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

12 years agoUpdated Serbian translation
Мирослав Николић [Wed, 8 Feb 2012 20:40:54 +0000 (21:40 +0100)]
Updated Serbian translation

12 years agotext: Avoid changing the contents when possible
Emmanuele Bassi [Tue, 7 Feb 2012 11:36:27 +0000 (11:36 +0000)]
text: Avoid changing the contents when possible

An editable ClutterText will reset the selection and cursor whenever the
contents are changed — even if those contents are the same. As this may
confuse the user, we should check if we're setting the exact same string,
and bail out if necessary.

12 years agotext: Fix annotations
Emmanuele Bassi [Tue, 7 Feb 2012 11:33:12 +0000 (11:33 +0000)]
text: Fix annotations

Both set_text() and set_markup() have relaxed their preconditions on a
non-NULL string as their argument, so we need to update the annotations.

12 years agotext: Style cleanups
Emmanuele Bassi [Tue, 7 Feb 2012 11:31:28 +0000 (11:31 +0000)]
text: Style cleanups

Inline wrapper functions, and remove deep nested if's.

12 years agointeractive/text-field: Modernize
Emmanuele Bassi [Tue, 7 Feb 2012 11:30:43 +0000 (11:30 +0000)]
interactive/text-field: Modernize

12 years agotext: Add the coords_to_position() method
Emmanuele Bassi [Mon, 6 Feb 2012 18:23:21 +0000 (18:23 +0000)]
text: Add the coords_to_position() method

The reverse of position_to_coords().

While providing documentation on how to implement it using the
PangoLayout API, I realized that the verbosity of it all, plus the usage
of the Pango API, was not worth it, and decided to expose the method we
are using internally.

12 years agodocs: Fix up Since annotation
Emmanuele Bassi [Mon, 6 Feb 2012 17:34:26 +0000 (17:34 +0000)]
docs: Fix up Since annotation

We only use stable releases for "since" tags.

12 years agoPost-release version bump to 1.9.11
Emmanuele Bassi [Mon, 6 Feb 2012 16:45:15 +0000 (16:45 +0000)]
Post-release version bump to 1.9.11

12 years agoRelease 1.9.10 (snapshot)
Emmanuele Bassi [Mon, 6 Feb 2012 16:40:00 +0000 (16:40 +0000)]
Release 1.9.10 (snapshot)

12 years agodocs: Update release notes
Emmanuele Bassi [Mon, 6 Feb 2012 16:34:18 +0000 (16:34 +0000)]
docs: Update release notes

12 years agoFixed clutter_state_remove_key_internal() to propagate the is_inert state
Tristan Van Berkom [Sun, 29 Jan 2012 12:29:38 +0000 (21:29 +0900)]
Fixed clutter_state_remove_key_internal() to propagate the is_inert state

This was causing warnings when calling g_object_weak_unref on an
already finalized object.

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

12 years agoFix Makefile to properly include clutter-backend-eglnative.h in the disted tarball
Tristan Van Berkom [Sat, 4 Feb 2012 13:43:51 +0000 (22:43 +0900)]
Fix Makefile to properly include clutter-backend-eglnative.h in the disted tarball

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

12 years agomodel: Drop GValueArray usage
Emmanuele Bassi [Mon, 6 Feb 2012 15:34:13 +0000 (15:34 +0000)]
model: Drop GValueArray usage

We can use a plain C array of GValues when deserializing a ClutterModel
implementation from a ClutterScript description.

12 years agolist-model: Migrate from GValueArray
Emmanuele Bassi [Mon, 6 Feb 2012 14:37:49 +0000 (14:37 +0000)]
list-model: Migrate from GValueArray

GValueArray is on its way to deprecation in GLib; as far as the
ListModel class is concerned, a plain C array of GValue is a perfectly
suitable replacement for the GValueArray usage. It actually is an
improvement, given that it's going to take less memory.

12 years agoClean up clutter-actor.h
Emmanuele Bassi [Sun, 5 Feb 2012 08:47:17 +0000 (08:47 +0000)]
Clean up clutter-actor.h

It's time, we delayed far too long.

12 years agointeractive/actor: Show event and animation API
Emmanuele Bassi [Thu, 2 Feb 2012 14:07:38 +0000 (14:07 +0000)]
interactive/actor: Show event and animation API

12 years agodocs: Clarify actor map and unmap methods
Emmanuele Bassi [Thu, 2 Feb 2012 11:18:00 +0000 (11:18 +0000)]
docs: Clarify actor map and unmap methods

ClutterActor stopped requiring to override the map and unmap virtual
functions some time ago.

Now that ClutterActor implements the Container interface, overriding map
and unmap to control the MAPPED state of the children is pretty much
going to be a source of bugs and misunderstandings.

Plus, the ordering of the unmap, destroy, dispose, and finalize calls
should be be documented properly.

The documentation should clarify all that.

12 years agodocs: Update the actor invariants
Emmanuele Bassi [Thu, 2 Feb 2012 11:07:14 +0000 (11:07 +0000)]
docs: Update the actor invariants

• Clear up what's deprecated.
• Remove mentions of set_parent/unparent, and use add_child/remove_child
  instead.
• Clarify that reparent may not touch the MAPPED state.

12 years agointrospection: add some missing annotations
Evan Nemerson [Fri, 13 Jan 2012 02:15:55 +0000 (18:15 -0800)]
introspection: add some missing annotations

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

12 years agoClean up the clutter API reference Makefile.am
Emmanuele Bassi [Tue, 31 Jan 2012 17:03:14 +0000 (17:03 +0000)]
Clean up the clutter API reference Makefile.am

12 years agodocs: Add an image for the XIncluded code
Emmanuele Bassi [Tue, 31 Jan 2012 16:44:43 +0000 (16:44 +0000)]
docs: Add an image for the XIncluded code