Commit Graph

8020 Commits

Author SHA1 Message Date
Emmanuele Bassi
cd67c7fd24 drag-action: Allow destroying the dragged actor inside ::drag-end
It should be possible to destroy the actor currently being dragged from
within the ::drag-end signal. In order to do this, we need to keep a
reference on the action for the duration of the emit_drag_end() function
as well as resetting the action's state inside the dispose()
implementation, to avoid trying to access cleared data.

https://bugzilla.gnome.org/show_bug.cgi?id=681814
2012-09-17 19:54:27 +01:00
Yuri Myasoedov
c095de8705 Updated Russian translation 2012-09-17 15:55:50 +04:00
Emmanuele Bassi
8d53bbd34f docs: Document the states of a GestureAction
Useful notes for developers writing gesture recognizers.
2012-09-17 12:05:39 +01:00
Ask H. Larsen
838a6d9218 Updated Danish translation 2012-09-16 02:07:53 +02:00
Emanuele Aina
165871024c stage: fix typo and format identifiers in debug notes
https://bugzilla.gnome.org/show_bug.cgi?id=683937
2012-09-13 12:09:30 +02:00
Emanuele Aina
e6fcdb0644 click-action: add touch event support
Allow for touch events to trigger the "clicked" event on
ClickAction without introducing API changes.

https://bugzilla.gnome.org/show_bug.cgi?id=683936
2012-09-13 11:59:08 +02:00
Emanuele Aina
d616fd628b tests: style fixes to test-events
Oops, I pushed the commit without the style fixes. Followup commit
for 47347d5.
2012-09-12 20:08:16 +02:00
Emanuele Aina
47347d5f5c tests: handle smooth scroll events in test-events
Print the precise scroll delta for smooth scroll events and
correctly print the direction for left/right scrolls.

https://bugzilla.gnome.org/show_bug.cgi?id=683870
2012-09-12 15:31:55 +02:00
Emanuele Aina
8a69210363 tests: track touch events in test-events
Enable xinput support in the X11 backend form test-events to
receive touch[begin|update|end] events.

https://bugzilla.gnome.org/show_bug.cgi?id=683869
2012-09-12 14:57:48 +02:00
Emanuele Aina
19de5d2541 action: fix CLUTTER_GESTURE_ACTION_GET_CLASS()
Fix the same cut'n'paste error fixed for GestureAction in 609766fa,
this time in ClickAction, PanAction, RotateAction and SwipeAction.

https://bugzilla.gnome.org/show_bug.cgi?id=683430
2012-09-11 23:05:15 +02:00
Nilamdyuti Goswami
a6a96f0946 Assamese translation updated 2012-09-11 16:59:22 +05:30
Rui Matos
ea50df6bb6 text: Don't accept new line characters in single line mode
Modified Return key presses don't trigger ::activate so we would end
up adding an unprintable character to a single paragraph mode pango
layout which renders it as a box.

https://bugzilla.gnome.org/show_bug.cgi?id=623344
2012-09-09 23:48:46 +02:00
Ihar Hrachyshka
5e18c2f9b4 Updated Belarusian translation. 2012-09-09 15:29:05 +03:00
Duarte Loreto
69b83d1f70 Updated Portuguese translation 2012-09-09 01:17:39 +01:00
Martin Srebotnjak
67fa2e6809 Updated Slovenian translation 2012-09-08 20:39:51 +02:00
Tom Tryfonidis
6a4060c2d7 Updated Greek translation 2012-09-08 12:12:38 +03:00
Debarshi Ray
c3e574a389 actor: Fix the content box for CLUTTER_CONTENT_GRAVITY_RESIZE_ASPECT
The code for calculating the content box when the aspect ratio is
greater than 1 was broken. The same code that did the calculation for
aspect ratio less than 1 should be used in all cases.

Fixes: https://bugzilla.gnome.org/682161
2012-09-07 21:23:24 +01:00
Enrico Nicoletto
75e7fcdb2c Added Brazilian Portuguese translation. 2012-09-07 11:57:13 -04:00
Matej Urbančič
568c8e1919 Updated Slovenian translation 2012-09-07 15:19:30 +02:00
Christian Kirbach
f6d7cc5ee6 Updated German translation 2012-09-06 23:07:25 +02:00
Yuri Myasoedov
a71c38445a Updated Russian translation 2012-09-06 22:41:33 +04:00
Emanuele Aina
9caf9ffbbb gesture-action: unregister point on missed release events
When we miss button release events (eg. when they happen outside
of our window) we must ensure that the corresponding point is
removed from the array of tracked points, otherwise GestureAction
will get very confused and will cancel all subsequent gestures.

