Commit Graph

8279 Commits

Author SHA1 Message Date
Emmanuele Bassi
e0aeb03b04 2.0: Remove deprecated API from ClutterTimeline 2013-04-05 18:48:00 +01:00
Emmanuele Bassi
ca2f1b6818 2.0: Remove deprecated API from ClutterStageManager 2013-04-05 18:48:00 +01:00
Emmanuele Bassi
5f0c5447b7 2.0: Remove ClutterActor::paint and ::pick signals 2013-04-05 18:48:00 +01:00
Emmanuele Bassi
4926e0e5c2 2.0: Remove deprecated API from ClutterBackend 2013-04-05 18:48:00 +01:00
Emmanuele Bassi
b7e9444c88 2.0: Remove deprecated headers from the build 2013-04-05 18:48:00 +01:00
Emmanuele Bassi
c7c9ce8c9c 2.0: Remove deprecated sources from the build
This drops all the deprecated sources and header files, including the
ClutterX11 and ClutterGlx symbols.
2013-04-05 18:48:00 +01:00
Emmanuele Bassi
a2993f5de3 2.0: First pass at deprecated API removal
This is the minimum required commit to get Clutter and the examples
building.
2013-04-05 18:47:59 +01:00
Emmanuele Bassi
4da1b8b523 2.0: Drop deprecated classes from Cally
CallyGroup, CallyTexture, and CallyRectangle are not needed any more.
2013-04-05 18:47:59 +01:00
Emmanuele Bassi
29c42bfe8e 2.0: Bump clutter-1.0 to clutter-2.0
Some places in the build system do not (or cannot) use the macro-ified
CLUTTER_API_VERSION, so we need to fix them up manually.
2013-04-05 18:47:59 +01:00
Emmanuele Bassi
2797740885 2.0: Define a separate clutter_api_version_am macro
We cannot use $CLUTTER_MAJOR_VERSION during 1.99.
2013-04-05 18:47:59 +01:00
Emmanuele Bassi
89a2862b05 2.0: Bump API version 2013-04-05 18:47:59 +01:00
Emmanuele Bassi
0538adc58c timeline: Ensure the range on the cubic bezier control points
The X coordinate has to be in the [ 0.0, 1.0 ] range.
2013-04-05 15:35:15 +01:00
Emmanuele Bassi
8c32637eea Deprecate ClutterGeometry
It's a bad rectangle type, with caveats and gotchas. We have better
types, courtesy of Cairo, as well as our own (ClutterRect).

https://bugzilla.gnome.org/show_bug.cgi?id=682789
2013-04-04 11:53:39 +01:00
Emmanuele Bassi
1724536cda text: Add ::cursor-changed signal
Since we are trying to eliminate the ClutterGeometry type, we should
replace the only entry point still using it: the ::cursor-event signal
of ClutterText.

Instead of passing the cursor geometry, we should add an accessor
function.

The combination of signal and getter for the cursor geometry means that
we can deprecate ClutterText::cursor-event, and mark it for removal in
Clutter 2.0.

https://bugzilla.gnome.org/show_bug.cgi?id=682789
2013-04-04 11:53:39 +01:00
Emmanuele Bassi
03296e30e7 Fix compilers warnings when debugging is disabled 2013-04-04 11:53:38 +01:00
Emmanuele Bassi
75702fde4d Bump the requirement for Cogl to its stable release 2013-04-04 11:53:38 +01:00
Emanuele Aina
56844a2b75 tap-action: Fix the docs, it does not require actors with children 2013-04-01 19:10:36 +02:00
Neil Roberts
d5896d284e wayland: Queue a redraw after showing the stage
On the other backends we will get some sort of expose event after
showing the stage's window which will queue a redraw. These expose
events don't exist on Wayland so nothing will cause Clutter to queue a
redraw. Weston doesn't bother displaying anything for the stage's
surface until the first buffer is sent, which of course it will never
receive if Clutter doesn't paint anything. This patch just makes it
explicitly queue a redraw after the stage is shown so that we will
always pass at least one frame to the compositor.

The bug can be seen by running test-stage-sizing. That example doesn't
have any animations so it won't try to queue any redraws until
something interacts with it. On the other hand something like
test-actors works fine without the patch because it constantly queues
redraws anyway in order to display the animation.

