profile/ivi/clutter.git
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

12 years agodocs: Add private macro CLUTTER_PRIVATE_FIELD
Emmanuele Bassi [Tue, 31 Jan 2012 16:44:07 +0000 (16:44 +0000)]
docs: Add private macro CLUTTER_PRIVATE_FIELD

12 years agodocs: XInclude test-actor inside the Actor's description
Emmanuele Bassi [Tue, 31 Jan 2012 16:32:48 +0000 (16:32 +0000)]
docs: XInclude test-actor inside the Actor's description

12 years agodocs: Add an example to the Actor description
Emmanuele Bassi [Tue, 31 Jan 2012 16:30:05 +0000 (16:30 +0000)]
docs: Add an example to the Actor description

12 years agoactor: Add diagnostic message for "behaviours" in ClutterScript
Emmanuele Bassi [Tue, 31 Jan 2012 12:45:08 +0000 (12:45 +0000)]
actor: Add diagnostic message for "behaviours" in ClutterScript

Behaviours have long since been deprecated; we should notify the user
that still uses behaviours in ClutterScript definitions.

12 years agoactor: Do not unmap/unrealize twice on destruction
Emmanuele Bassi [Tue, 31 Jan 2012 12:35:17 +0000 (12:35 +0000)]
actor: Do not unmap/unrealize twice on destruction

When calling clutter_actor_destroy(), ClutterActor calls
update_map_state() on itself to unset the REALIZED and MAPPED states,
prior to running the dispose() implementation.

The default dispose() will call remove_child() (either directly or
through the Container implementation), which will check for the MAPPED
state and then run update_map_state() again. We use the previously set
MAPPED state to decide whether or not the parent should queue for a
relayout/redraw when removing a visible children.

If the MAPPED flag was cleared prior to remove_child(), though, it'll
always be unset by the time we get to remove_child(), and this will
cause missing redraws/relayouts; we were ignoring this prior the
post-First Apocalypse changes because we were doing:

  if (was_mapped)
    clutter_actor_queue_relayout (parent);

  clutter_actor_queue_redraw (parent);

which is obviously wrong. Once I removed that glaring brain damage from
the remove_child() implementation, bugs started appearing — bugs that
were probably the reason why we introduced that brain damage in the
first place, instead of checking the source of those bugs.

The obvious fix is to avoid clearing up the actor's state on destroy()
until we remove the actor from its parent. This also reduces the amount
of work we do, and the code paths that can potentially go wrong.

12 years agoactor: Move ClutterShader-related code out of clutter-actor.c
Emmanuele Bassi [Sun, 18 Dec 2011 22:52:49 +0000 (22:52 +0000)]
actor: Move ClutterShader-related code out of clutter-actor.c

Since the code dealing with ClutterShader is pretty self-contained, now,
we can safely move it outside of the main ClutterActor source file and
into its own. This will allow us to just drop a bunch of files when
branching for 2.0.

12 years agox11: Remove CLUTTER_DISABLE_DEPRECATED usage
Emmanuele Bassi [Tue, 31 Jan 2012 10:34:45 +0000 (10:34 +0000)]
x11: Remove CLUTTER_DISABLE_DEPRECATED usage

Switch to CLUTTER_DEPRECATED and CLUTTER_DEPRECATED_FOR.

12 years agotexture: Deprecate YUV setter
Emmanuele Bassi [Tue, 31 Jan 2012 10:28:04 +0000 (10:28 +0000)]
texture: Deprecate YUV setter

The YUV support depends on the driver support, and not only not many
drivers support YUV natively: the supported colorspaces are pretty much
useless.

The proper way to do YUV to RGB colorspace conversion on the GPU is to
use a fragment shader; for that, ClutterTexture and Cogl provide enough
API to achieve a good result - see the Clutter-GStreamer implementation,
for instance.

12 years agotexture: It's bytes per pixel, not bits
Emmanuele Bassi [Tue, 31 Jan 2012 10:23:48 +0000 (10:23 +0000)]
texture: It's bytes per pixel, not bits

Clarify the error message when checking the bpp argument.

12 years agoUse ClutterActorIter inside layout managers
Emmanuele Bassi [Mon, 30 Jan 2012 10:55:30 +0000 (10:55 +0000)]
Use ClutterActorIter inside layout managers

Whenever it is possible, or convenient.

12 years agoUpdated Traditional Chinese translation(Hong Kong and Taiwan)
Chao-Hsiung Liao [Sun, 29 Jan 2012 14:52:55 +0000 (22:52 +0800)]
Updated Traditional Chinese translation(Hong Kong and Taiwan)

12 years agoUpdated Slovenian translation
Matej Urbančič [Sat, 28 Jan 2012 19:59:17 +0000 (20:59 +0100)]
Updated Slovenian translation

12 years agodocs: Mention the DELEGATE_LAYOUT flag in set_allocation()
Emmanuele Bassi [Fri, 27 Jan 2012 17:07:33 +0000 (17:07 +0000)]
docs: Mention the DELEGATE_LAYOUT flag in set_allocation()

