profile/ivi/clutter.git
12 years agointeractive/actor: Do not use clutter_actor_animate()
Emmanuele Bassi [Thu, 15 Mar 2012 11:25:26 +0000 (11:25 +0000)]
interactive/actor: Do not use clutter_actor_animate()

Use implicit animations instead.

12 years agointeractive/transitions: An easing demo without animate()
Emmanuele Bassi [Thu, 15 Mar 2012 11:24:46 +0000 (11:24 +0000)]
interactive/transitions: An easing demo without animate()

Use the newly added implicit animations support in ClutterActor.

12 years agodocs: Update the API reference
Emmanuele Bassi [Thu, 15 Mar 2012 11:24:27 +0000 (11:24 +0000)]
docs: Update the API reference

12 years agosymbols: Update
Emmanuele Bassi [Thu, 15 Mar 2012 11:24:07 +0000 (11:24 +0000)]
symbols: Update

12 years agoactor: Implement implicit animatable properties
Emmanuele Bassi [Thu, 15 Mar 2012 11:09:11 +0000 (11:09 +0000)]
actor: Implement implicit animatable properties

Clutter is meant to be, and I quote from the README, a toolkit:

  for creating fast, compelling, portable, and dynamic graphical
  user interfaces

and yet the default mode of operation for setting an actor's state on
the scene graph (position, size, opacity, rotation, scaling, depth,
etc.) is *not* dynamic. We assume a static UI, and then animate it.

This is the wrong way to design an API for a toolkit meant to be used to
create animated user interfaces. The default mode of operation should be
to implicitly animate every state transition, and only allow skipping
the animation if the user consciously decides to do so — i.e. the design
tenet of the API should be to make The Right Thing™ by default, and make
it really hard (or even impossible) to do The Wrong Thing™.

So we should identify "animatable" properties, i.e. those properties
that should be implicitly animated by ClutterActor, and use the
animation framework we provide to tween the transitions between the
current state and the desired state; the implicit animation should
happen when setting these properties using the public accessors, and not
through some added functionality. For instance, the following:

  clutter_actor_set_position (actor, newX, newY);

should not make the actor jump to the (newX, newY) point; it should
tween the actor's position between the current point and the desired
point.

Since we have to maintain backward compatibility with existing
applications, we still need to mark the transitions explicitly, but we
can be smart about it, and treat transition states as a stack that can
be pushed and popped, e.g.:

  clutter_actor_save_easing_state (actor);

    clutter_actor_set_easing_duration (actor, 500);
    clutter_actor_set_position (actor, newX, newY);
    clutter_actor_set_opacity (actor, newOpacity);

  clutter_actor_restore_easing_state (actor);

And we can even start stacking animations, e.g.:

  clutter_actor_save_easing_state (actor);

    clutter_actor_set_easing_duration (actor, 500);
    clutter_actor_set_position (actor, newX, newY);

    clutter_actor_save_easing_state (actor);

      clutter_actor_set_easing_duration (actor, 500);
      clutter_actor_set_easing_mode (actor, CLUTTER_LINEAR);
      clutter_actor_set_opacity (actor, newOpacity);
      clutter_actor_set_depth (actor, newDepth);

    clutter_actor_restore_easing_state (actor);

  clutter_actor_restore_easing_state (actor);

And so on, and so forth.

The implementation takes advantage of the newly added Transition API,
which uses only ClutterTimeline sub-classes and ClutterInterval, to cut
down the amount of signal emissions and memory management of object
instances; as well of using the ClutterAnimatable interface for custom
properties and interpolation of values.

12 years agoAdd ClutterPropertyTransition
Emmanuele Bassi [Thu, 15 Mar 2012 11:06:00 +0000 (11:06 +0000)]
Add ClutterPropertyTransition

ClutterPropertyTransition is a ClutterTransition that animates a
property of a ClutterAnimatable implementation.