https://bugzilla.gnome.org/show_bug.cgi?id=683471
2012-09-06 12:16:24 +01:00
Emanuele Aina
3b298ddfa3 pan-action: emit ::pan-stopped before ::gesture-begin
When starting a new gesture before the momentum of the previous one
has finished the ::pan-stopped was counter-intuitively emitted
after the new ::gesture-begin.

Make use of gesture_prepare() to reset the state of the action
right before emitting ::gesture-begin.

https://bugzilla.gnome.org/show_bug.cgi?id=683431
2012-09-06 12:16:09 +01:00
Emanuele Aina
2001cd7a2c gesture-action: add gesture_prepare() virtual function
The gesture_prepare() virtual function is called before the
::gesture-begin signal is emitted, and allows a subclass to reset
its state.

https://bugzilla.gnome.org/show_bug.cgi?id=683431
2012-09-06 12:16:08 +01:00
Emanuele Aina
609766fa2b gesture-action: fix CLUTTER_GESTURE_ACTION_GET_CLASS()
Fix a cut'n'paste error where CLUTTER_GESTURE_ACTION_GET_CLASS()
was returning the private class data instead of the class instance.

https://bugzilla.gnome.org/show_bug.cgi?id=683430
2012-09-06 12:15:50 +01:00
Emmanuele Bassi
f67aa36e3b color: Simplify shade() implementation
We can use the CLAMP macro, instead of a bunch of ifs.
2012-09-06 12:15:28 +01:00
Мирослав Николић
44cf976c51 Updated Serbian translation 2012-09-05 22:09:57 +02:00
Jasper St. Pierre
3398f3acdf stage: Normalize key focus setting
We often mean that when key_focus == NULL, it's assumed to be on the
stage, and clutter_stage_get_key_focus() reflects this. We also do a
lot of check around the lines of key_focus == NULL instead of also
checking for the stage, so make sure to normalize it so that explicitly
grabbing the stage's key focus will not change our behaviour.

https://bugzilla.gnome.org/show_bug.cgi?id=683301
2012-09-05 14:16:34 -03:00
Alexandre Franke
1930c187a8 Update French translation 2012-09-05 16:02:07 +02:00
Chao-Hsiung Liao
98f8723f4d Updated Traditional Chinese translation(Hong Kong and Taiwan) 2012-09-05 19:36:46 +08:00
Emmanuele Bassi
950e60f824 x11: Add EventSequence → touch detail accessor
The ClutterEventSequence structure is a fully opaque type; on X11, it is
just an unsigned integer that gets converted into a pointer, but in the
future it may become a fully fledged data structure.

Obviously, we cannot tell people to just dereference the pointer into an
integer in order to use it, and still retain the ability to change the
type; for this reason, we need a proper accessor function to convert the
EventSequence into a touch detail, to be used with the XInput API.
2012-09-05 09:43:47 +01:00
Dirgita
263592739c Updated Indonesian translation 2012-09-04 19:40:29 +07:00
Bruce Cowan
89c83953f5 Updated British English translation 2012-09-04 11:49:50 +01:00
Emmanuele Bassi
2ed703cf06 Post-release version bump to 1.11.15 2012-09-03 22:48:52 +01:00
Emmanuele Bassi
9019a3754f Release Clutter 1.11.14 (snapshot) 2012-09-03 22:34:52 +01:00
Emmanuele Bassi
d6b8dfb694 gdk: Fix include 2012-09-03 22:34:52 +01:00
Emmanuele Bassi
6096b41d7c docs: Update with missing symbols 2012-09-03 22:21:44 +01:00
Neil Roberts
99a7406d01 evdev: Swap the numbers for the middle and right buttons
The ordering of the evdev button numbers is the opposite of the
order in Clutter (the middle button is 3 instead of 2) so we need to
manually map the button numbers when creating a ClutterButtonEvent.

https://bugzilla.gnome.org/show_bug.cgi?id=680255
2012-09-03 21:58:25 +01:00
Emmanuele Bassi
df0ab34499 docs: Fix GestureAction.get_velocity()
The velocity is in pixels per milliseconds, not microseconds.