With code examples.

12 years agogroup: Set the NO_LAYOUT flag
Emmanuele Bassi [Fri, 27 Jan 2012 15:48:46 +0000 (15:48 +0000)]
group: Set the NO_LAYOUT flag

Since FixedLayout won't do that for us any more, and we have Group users
and Group subclasses that may be relying on it.

12 years agofixed-layout: Remove the NO_LAYOUT flag set
Emmanuele Bassi [Fri, 27 Jan 2012 15:45:11 +0000 (15:45 +0000)]
fixed-layout: Remove the NO_LAYOUT flag set

ClutterFixedLayout is the default layout manager for ClutterActor.

Existing subclasses of ClutterActor will get a fixed layout manager
regardless of whether they are going to use it, but since it sets the
CLUTTER_ACTOR_NO_LAYOUT flag, it will introduce regressions on actors
that perform their own layout management.

The CLUTTER_ACTOR_NO_LAYOUT flag was a bit of a mistake in the first
place, as it was introduced as a last minute workaround in the 1.0
process to deal with broken stuff in Moblin. It's going to be a target
for deprecation towards a removal when we start the 2.0 process.

12 years agoFix spelling in Clutter Cookbook: ouest -> west
Kerrick Staley [Thu, 29 Dec 2011 09:15:05 +0000 (03:15 -0600)]
Fix spelling in Clutter Cookbook: ouest -> west

12 years agobox: Use the ActorIter API
Emmanuele Bassi [Thu, 26 Jan 2012 17:10:18 +0000 (17:10 +0000)]
box: Use the ActorIter API

And remove a useless override of the pick() virtual function while we're
at it.

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

12 years agostage: Use the iterator API instead of the DOM one
Emmanuele Bassi [Wed, 25 Jan 2012 15:31:51 +0000 (15:31 +0000)]
stage: Use the iterator API instead of the DOM one

Whenever we're iterating over the children of the Stage we can now use
the ClutterActorIter API.

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

12 years agoactor: Add ClutterActorIter
Emmanuele Bassi [Wed, 25 Jan 2012 15:27:57 +0000 (15:27 +0000)]
actor: Add ClutterActorIter

Iterating over children and ancestors of an actor is a relatively common
operation. Currently, you only have one option: start a for() loop, get
the first child of the actor, and advance to the next sibling for the
list of children; or start a for() loop and advance to the parent of the
actor.

These operations can be easily done through the ClutterActor API, but
they all require going through the public API, and performing multiple
type checks on the arguments.

Along with the DOM API, it would be nice to have an ancillary, utility
API that uses an iterator structure to hold the state, and can be
advanced in a loop.

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

12 years agobox: Restore the ::destroy handler
Emmanuele Bassi [Fri, 27 Jan 2012 11:48:14 +0000 (11:48 +0000)]
box: Restore the ::destroy handler

During the gutting of ClutterBox, the destroy and dispose implementation
were removed. The former, especially, destroyed all children - which
usually meant that the redraw queues for the childre was cleared as
well. The removal introduced crashes when a Box was destroyed while its
children were still queueing redraws.

12 years agoconform: Avoid a deadlock
Emmanuele Bassi [Fri, 27 Jan 2012 11:42:33 +0000 (11:42 +0000)]
conform: Avoid a deadlock

Something is causing a deadlock when using clutter_threads_* API inside
the offscreen redirect conformance test. The conformance tests are
pretty insane anyway, so for the time being, let's put g_timeout_add()
back in while we figure out the issue.

12 years agotests: Update to use the symbolic button names
Emmanuele Bassi [Fri, 27 Jan 2012 09:47:25 +0000 (09:47 +0000)]
tests: Update to use the symbolic button names

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

12 years agodocs: Update to show the symbolic button names
Emmanuele Bassi [Fri, 27 Jan 2012 09:46:51 +0000 (09:46 +0000)]
docs: Update to show the symbolic button names

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

12 years agodrag-action: Use the symbolic constants for the button
Emmanuele Bassi [Fri, 27 Jan 2012 09:46:10 +0000 (09:46 +0000)]
drag-action: Use the symbolic constants for the button

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

12 years agoevent: Add symbolic names for left, middle, and right buttons
Emmanuele Bassi [Fri, 27 Jan 2012 09:43:06 +0000 (09:43 +0000)]
event: Add symbolic names for left, middle, and right buttons

Symbolic names are better than magic numbers, even if they are
well-established and won't likely change.

This maps to a commit in GTK+ that introduced the same names; it
was decided to go for PRIMARY, MIDDLE, and SECONDARY because of
the confusion that may arise when the button order gets flipped
in left-handed configurations - the "left" button (i.e. 1) becomes
the right-most button, and the "right" button (i.e. 3) becomes
the left-most button.

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

12 years agodoc/cookbook: Remove dead link
Emmanuele Bassi [Fri, 27 Jan 2012 07:30:02 +0000 (07:30 +0000)]
doc/cookbook: Remove dead link