12 years agoAdd ClutterTransition
Emmanuele Bassi [Thu, 15 Mar 2012 11:04:31 +0000 (11:04 +0000)]
Add ClutterTransition

ClutterTransition is a Timeline sub-class that allows interpolation of a
value between the initial and final states held by a ClutterInterval.

12 years agotypes: Declare new Transition classes
Emmanuele Bassi [Thu, 15 Mar 2012 11:08:38 +0000 (11:08 +0000)]
types: Declare new Transition classes

12 years agointerval: Add variadic arguments for initial/final setters
Emmanuele Bassi [Thu, 15 Mar 2012 11:02:30 +0000 (11:02 +0000)]
interval: Add variadic arguments for initial/final setters

As a convenience for the C API.

Language bindings should already be using the GValue variants.

This commit also moves the custom progress functions out of the
clutter-interval.c, as they are meant to be generic interpolation
functions and not ClutterInterval-specific.

12 years agodocs: Update reference symbols
Emmanuele Bassi [Thu, 15 Mar 2012 17:00:38 +0000 (17:00 +0000)]
docs: Update reference symbols

12 years agoFix "install" paths in VS 2010 property sheets
Chun-wei Fan [Thu, 15 Mar 2012 08:55:55 +0000 (16:55 +0800)]
Fix "install" paths in VS 2010 property sheets

12 years agoactor: Annotate signals to enable some optimization
Emmanuele Bassi [Wed, 14 Mar 2012 11:33:55 +0000 (11:33 +0000)]
actor: Annotate signals to enable some optimization

The ::paint, ::queue-redraw, and ::queue-relayout signals should be
marked as no-recurse and no-hooks; these signals are emitted *a lot*
during each frame, and since GLib has a bunch of optimizations for
signals with no closures, we should try and squeeze every single CPU
cycle we can.

12 years agoInstall clutter-version.h
Stefano Facchini [Tue, 13 Mar 2012 17:22:19 +0000 (18:22 +0100)]
Install clutter-version.h

12 years agoDist clutter-version.h
Chun-wei Fan [Mon, 5 Mar 2012 02:32:44 +0000 (10:32 +0800)]
Dist clutter-version.h

Dist clutter-version.h for use under non-autotools-based build
environments (e.g. MSVC) as this header is now generic under the
systems Clutter supports

Checked with Emmanuele Bassi on IRC.

12 years agoclutter-master-clock.c: Set frame_budget conditionally
Chun-wei Fan [Thu, 8 Mar 2012 09:11:35 +0000 (17:11 +0800)]
clutter-master-clock.c: Set frame_budget conditionally

The frame_budget member of ClutterMasterClock is only enabled when
CLUTTER_ENABLE_DEBUG is enabled, so fix the build with this.

Checked with Emmanuele Bassi on IRC.

12 years agoUpdated Danish translation
Kenneth Nielsen [Tue, 13 Mar 2012 08:08:31 +0000 (09:08 +0100)]
Updated Danish translation

12 years agoUpdated Brazilian Portuguese translation
Antonio Fernandes C. Neto [Fri, 9 Mar 2012 13:29:33 +0000 (10:29 -0300)]
Updated Brazilian Portuguese translation

12 years agoBump up the GDK dependency
Emmanuele Bassi [Mon, 12 Mar 2012 14:23:35 +0000 (14:23 +0000)]
Bump up the GDK dependency

Commit ac6ce79aa389982c3e7113f6192f492a6e21b4b1 introduced a dependency
on the latest GDK symbols, so we need to bump up the required version of
GDK.

12 years agogdk: add new device types (GDK_SOURCE_TOUCHSCREEN, GDK_SOURCE_TOUCHPAD)
Stefano Facchini [Sat, 10 Mar 2012 15:39:16 +0000 (16:39 +0100)]
gdk: add new device types (GDK_SOURCE_TOUCHSCREEN, GDK_SOURCE_TOUCHPAD)

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