https://bugzilla.gnome.org/show_bug.cgi?id=683113
2012-09-03 21:56:39 +01:00
Lionel Landwerlin
d6a0f7eb61 input-device: don't reset a device's stage until all touch points are gone
803b3bafb6 introduced a new issue for
multi touch events.

In the case where 2 touch events for 2 different touch points are
processed in the same iteration, a call to
_clutter_stage_remove_device() when processing the first event will
remove the stage setting of the InputDevice. That means Clutter will
skip the second event, because it can't find a stage to which relate
the event, so no related actor and so no emission.

To fix this we move the _clutter_stage_(add/remove)_device() calls
into the input device. This way the input device can find out exactly
when to call these functions (i.e. when no touch point were previously
active or when no touch point remain active).

https://bugzilla.gnome.org/show_bug.cgi?id=682362
2012-09-03 21:50:24 +01:00
Tomeu Vizoso
d5332d1e4c stage: Remove tracking input devices, it's not used
https://bugzilla.gnome.org/show_bug.cgi?id=683126
2012-09-03 21:50:19 +01:00
Jasper St. Pierre
fd375a7bc9 blur-effect: Fix the blur filter
Make sure we don't sample the center twice, and don't sample things
that aren't our immediate neighbors.

https://bugzilla.gnome.org/show_bug.cgi?id=683076
2012-09-03 21:18:43 +01:00
Emmanuele Bassi
fb9e0466c0 examples/pan-action: Animate the content reset
We can use the newly added support for implicit animations for the child
transform.
2012-09-03 21:01:24 +01:00
Emmanuele Bassi
48a2846ab9 actor: Make :transform and :child-transform animatable
Now that we can interpolate between two matrices, we can mark the
matrix-based property as animatable.
2012-09-03 21:00:40 +01:00
Emmanuele Bassi
22ce4409b3 Add interpolation for matrices
Interpolating between two transformations expressed using a 3D matrix
can be achieved by decomposing the matrices into their transformations
and do a simple numeric interpolation between the initial and final
states, like we do for other data types.

Luckily for us, the CSS Transforms specification from the W3C provides
the decomposition algorithm, using the "unmatrix" code taken from the
book "Graphics Gems II, edited by Jim Arvo".

Once the matrices have been decomposed, we can simply interpolate the
transformations, and re-apply them onto the result matrix, using the
facilities that Clutter provides for interpolating between two known
GTypes.
2012-09-03 20:54:43 +01:00
Neil Roberts
cda4493f99 Include cogl/cogl-egl.h from clutter-egl-headers.h
Since Cogl version 1.11.2, Cogl no longer includes the EGL headers
from cogl.h if COGL_ENABLE_EXPERIMENTAL_2_0_API is defined. Instead
the application needs to include cogl-egl.h so that we can avoid
polluting the global namespace with X defines. Clutter defines the 2.0
define in its configure.ac and it is relying on Cogl to include the
right EGL header in clutter-egl-headers.h so we need to change which
header it includes.
2012-09-03 15:58:17 +01:00
Emmanuele Bassi
03f4f1c69e actor: Remove existing implicit transition if duration is 0
When changing an implicit transition mid flight we may end up with an
easing state with a duration of zero milliseconds; this leads to the
implicit transition machinery setting the final state directly onto the
actor. If there is a running transition, though, we need to remove it
from the transitions table, otherwise it will keep running.

This regression happened when the update_transition() internal function
was merged into the create_transition() one.

Tested-by: Lionel Landwerlin <llandwerlin@gmail.com>
2012-09-03 13:03:16 +01:00
Tomeu Vizoso
2ef148a2c9 gesture-action: Add API for cancelling a gesture
and getters for sequences and devices of current points. It can be
used for accepting and rejecting sequences for system-wide gestures.

https://bugzilla.gnome.org/show_bug.cgi?id=683090
2012-09-03 10:21:24 +02:00
Jasper St. Pierre
38b82cb22c brightness-contrast-effect: Don't actually run if it will have no effect
Don't run the shader and redirect to an FBO if it won't actually do anything.
This saves us on resources a ton.

https://bugzilla.gnome.org/show_bug.cgi?id=683066
2012-09-03 05:02:48 -03:00
Emmanuele Bassi
b2b22dbe6c x11/device-manager-xi2: Put XIPointerEmulated under conditionals
There are a couple of debugging messages using XInput 2.2 symbols
unconditionally, and it breaks builds on older systems.

https://bugzilla.gnome.org/show_bug.cgi?id=683219
2012-09-02 22:48:52 +01:00