https://bugzilla.gnome.org/show_bug.cgi?id=696791
2013-03-28 16:12:34 +00:00
Emmanuele Bassi
23707ac242 Add version-related macros for 1.16 2013-03-20 17:23:02 -03:00
Lionel Landwerlin
b914ae70b1 actor: fix translation-z setting
https://bugzilla.gnome.org/show_bug.cgi?id=695982
2013-03-18 10:39:08 +00:00
Ask H. Larsen
6203be641f Updated Danish translation 2013-03-17 14:58:17 +01:00
Duarte Loreto
d66691693c Updated Portuguese translation and converted to New Spelling (Novo AO) 2013-03-15 14:34:38 +00:00
Bastien Nocera
bbb54f1aed clutter: Prefer the X11 backend to the Wayland one
If clutter is built with both X11 and Wayland support, prefer the
(more complete for now) X11 backend. This matches GTK+'s current
ordering.

This allows distributions to ship a clutter version with both backends
built, and using an envvar to switch to the wayland backend and test
applications.

In the future, applications would be able to choose which backend
they prefer and in which order.

https://bugzilla.gnome.org/show_bug.cgi?id=695838
2013-03-14 15:29:00 +01:00
Emmanuele Bassi
73dbd17948 symbols: Add missing symbol 2013-03-13 16:00:36 -03:00
Emmanuele Bassi
59bd044859 docs: Add missing symbol to the list 2013-03-13 15:46:16 -03:00
Emmanuele Bassi
8f032d5952 actor: Skip transitions on invisible actors
If an actor has not been painted yet, or it's not going to be painted,
we can ignore transitions queued on it.

By ignoring transitions on actors that have not been painted yet, we can
avoid doing work during the set up phase of the scene graph, as well as
avoiding actors "flying in" from nowhere.

Obviously, we have to take into account potential clones, so we need to
check that the actor is not part of a cloned branch of the scene graph,
as well as checking if the actor has mapped clones.
2013-03-13 15:05:28 -03:00
Emmanuele Bassi
20c0985869 actor: Propagate the cloned state to the children
If we clone a container, we still want redraws queued on the children to
be propagated.
2013-03-13 15:05:28 -03:00
Emmanuele Bassi
0e0db890e1 actor: Ignore redraws queued on unmapped actors
If an actor is unmapped then it won't be painted, so we can safely
short-circuit out of _clutter_actor_queue_redraw_full() if the mapped
flag is not set.

We need, on the other hand, make an exception for Clones, otherwise
they won't receive notification that the source actor has changed
and they won't be painted.

This allows us to ignore redraws queued on children of invisible
parents, and avoid traversing the scene graph.
2013-03-13 15:05:28 -03:00
Emmanuele Bassi
028baa99a0 actor: Keep track of clones
Instead of using signal notifications, we should be able to keep track
of the clones of an actor from within ClutterActor itself, using private
API. There's no point in pretending that people can actually create a
Clone class out of tree, given the amount of invariants we have to punch
through in order to implement a proper replicator node of the scene
graph, so we can just skip the signal emissions and just do the right
thing at the right time.
2013-03-13 15:05:28 -03:00
Emmanuele Bassi
c32973158d actor: Clean up internal add/remove functions
More comments are warranted: these functions are pretty much full of
potential side effects, and I'd really like to avoid keeping everything
in my head forever.

Along with the comments and the type casting reduction, I sneaked in a
one line change that is clearly correct after reading the flow of the
whole thing: we queue only a relayout after three potential redraws have
been queued. If we manage to miss a redraw and yet still get a relayout
then it means that most of our assumptions are fundamentally wrong, and
that we ought to dump this whole business of computer programming, and
just go back to being a hunter-gatherer species.
2013-03-13 15:05:28 -03:00
Emmanuele Bassi
900015a4eb actor: Clean up ::show and ::hide class handlers
The main body of the function should not live inside an 'if' block.
2013-03-13 15:05:27 -03:00
Emmanuele Bassi
c11c875762 examples/layout-manager: Remove unnecessary easing state save
The actors in the layout are already set up with a non-default easing
state, we can use that.
2013-03-13 15:05:27 -03:00
Emmanuele Bassi
7f5b68eed3 examples/layout-manager: Improve the example
Add an explicit transition, and more comments.
2013-03-13 15:05:27 -03:00
Emmanuele Bassi
041d8b5d29 Clean up the Actor private header
Reading it is getting painful.
2013-03-13 15:05:27 -03:00
Emmanuele Bassi
197eae2e00 build: Disable debugging code in stable releases
Pretty much what GLib and GTK+ do, and the 1.x cycle has gone on for a
while, now.
2013-03-13 15:05:27 -03:00
Alejandro Piñeiro
9618f37b1d Add method clutter_disable_accessibility ()
https://bugzilla.gnome.org/show_bug.cgi?id=691468
2013-03-13 18:56:58 +01:00
Jasper St. Pierre
36e25374cc event: Use gunichar when dealing with unicode characters
This makes introspection return the keycode as a string, rather
than an integer.