12 years agoUpdated Odia Translation
ManojKumar Giri [Mon, 12 Mar 2012 12:14:54 +0000 (17:44 +0530)]
Updated Odia Translation

12 years agoAdd partial Finnish translation
Timo Jyrinki [Mon, 12 Mar 2012 09:29:54 +0000 (11:29 +0200)]
Add partial Finnish translation

12 years agoUpdated Russian translation
Yuri Myasoedov [Sun, 11 Mar 2012 19:36:53 +0000 (23:36 +0400)]
Updated Russian translation

12 years agoUpdated Serbian translation
Мирослав Николић [Sat, 10 Mar 2012 22:07:27 +0000 (23:07 +0100)]
Updated Serbian translation

12 years agoAdd initial Khmer translation
Khoem Sokhem [Sat, 10 Mar 2012 12:53:53 +0000 (13:53 +0100)]
Add initial Khmer translation

12 years agoUpdated Catalan translation
Gil Forcada [Sat, 10 Mar 2012 12:44:09 +0000 (13:44 +0100)]
Updated Catalan translation

12 years agoUpdated Belarusian translation.
Ihar Hrachyshka [Fri, 9 Mar 2012 18:55:55 +0000 (21:55 +0300)]
Updated Belarusian translation.

12 years agoUpdated Polish translation
Piotr Drąg [Fri, 9 Mar 2012 18:09:40 +0000 (19:09 +0100)]
Updated Polish translation

12 years agoAdd skeleton translations for RTL locales
Florian Müllner [Fri, 9 Mar 2012 15:17:52 +0000 (16:17 +0100)]
Add skeleton translations for RTL locales

RTL locales need to translate the "default:LTR" string to have
clutter_actor_get_text_direction() return the expected result;
as GNOME Shell now makes use of that API, users of RTL locales
would be up for an unpleasant surprise, so add all locales that
translate "default:LTR" to "default:RTL" in GTK+.

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

12 years agoUpdate Hebrew translations
Florian Müllner [Fri, 9 Mar 2012 15:34:54 +0000 (16:34 +0100)]
Update Hebrew translations

RTL locales need to translate the "default:LTR" string to have
clutter_actor_get_text_direction() return the expected result;
as GNOME Shell now makes use of that API, users of RTL locales
would be up for an unpleasant surprise, so add the required
translation.

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

12 years agopo: Update bug tracker in Makevars
Emmanuele Bassi [Fri, 9 Mar 2012 17:32:46 +0000 (17:32 +0000)]
po: Update bug tracker in Makevars

12 years agoFixed leaking GValue content in clutter_animation_setup_valist().
Tristan Van Berkom [Fri, 9 Mar 2012 17:06:10 +0000 (02:06 +0900)]
Fixed leaking GValue content in clutter_animation_setup_valist().

Normally this leak goes unnoticed because basic fundamental types
are typically used with clutter_actor_animate(), the leak shows up
if boxed or object types are passed (such as ClutterVertex in the
case I stumbled upon).

12 years agotext: Use CoglFramebuffer API for the path-based clip
Emmanuele Bassi [Thu, 8 Mar 2012 14:07:15 +0000 (14:07 +0000)]
text: Use CoglFramebuffer API for the path-based clip

12 years agoUpdated British English translation
Bruce Cowan [Fri, 9 Mar 2012 16:24:35 +0000 (16:24 +0000)]
Updated British English translation

12 years agoUpdated Galician translations
Fran Diéguez [Thu, 8 Mar 2012 22:25:57 +0000 (23:25 +0100)]
Updated Galician translations

12 years agoUpdated Bulgarian translation
Alexander Shopov [Thu, 8 Mar 2012 20:45:17 +0000 (22:45 +0200)]
Updated Bulgarian translation

12 years agoUpdated Slovenian translation
Matej Urbančič [Thu, 8 Mar 2012 14:42:14 +0000 (15:42 +0100)]
Updated Slovenian translation