12 years agoRemove unused variable
Emmanuele Bassi [Thu, 26 Jan 2012 17:11:27 +0000 (17:11 +0000)]
Remove unused variable

12 years agowayland: Correctly support fullscreening before the stage is realized
Rob Bradford [Thu, 26 Jan 2012 15:39:16 +0000 (15:39 +0000)]
wayland: Correctly support fullscreening before the stage is realized

Rather than just call into wl_shell_surface_set_fullscreen we must repeat all
the steps to correctly fullscreen the surface.

12 years agowayland: Force a redraw of the stage to get the new sized buffer attached
Rob Bradford [Thu, 26 Jan 2012 14:23:57 +0000 (14:23 +0000)]
wayland: Force a redraw of the stage to get the new sized buffer attached

12 years agowayland: Use new stage state manipulation functions
Rob Bradford [Thu, 26 Jan 2012 14:23:16 +0000 (14:23 +0000)]
wayland: Use new stage state manipulation functions

12 years agowayland: Refine fullscreen/unfullscreen to emit the state change events
Rob Bradford [Mon, 23 Jan 2012 13:07:13 +0000 (13:07 +0000)]
wayland: Refine fullscreen/unfullscreen to emit the state change events

Also update the code to set the size of the stage to set it to the size of the
output. In future versions of the Wayland protocol we'll get a configure
message advising of us of the size we can be to achieve fullscreen.

12 years agowayland: Support programmatically resizing the stage
Rob Bradford [Fri, 20 Jan 2012 15:49:16 +0000 (15:49 +0000)]
wayland: Support programmatically resizing the stage

This will call into Cogl and ask it to resize the framebuffer which will then
update the underlying EGL surface.

12 years agowayland: Support setting fullscreen before the stage is realized
Rob Bradford [Thu, 12 Jan 2012 15:25:02 +0000 (15:25 +0000)]
wayland: Support setting fullscreen before the stage is realized

12 years agowayland: Implement set_fullscreen vfunc in ClutterStageWayland
Rob Bradford [Fri, 9 Dec 2011 16:54:52 +0000 (16:54 +0000)]
wayland: Implement set_fullscreen vfunc in ClutterStageWayland

12 years agowayland: Include the Wayland surface and shell surface in ClutterStageWayland
Rob Bradford [Fri, 9 Dec 2011 16:52:29 +0000 (16:52 +0000)]
wayland: Include the Wayland surface and shell surface in ClutterStageWayland

12 years agowayland: Save the output mode so that it can be used to fullscreen windows
Rob Bradford [Fri, 20 Jan 2012 18:22:50 +0000 (18:22 +0000)]
wayland: Save the output mode so that it can be used to fullscreen windows

12 years agox11: Unbreak the build
Emmanuele Bassi [Thu, 26 Jan 2012 10:29:50 +0000 (10:29 +0000)]
x11: Unbreak the build

The stage wrapper is on the ClutterStageCogl instance.

12 years agoMerge branch 'stage-state'
Emmanuele Bassi [Thu, 26 Jan 2012 08:42:00 +0000 (08:42 +0000)]
Merge branch 'stage-state'

* stage-state:
  docs: Update ClutterStageState flags
  wayland: Use the Stage state tracking
  gdk: Use the Stage state tracking
  win32: Use the Stage state tracking
  x11: Use the Stage state tracking
  osx: Use the Stage state tracking
  stage: Add state tracking

12 years agodocs: Update ClutterStageState flags
Emmanuele Bassi [Thu, 26 Jan 2012 08:33:45 +0000 (08:33 +0000)]
docs: Update ClutterStageState flags

12 years agowayland: Use the Stage state tracking
Emmanuele Bassi [Thu, 26 Jan 2012 08:27:39 +0000 (08:27 +0000)]
wayland: Use the Stage state tracking

12 years agogdk: Use the Stage state tracking
Emmanuele Bassi [Thu, 26 Jan 2012 08:27:25 +0000 (08:27 +0000)]
gdk: Use the Stage state tracking

12 years agowin32: Use the Stage state tracking
Emmanuele Bassi [Thu, 26 Jan 2012 08:27:08 +0000 (08:27 +0000)]
win32: Use the Stage state tracking

12 years agox11: Use the Stage state tracking
Emmanuele Bassi [Wed, 25 Jan 2012 21:36:55 +0000 (21:36 +0000)]
x11: Use the Stage state tracking

12 years agoosx: Use the Stage state tracking
Emmanuele Bassi [Wed, 25 Jan 2012 21:25:59 +0000 (21:25 +0000)]
osx: Use the Stage state tracking

12 years agostage: Add state tracking
Emmanuele Bassi [Wed, 25 Jan 2012 21:24:47 +0000 (21:24 +0000)]
stage: Add state tracking

State changes on the Stage are currently deferred to the windowing
system backends, but the code is generally the same, and it should
be abstracted neatly inside the Stage class itself.

There's also the extra caveat for backends that state changes on a
Stage must also emit a ClutterEvent of type CLUTTER_STAGE_STATE, a
requirement that needlessly complicates the backend code.