https://bugzilla.gnome.org/show_bug.cgi?id=695188
2013-03-12 17:09:29 -04:00
Jasper St. Pierre
c26d724f3d clutter-backend: Request XI2.3
Since XIQueryVersion, the bad API that it is, chooses the first client
version that it gets, we need to ensure that we pass XIQueryVersion the
new XI2.3 version, knowing fully well that Clutter won't be confused
by the new features.

https://bugzilla.gnome.org/show_bug.cgi?id=692466
2013-03-12 17:09:29 -04:00
Jasper St. Pierre
009da0c6ce x11: Always request XI2.2
The X server should fill in the minor version that it supports in the
case where it only supports the older version. We should not get a
BadRequest or fail the version check if we pass something higher.

https://bugzilla.gnome.org/show_bug.cgi?id=692466
2013-03-12 17:09:29 -04:00
Sebastian Keller
9dbc01b61f xi2: Reset scroll info for correct device on device change 2013-03-12 17:09:29 -04:00
Gil Forcada
1c942ff186 [l10] Updated Catalan translation 2013-03-10 23:50:23 +01:00
Emmanuele Bassi
c538a65a9f docs: Add 1.14 symbols index
Forgot to add it after the version bump.
2013-03-07 15:06:49 +00:00
Rui Matos
40ef7a5f6e x11/xi2: Factor the XKB group state in to fill events' modifier_state
Otherwise XkbTranslateKeyCode() won't yeld the correct keysyms when
group > 1.

https://bugzilla.gnome.org/show_bug.cgi?id=695260
2013-03-06 13:36:09 +01:00
Alejandro Piñeiro
ccea1644ba a11y: expose the text with password-char
Text exposed by the AtkText methods should be the text
displayed to the user (like the internal method
clutter_text_get_display_text). So it should use the password-char
if it is being used.

This is also a security concern.
2013-03-05 19:47:48 +01:00
Alejandro Piñeiro
78a3590fd6 a11y: cally-util: use password-char to fill a key_event if required 2013-03-05 19:47:45 +01:00
Emmanuele Bassi
a622d34444 actor: Revert the Transition/Actor leak fix
The original code inside ClutterActor that dealt with Transitions
stopping was written for the ::completed signal, thus the code was
correctly handling the lifetime of the instances; when we moved to the
::stopped signal, we assumed that it worked in the same way - with less
conditions to be checked, obviously, but fundamentally similar to the
::completed signal. Sadly, I screwed up the signal definition, and the
signal ended up calling our handlers, but not the default one that did
the cleanup and released references on the Animatable instance.

After fixing the Timeline::stopped signal, we can go back to the
previous code.

Thanks to Craig Hughes for the help in tracking down this mess.

https://bugzilla.gnome.org/show_bug.cgi?id=695158
2013-03-05 00:48:11 +00:00
Emmanuele Bassi
4732a418ba timeline: Use the right function pointer offset
A copy and paste thinko: the ::stopped signal is using the
ClutterTimelineClass.completed slot instead of the .stopped one,
thus preventing sub-classes of ClutterTimeline from overriding the
signal's default closure.
2013-03-05 00:46:45 +00:00
Emmanuele Bassi
65d6c8c32e build: Dist the cookbook
So that we can publish it starting from the tarballs.
2013-03-05 00:22:21 +00:00
Emmanuele Bassi
f3659d35a0 actor: Release a reference on the implicit Transitions
When stopping the transition we need to release the reference we
maintain while removing the Transition from the hash table inside an
actor. If we fail to do so, the Transition is never released, which
means we leak the Animatable instance we tied to it.

https://bugzilla.gnome.org/show_bug.cgi?id=695158
2013-03-04 23:06:27 +00:00
Emmanuele Bassi
315a73edf5 text: Clean up the set_font_description_internal() semantics
The current semantics are ridiculous, and clearly a case of (mistaken)
premature optimization. All setters should copy, not transfer ownership.

https://bugzilla.gnome.org/show_bug.cgi?id=695119
2013-03-04 13:06:39 +00:00