12 years agoFixup VS 2010 property sheets
Chun-wei Fan [Thu, 8 Mar 2012 09:44:02 +0000 (17:44 +0800)]
Fixup VS 2010 property sheets

There are some properties which were not correctly set.  My bad for not
fixing these sooner.

12 years agoUpdated Spanish translation
Daniel Mustieles [Thu, 8 Mar 2012 09:29:08 +0000 (10:29 +0100)]
Updated Spanish translation

12 years agoUpdate VS property sheets
Chun-wei Fan [Thu, 8 Mar 2012 09:07:34 +0000 (17:07 +0800)]
Update VS property sheets

"Install" the new headers that were introduced lately.

12 years agoAssamese translation completed
Nilamdyuti Goswami [Thu, 8 Mar 2012 08:42:50 +0000 (14:12 +0530)]
Assamese translation completed

12 years agoUpdated Traditional Chinese translation(Hong Kong and Taiwan)
Chao-Hsiung Liao [Thu, 8 Mar 2012 07:53:04 +0000 (15:53 +0800)]
Updated Traditional Chinese translation(Hong Kong and Taiwan)

12 years agoUpdated POTFILES.in
Piotr Drąg [Wed, 7 Mar 2012 23:04:55 +0000 (00:04 +0100)]
Updated POTFILES.in

12 years agoUpdated Belarusian translation.
Ihar Hrachyshka [Wed, 7 Mar 2012 20:40:08 +0000 (23:40 +0300)]
Updated Belarusian translation.

12 years agoAdd brightness/contrast effect
Joseph Scheuhammer [Thu, 2 Feb 2012 21:23:00 +0000 (16:23 -0500)]
Add brightness/contrast effect

The ClutterBrightnessContrastEffect effect class allows changing the
brightness and contrast levels of an actor.

Modified-by: Emmanuele Bassi <ebassi@linux.intel.com>
Modified-by: Neil Roberts <neil@linux.intel.com>
https://bugzilla.gnome.org/show_bug.cgi?id=656156

12 years agocally/text: Constify string members
Emmanuele Bassi [Wed, 7 Mar 2012 12:59:25 +0000 (12:59 +0000)]
cally/text: Constify string members

12 years agobuild: Increase the anal-retentiveness of the maintainer flags
Emmanuele Bassi [Wed, 7 Mar 2012 12:35:57 +0000 (12:35 +0000)]
build: Increase the anal-retentiveness of the maintainer flags

The new rules have already caught a couple of issues.

12 years agobuild: Remove maintainer flags from test build
Emmanuele Bassi [Wed, 7 Mar 2012 12:34:48 +0000 (12:34 +0000)]
build: Remove maintainer flags from test build

Part of the test infrastructure relies on relaxed build conditions, so
there's no point to enforce the anal retentive maintainer flags.

12 years agoFix missing/redundant declarations
Emmanuele Bassi [Wed, 7 Mar 2012 12:34:06 +0000 (12:34 +0000)]
Fix missing/redundant declarations

12 years agocally: Fix redundant declarations
Emmanuele Bassi [Wed, 7 Mar 2012 12:32:32 +0000 (12:32 +0000)]
cally: Fix redundant declarations

12 years agosnap-constraint: Fix typo that broke the get_edges() method
Emmanuele Bassi [Wed, 7 Mar 2012 12:31:25 +0000 (12:31 +0000)]
snap-constraint: Fix typo that broke the get_edges() method

We were declaring a get_edges() method, but the definition was called
get_edge().

12 years agox11/device-manager-core: Avoid a signed/unsigned comparison
Emmanuele Bassi [Wed, 7 Mar 2012 12:07:41 +0000 (12:07 +0000)]
x11/device-manager-core: Avoid a signed/unsigned comparison

12 years agox11/keymap: Avoid a signed/unsigned comparison
Emmanuele Bassi [Wed, 7 Mar 2012 12:07:15 +0000 (12:07 +0000)]
x11/keymap: Avoid a signed/unsigned comparison

12 years agox11/backend: Ensure that pre/post parse hooks are not exposed
Emmanuele Bassi [Wed, 7 Mar 2012 12:06:24 +0000 (12:06 +0000)]
x11/backend: Ensure that pre/post parse hooks are not exposed

Not even as private methods.

12 years agoTry to avoid duplicate declarations for profile macros
Emmanuele Bassi [Wed, 7 Mar 2012 12:04:44 +0000 (12:04 +0000)]
Try to avoid duplicate declarations for profile macros

We can use the __COUNTER__ macro or, failing that, the __LINE__ macro to
ensure that we don't declare dummy variables more than once with the
same name.

12 years agogdk: Add missing declaration of clutter_gdk_get_default_display()
Emmanuele Bassi [Wed, 7 Mar 2012 12:04:25 +0000 (12:04 +0000)]
gdk: Add missing declaration of clutter_gdk_get_default_display()

12 years agoUpdated Galician translations
Fran Diéguez [Wed, 7 Mar 2012 11:54:09 +0000 (12:54 +0100)]
Updated Galician translations

12 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 7 Mar 2012 10:33:52 +0000 (11:33 +0100)]
Updated Spanish translation

12 years agoUpdated Bulgarian translation
Alexander Shopov [Wed, 7 Mar 2012 04:36:27 +0000 (06:36 +0200)]
Updated Bulgarian translation

12 years agoosx: Call finishLaunching on post-parse
Emmanuele Bassi [Fri, 27 Jan 2012 12:30:04 +0000 (12:30 +0000)]
osx: Call finishLaunching on post-parse

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

12 years agotexture: Fix the async loop ceiling
Emmanuele Bassi [Tue, 6 Mar 2012 15:39:29 +0000 (15:39 +0000)]
texture: Fix the async loop ceiling

The comment says that we're going to load textures in a loop until we
still have work to do, or if one iteration took more than 5
milliseconds, to avoid blowing up our frame budget, but the check is for
5 seconds, which is hardly a sensible value.

12 years agoAssamese translation completed
Nilamdyuti Goswami [Tue, 6 Mar 2012 15:37:26 +0000 (21:07 +0530)]
Assamese translation completed

12 years agointeractive/text-field: Use :background-color
Emmanuele Bassi [Tue, 6 Mar 2012 15:07:55 +0000 (15:07 +0000)]
interactive/text-field: Use :background-color

Instead of a custom paint signal handler.

12 years agotext: Use the background color when painting
Emmanuele Bassi [Tue, 6 Mar 2012 15:06:52 +0000 (15:06 +0000)]
text: Use the background color when painting

If the ClutterActor:background-color-set property is set to TRUE.

12 years agotext: Center the cursor caret
Emmanuele Bassi [Tue, 6 Mar 2012 15:05:36 +0000 (15:05 +0000)]
text: Center the cursor caret

We remove 2 pixels from the height of the cursor, but we should also
remove the same amount from the position on the y axis, so that the
cursor caret appears centered in the allocated height.

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

12 years agoUpdated Slovenian translation
Matej Urbančič [Tue, 6 Mar 2012 14:43:08 +0000 (15:43 +0100)]
Updated Slovenian translation

12 years agoscript: Support translatable strings for properties
Emmanuele Bassi [Tue, 6 Mar 2012 14:23:33 +0000 (14:23 +0000)]
script: Support translatable strings for properties

ClutterScript should be able to automatically call gettext() and friends
on strings loaded from a UI definition, prior to passing the string to
the object it is constructing.

The basic implementation is trivial:

  - set a translation domain on the ClutterScript instance
  - mark the translatable strings inside the JSON data, like:

      "property" : {
        "translatable" : true,
        "string" : "a translatable string"
      }

The hard part is now getting the tools we use to extract the
translatable strings to understand the JSON format we use inside
ClutterScript.

12 years agoAnnotate clutter_threads_add_repaint_func_full()
Emmanuele Bassi [Tue, 6 Mar 2012 14:22:43 +0000 (14:22 +0000)]
Annotate clutter_threads_add_repaint_func_full()

12 years agoAdd missing enumeration type to clutter.symbols
Emmanuele Bassi [Tue, 6 Mar 2012 14:21:04 +0000 (14:21 +0000)]
Add missing enumeration type to clutter.symbols

12 years agomaster-clock: Add frame budget diagnostic messages
Emmanuele Bassi [Tue, 6 Mar 2012 13:50:10 +0000 (13:50 +0000)]
master-clock: Add frame budget diagnostic messages

Let's keep a budget of 16.6 milliseconds per frame, and reduce it by the
amount of time spent in each phase of the frame processing. If any phase
goes over the allocated budget then we use the diagnostic mode
facilities to warn the app developer.

12 years agomaster-clock: Clean up the frame processing
Emmanuele Bassi [Tue, 6 Mar 2012 12:55:27 +0000 (12:55 +0000)]
master-clock: Clean up the frame processing

Split out every phase into its own function, to ensure that the sequence
of operation is clear and easy to follow.

12 years agoImprove repaint functions
Emmanuele Bassi [Tue, 6 Mar 2012 12:09:00 +0000 (12:09 +0000)]
Improve repaint functions

It is sometimes useful to be able to have better control on when a
repaint function is called. Currently, all repaint functions are called
prior to the stages update phase of the frame processing.

We can introduce flags to represent the point in the frame update
process in which we wish Clutter called the repaint function.

As a bonus, we can also add a flag that causes adding a repaint function
to spin the master clock.

12 years agoPost-release version bump to 1.9.15
Emmanuele Bassi [Mon, 5 Mar 2012 23:57:01 +0000 (23:57 +0000)]
Post-release version bump to 1.9.15

12 years agoRelease Clutter 1.9.14 (snapshot)
Emmanuele Bassi [Mon, 5 Mar 2012 23:41:52 +0000 (23:41 +0000)]
Release Clutter 1.9.14 (snapshot)

12 years agodocs: Updates to the API reference
Emmanuele Bassi [Mon, 5 Mar 2012 23:34:27 +0000 (23:34 +0000)]
docs: Updates to the API reference

12 years agoUpdate the release notes
Emmanuele Bassi [Mon, 5 Mar 2012 22:02:01 +0000 (22:02 +0000)]
Update the release notes

12 years agoactor: Ensure static scope to allocation-changed arguments
Emmanuele Bassi [Mon, 5 Mar 2012 21:59:53 +0000 (21:59 +0000)]
actor: Ensure static scope to allocation-changed arguments

In theory, handlers connected to the ::allocation-changed signal may be
able to modify the actor's real allocation and allocation flags,
especially now that we use STATIC_SCOPE; let's avoid this, so that we
don't regret it later.

12 years agotests: Remove test-cogl-pixel-buffer
Neil Roberts [Mon, 5 Mar 2012 19:23:46 +0000 (19:23 +0000)]
tests: Remove test-cogl-pixel-buffer

This has been converted to a Cogl-based test in the cogl source tree
so there is no need to maintain it here anymore.

Reviewed-by: Robert Bragg <robert@linux.intel.com>
12 years agoconformance/invariants: Test that visibility is not recursive
Emmanuele Bassi [Mon, 5 Mar 2012 17:45:23 +0000 (17:45 +0000)]
conformance/invariants: Test that visibility is not recursive

The show and hide methods should not recurse; that is the job of
show_all and hide_all, which are deprecated.

12 years agostage: Fix up a copy-and-paste train wreck
Emmanuele Bassi [Mon, 5 Mar 2012 17:38:27 +0000 (17:38 +0000)]
stage: Fix up a copy-and-paste train wreck

The show and hide implementation inside ClutterStage ended up being
recursive, and the hide implementation would actually show the children
of the stage unconditionally.

Whoopsie.

12 years agoconform/actor-invariants: Add tests for show-on-set-parent
Emmanuele Bassi [Mon, 5 Mar 2012 17:26:09 +0000 (17:26 +0000)]
conform/actor-invariants: Add tests for show-on-set-parent

The show-on-set-parent flag is mental, but it needs to be tested better
than just checking for it always been set to TRUE.

12 years agoAssamese translation completed
Nilamdyuti Goswami [Mon, 5 Mar 2012 14:26:42 +0000 (19:56 +0530)]
Assamese translation completed

12 years agoactor: Annotate the allocation-changed signal
Emmanuele Bassi [Mon, 5 Mar 2012 10:36:03 +0000 (10:36 +0000)]
actor: Annotate the allocation-changed signal

The ActorBox passed to the ::allocation-changed signal should be
annotated as STATIC_SCOPE, given that it's a pointer to a structure
inside ClutterActorPrivate - hence there's no risk of it actually being
freed from a signal handler. This allows the GSignal machinery to avoid
a costly copy/free for each signal emission.

12 years agoUpdated Telugu Translations
Krishnababu Krothapalli [Fri, 2 Mar 2012 08:17:57 +0000 (13:47 +0530)]
Updated Telugu Translations

12 years agoClutterActor: clear redraw entry before emitting signals
Giovanni Campagna [Thu, 1 Mar 2012 21:58:39 +0000 (22:58 +0100)]
ClutterActor: clear redraw entry before emitting signals

If the redraw entry is not cleared, queueing a redraw from a signal
handler could reinsert the same object in the stage redraw list,
causing the segfault later (as the object is immediately freed)

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

12 years agoinput: Add a check on the argument
Emmanuele Bassi [Thu, 1 Mar 2012 15:11:59 +0000 (15:11 +0000)]
input: Add a check on the argument

12 years agosymbols: Add missing InputDevice symbol
Emmanuele Bassi [Thu, 1 Mar 2012 15:11:36 +0000 (15:11 +0000)]
symbols: Add missing InputDevice symbol

12 years agoMake clutter-stage-window.h a private header
Emmanuele Bassi [Thu, 1 Mar 2012 11:06:04 +0000 (11:06 +0000)]
Make clutter-stage-window.h a private header

It should have never been public in the first place; nothing can
implement the ClutterStageWindow interface and use it, so this is
not a break.

12 years agoFix compilation
Emmanuele Bassi [Thu, 1 Mar 2012 15:07:05 +0000 (15:07 +0000)]
Fix compilation

Hide a symbol if we're not compiling with Wayland compositor support.

12 years agoclutter-wayland-surface: Add padding to the class struct
Neil Roberts [Wed, 29 Feb 2012 19:20:18 +0000 (19:20 +0000)]
clutter-wayland-surface: Add padding to the class struct

This just adds some padding pointers so that we can later add more
virtual functions without breaking ABI.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agoclutter-input-device-wayland: Include clutter-stage-private.h
Neil Roberts [Wed, 29 Feb 2012 17:50:22 +0000 (17:50 +0000)]
clutter-input-device-wayland: Include clutter-stage-private.h

This was giving a warning about using _clutter_stage_update_state
without declaring it.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agowayland-surface: don't queue redraw on buffer attach
Robert Bragg [Mon, 13 Feb 2012 13:20:02 +0000 (13:20 +0000)]
wayland-surface: don't queue redraw on buffer attach

Reviewed-by: Neil Roberts <neil@linux.intel.com>
Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agoevdev: Adds api to release/reclaim the evdev devices
Robert Bragg [Sun, 22 Jan 2012 15:36:17 +0000 (15:36 +0000)]
evdev: Adds api to release/reclaim the evdev devices

Clutter applications using evdev are typically fullscreen applications
associated with a single virtual termainal. When switching away from
the applications associated tty then Clutter should stop managing all
evdev devices and re-probe for devices when the application regains
focus by switching back to the tty. To facilitate this, this patch
adds clutter_evdev_release_devices() and clutter_evdev_reclaim_devices()
functions.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agowayland/x11: Set constraints on the CoglRenderer
Neil Roberts [Wed, 29 Feb 2012 16:35:48 +0000 (16:35 +0000)]
wayland/x11: Set constraints on the CoglRenderer

When using the Wayland backend this sets a constraint that the
CoglRenderer selects the Wayland EGL winsys.

When a Wayland compositor display is set it now also sets a constraint
that the render should use EGL because only EGL renderers will set up
the required wl_drm global object.

The X11 backend now sets the X11 constraint.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agodevice-manager-core-x11: Create core input devices as x11
Neil Roberts [Tue, 17 Jan 2012 17:29:18 +0000 (17:29 +0000)]
device-manager-core-x11: Create core input devices as x11

The core input devices when XInput doesn't work were being created as
generic ClutterInputDevices instead of ClutterInputDeviceX11s. This
meant the keycode_to_evdev virtual wouldn't work.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agoAdd an input device function to convert keycodes to evdev codes
Neil Roberts [Tue, 17 Jan 2012 15:40:08 +0000 (15:40 +0000)]
Add an input device function to convert keycodes to evdev codes

This adds a virtual function to ClutterInputDevice to translate a
keycode from the hardware_keycode member of ClutterKeyEvent to an
evdev keycode. The function can fail so that input backends that don't
have a sensible way to translate to evdev keycodes can return FALSE.
There are implementations for evdev, wayland and X. The X
implementation assumes that the X server is using an evdev driver in
which case the hardware keycodes are the evdev codes plus 8.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agoevdev: Associate devices with the first created stage
Neil Roberts [Tue, 17 Jan 2012 13:37:26 +0000 (13:37 +0000)]
evdev: Associate devices with the first created stage

Because evdev isn't associated with the display system, it doesn't
have any easy way to associate an input device with a stage.
Previously Clutter would never set a stage for an input device and
leave it up to the application to set it. To make it easier for
applications which just have a single fullscreen stage (which is
probably the most common use case for evdev) the device manager now
associates all input devices with the first stage that is created
unless something has already set a stage.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agoUpdates in line with latest wayland protocol
Robert Bragg [Thu, 12 Jan 2012 20:36:16 +0000 (20:36 +0000)]
Updates in line with latest wayland protocol

The shm buffer format enum values were renamed and the explicitly
premultiplied format was dropped since it's now assumed if the buffer
has an alpha component then it's premultiplied.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agoclutter-wayland-surface: Remove the pick method
Neil Roberts [Wed, 11 Jan 2012 18:11:51 +0000 (18:11 +0000)]
clutter-wayland-surface: Remove the pick method

The pick method doesn't do anything special over the default pick
method provided by ClutterActor so there's no need to implement it.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agowayland-surface: removes unused origin variable
Robert Bragg [Wed, 11 Jan 2012 00:16:10 +0000 (00:16 +0000)]
wayland-surface: removes unused origin variable

Reviewed-by: Neil Roberts <neil@linux.intel.com>
Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agowayland-surface: Adds queue-damage-redraw signal
Robert Bragg [Wed, 11 Jan 2012 00:08:05 +0000 (00:08 +0000)]
wayland-surface: Adds queue-damage-redraw signal

This adds a signal that's emitted whenever a wayland surface is damaged
that allows sub-classes to override the default handler to change
how clipped redraws are queued if the sub-class doesn't simply draw
a rectangle. The signal can also be used just to track damage.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>