profile/ivi/clutter.git
12 years agoUpdated Spanish translation
Daniel Mustieles [Fri, 19 Aug 2011 11:51:32 +0000 (13:51 +0200)]
Updated Spanish translation

12 years agox11/settings: Add Fontconfig/Timestamp key
Emmanuele Bassi [Thu, 18 Aug 2011 14:36:20 +0000 (15:36 +0100)]
x11/settings: Add Fontconfig/Timestamp key

The XSETTINGS key that matches the :fontconfig-timestamp property on
ClutterSettings.

12 years agosettings: Add ClutterSettings:fontconfig-timestamp
Emmanuele Bassi [Thu, 18 Aug 2011 14:33:39 +0000 (15:33 +0100)]
settings: Add ClutterSettings:fontconfig-timestamp

The :fontconfig-timestamp is a write-only property that will get updated
by the underlying platform whenever the fontconfig configuration has
been changed — i.e. when the fontconfig caches should be rebuilt after
the user has installed a new font.

12 years agobuild: Depend on pangoft2 on X11
Emmanuele Bassi [Thu, 18 Aug 2011 14:32:29 +0000 (15:32 +0100)]
build: Depend on pangoft2 on X11

We need the fontconfig API to reinitialize the fontmap caches whenever
the system tells us that the user fonts have changed.

12 years agotext: Implement Scriptable interface for font-description
Robert Bragg [Tue, 16 Aug 2011 16:31:42 +0000 (17:31 +0100)]
text: Implement Scriptable interface for font-description

This makes ClutterText implement the Scriptable interface so that we can
have a custom property parser and setter for the font-description
property. This works by simply passing the string description through
to clutter_text_set_font_name.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agoPost-release version bump to 1.7.11
Emmanuele Bassi [Mon, 15 Aug 2011 23:19:34 +0000 (00:19 +0100)]
Post-release version bump to 1.7.11

12 years agoRelease Clutter 1.7.10 (snapshot)
Emmanuele Bassi [Mon, 15 Aug 2011 22:50:03 +0000 (23:50 +0100)]
Release Clutter 1.7.10 (snapshot)

12 years agobuild: Do not define LDADD twice
Emmanuele Bassi [Mon, 15 Aug 2011 22:52:45 +0000 (23:52 +0100)]
build: Do not define LDADD twice

12 years agoactor: Don't update last-paint-volume during picking
Robert Bragg [Mon, 15 Aug 2011 17:24:32 +0000 (18:24 +0100)]
actor: Don't update last-paint-volume during picking

Actually this change has two notable effects; firstly we no longer
perform culling during picking and secondly we avoid updating the
last-paint-volume of an actor when picking.

We shouldn't perform culling during picking until clutter-stage.c is
updated to setup the clipping planes appropriately.

Since the last-paint-volume is intended to represent the visible region
of the actor the last time it was painted on screen it doesn't make
sense to update this during off screen pick renders since we are liable
to end up with a last-paint-volume that maps to an actors new position
when we next come to paint for real.

This fixes a bug in gnome-shell with dragging dash icons leaving a
messy trail on the screen.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
12 years agoUpdate the COPYING file
Emmanuele Bassi [Mon, 15 Aug 2011 16:16:54 +0000 (17:16 +0100)]
Update the COPYING file

The FSF changed address, so we need to update the license accordingly to
avoid triggering issues with automated license checkers used by build
systems, like OBS.

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

12 years agobuild: list correct dependencies
Alejandro Piñeiro [Wed, 10 Aug 2011 18:25:43 +0000 (20:25 +0200)]
build: list correct dependencies

Related to bug https://bugzilla.gnome.org/show_bug.cgi?id=656306#c4

12 years agointeractive/test-actors: Constraint the hands group
Emmanuele Bassi [Mon, 15 Aug 2011 14:53:58 +0000 (15:53 +0100)]
interactive/test-actors: Constraint the hands group

Use constraints to align and size the ClutterGroup containing the
spinning hands so that resizing the stage doesn't look like arse.

12 years agobuild: Require the latest stable version of Cogl
Emmanuele Bassi [Mon, 15 Aug 2011 14:35:41 +0000 (15:35 +0100)]
build: Require the latest stable version of Cogl

12 years agoPost-release version bump to 1.7.9
Emmanuele Bassi [Mon, 15 Aug 2011 14:16:24 +0000 (15:16 +0100)]
Post-release version bump to 1.7.9

12 years agoRelease Clutter 1.7.8 (snapshot)
Emmanuele Bassi [Mon, 15 Aug 2011 13:32:37 +0000 (14:32 +0100)]
Release Clutter 1.7.8 (snapshot)

12 years agoconform: Temporarily disable Cally's conformance test
Emmanuele Bassi [Mon, 15 Aug 2011 13:09:24 +0000 (14:09 +0100)]
conform: Temporarily disable Cally's conformance test

See bug:

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

for the failure.

12 years agodocs: Fix up the unused symbols warning
Emmanuele Bassi [Mon, 15 Aug 2011 13:08:57 +0000 (14:08 +0100)]
docs: Fix up the unused symbols warning

12 years agodocs: Fix up warnings in Cally's reference API
Emmanuele Bassi [Mon, 15 Aug 2011 13:08:28 +0000 (14:08 +0100)]
docs: Fix up warnings in Cally's reference API

12 years agostage-cogl: pass top-left relative swap_region coords
Robert Bragg [Fri, 22 Jul 2011 11:28:29 +0000 (12:28 +0100)]
stage-cogl: pass top-left relative swap_region coords

All 2D coordinate spaces in Cogl have their origin at the top-left so we
shouldn't be flipping the coordinates we pass to
cogl_framebuffer_swap_region to be relative to the bottom of the
framebuffer.

This bumps the Cogl version requirement to 1.7.5 since we've had to fix
a bug in the semantics of cogl_framebuffer_swap_region.

Reviewed-by: Neil Roberts <neil@linux.intel.com>
12 years agotest-cogl-blend-strings: Don't disable the TEXTURE_N test
Neil Roberts [Thu, 4 Aug 2011 18:17:23 +0000 (19:17 +0100)]
test-cogl-blend-strings: Don't disable the TEXTURE_N test

This is now fixed in Cogl so there's no need to disable it.

12 years agoa11y: Notify ATK_STATE_SHOWING state change
Alejo Pacin [Thu, 4 Aug 2011 10:02:52 +0000 (12:02 +0200)]
a11y: Notify ATK_STATE_SHOWING state change

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

12 years agoclutter-stage-win32: Fix name cogl_win32_onscreen_set_foreign_window
Neil Roberts [Sun, 31 Jul 2011 17:00:43 +0000 (18:00 +0100)]
clutter-stage-win32: Fix name cogl_win32_onscreen_set_foreign_window

Since commit 38b67e2884f of Cogl the naming scheme for winsys-specific
API has changed to be cogl_win32_onscreen_* instead of
cogl_onscreen_win32_* so it wouldn't build on Windows.

12 years agoosx: Avoid leaks in Stage::realize
Kirk A. Baker [Mon, 25 Jul 2011 22:00:30 +0000 (15:00 -0700)]
osx: Avoid leaks in Stage::realize

clutter_stage_osx_realize() can now be called multiple times without
leaking views and windows.

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

12 years agoosx: Implement windowDidResignKey
Kirk A. Baker [Tue, 12 Jul 2011 04:56:04 +0000 (21:56 -0700)]
osx: Implement windowDidResignKey

Added isHiding field to _ClutterStageOSX to allow windowDidResignKey
delegate to not order full screen window back whilst the full screen
window was being hidden.  This caused other application windows to be
hidden.  Also added code to keep hidden stage windows from being listed
in the application's Windows menu.

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

12 years agoosx: Add windowDidChangeScreen delegate
Kirk A. Baker [Mon, 25 Jul 2011 22:02:46 +0000 (15:02 -0700)]
osx: Add windowDidChangeScreen delegate

Added -windowDidChangeScreen: delegate to handle condition where moving
host window to a different screen would cause pick errors to be output.
The delegate just causes the stage to be redrawn which re-creates the
pick buffer.

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

12 years agomodel: Remove an unused variable
Emmanuele Bassi [Fri, 29 Jul 2011 12:17:11 +0000 (13:17 +0100)]
model: Remove an unused variable

12 years agointrospection: add missing introspection data from Vala bindings
Evan Nemerson [Wed, 27 Jul 2011 07:14:10 +0000 (00:14 -0700)]
introspection: add missing introspection data from Vala bindings

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

12 years agodocs: Update with the newly added Animatable symbol
Emmanuele Bassi [Fri, 29 Jul 2011 10:48:13 +0000 (11:48 +0100)]
docs: Update with the newly added Animatable symbol

12 years agostate: Use the Animatable interface
Emmanuele Bassi [Fri, 15 Jul 2011 14:06:31 +0000 (15:06 +0100)]
state: Use the Animatable interface

The Animatable interface allows object classes to provide and animate
properties outside of the usual GObject property introspection API.

This change allows ClutterState to defer to the animatable objects the
property introspection and animation, just like ClutterAnimation does.

12 years agoactor: There is no need to implement animate_property()
Emmanuele Bassi [Fri, 15 Jul 2011 13:31:12 +0000 (14:31 +0100)]
actor: There is no need to implement animate_property()

It's a deprecated virtual function, and its replacement does the right
thing by default.

12 years agoanimation: Use Animatable.interpolate_value()
Emmanuele Bassi [Fri, 15 Jul 2011 13:30:39 +0000 (14:30 +0100)]
animation: Use Animatable.interpolate_value()

And stop using the deprecated animate_property() method.

12 years agoanimatable: Deprecate and replace animate_property()
Emmanuele Bassi [Fri, 15 Jul 2011 13:27:26 +0000 (14:27 +0100)]
animatable: Deprecate and replace animate_property()

The animate_property() method of the Animatable interface is far less
than optimal:

  • it has a direct reference to ClutterAnimation;
  • it has an interval decomposed as two values.

These issues tie the Animatable interface with the Animation object,
even though it's neither necessary nor future-proof.

Let's introduce a new method, interpolate_value(), which does not
reference ClutterAnimation and uses a ClutterInterval to express the
initial and final states.

12 years agomodel: Clean up ModelIter vfunc wrappers
Emmanuele Bassi [Fri, 29 Jul 2011 10:29:51 +0000 (11:29 +0100)]
model: Clean up ModelIter vfunc wrappers

All ClutterModelIter virtual functions have a default implementation,
and G_TYPE_INSTANCE_GET_CLASS cannot return NULL unless in case of a
catastrophic event in the type system - which will most likely blow up
any application code way before you could call a ModelIter method.

Thus, the idiom:

  klass = CLUTTER_MODEL_ITER_GET_CLASS (instance);
  if (klass && klass->vfunc)
    klass->vfunc (instance);

is utterly useless complication, and it can be perfectly replaced by:

  CLUTTER_MODEL_ITER_GET_CLASS (instance)->vfunc (instance);

without any loss of safety.

12 years agomodel: Make sure to emit ::row-changed
Emmanuele Bassi [Thu, 28 Jul 2011 14:00:18 +0000 (15:00 +0100)]
model: Make sure to emit ::row-changed

Currently, only clutter_model_iter_set_valist() is in charge of emitting
the ClutterModel::row-changed signal. Both the set() and the
set_valist() functions can be called with multiple columns, so we
coalesce the signal emission at the end of the set_valist(), to have a
single ::row-changed emission per change.

The clutter_model_iter_set_value() function is just a thin wrapper
around the set_value() virtual function, but since it's called
internally we cannot add the signal emission there as well, as we'd
break the signal coalescing.

For this reason, we need some code refactoring inside the various set()
variants of ClutterModelIter:

  - we only use the internal va_arg variant for both the set() and
    set_valist() public functions, to avoid multiple type checks;
  - the internal set_valist() calls an internal set_value() method
    which calls the virtual function from the iterator vtable;
  - a new internal emit_row_changed() method is needed to retrieve
    the ClutterModel from the iterator, and emit the signal;

Now, all three variants of the value setter will call an internal
ClutterModelIter::set_value() wrapper, and emit the ::row-changed
signal.

To check that the intended behaviour has been implemented, and it's not
going to be broken, the test suite has grown a new unit which populates
a model and changes a random row.

12 years agoUpdated Czech translation
Marek Černocký [Thu, 28 Jul 2011 07:31:07 +0000 (09:31 +0200)]
Updated Czech translation

12 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 27 Jul 2011 18:34:39 +0000 (20:34 +0200)]
Updated Spanish translation

12 years agotest/cairo-clock: Remove a double source color set
Emmanuele Bassi [Wed, 27 Jul 2011 10:48:07 +0000 (11:48 +0100)]
test/cairo-clock: Remove a double source color set

Do not call cairo_set_source_rgba() right after calling
clutter_cairo_set_source_color().

12 years agoa11y: Use existing clutter_actor_get_paint_visibility
Alejandro Piñeiro [Tue, 26 Jul 2011 13:56:18 +0000 (15:56 +0200)]
a11y: Use existing clutter_actor_get_paint_visibility

Cally was initially created with Clutter 0.6 in mind. To check
recursively the visibility of a actor a custom method was added.
Since 0.8.4 clutter_actor_get_pain_visibility provides
the same functionality.

Also removed a dummy method. Lets add methods that provide a real
functionality.

12 years agocairo-texture: Add the :auto-resize property
Emmanuele Bassi [Tue, 26 Jul 2011 13:53:26 +0000 (14:53 +0100)]
cairo-texture: Add the :auto-resize property

Keeping the backing Cairo surface of a CairoTexture canvas in sync with
the actor's allocation is tedious and prone to mistakes. We can
definitely do better by simply exposing a property that does the surface
resize and invalidation automagically on ::allocate.

12 years agotests: initial support for cally-text conform tests
Philippe Normand [Mon, 7 Feb 2011 10:59:19 +0000 (11:59 +0100)]
tests: initial support for cally-text conform tests

12 years agoPost-release version bump to 1.7.7
Emmanuele Bassi [Tue, 26 Jul 2011 13:12:08 +0000 (14:12 +0100)]
Post-release version bump to 1.7.7

12 years agoRelease Clutter 1.7.6 (snapshot)
Emmanuele Bassi [Tue, 26 Jul 2011 12:18:43 +0000 (13:18 +0100)]
Release Clutter 1.7.6 (snapshot)

12 years agobin-layout: Fix a leak
Emmanuele Bassi [Tue, 26 Jul 2011 12:55:01 +0000 (13:55 +0100)]
bin-layout: Fix a leak

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

12 years agodocs: Fixes for building the API reference
Emmanuele Bassi [Tue, 26 Jul 2011 12:43:37 +0000 (13:43 +0100)]
docs: Fixes for building the API reference

12 years agocairo-texture: Deprecate create()/create_region()
Emmanuele Bassi [Tue, 26 Jul 2011 11:53:22 +0000 (12:53 +0100)]
cairo-texture: Deprecate create()/create_region()

The recommended way of drawing on a ClutterCairoTexture is the ::draw
signal.

12 years agocairo-texture: Use signal-based drawing
Emmanuele Bassi [Tue, 26 Jul 2011 11:40:52 +0000 (12:40 +0100)]
cairo-texture: Use signal-based drawing

The current "create context/draw/destroy context" pattern presents
various problems. The first issue is that it defers memory management to
the caller of the create() or create_region() methods, which makes
bookkeeping of the cairo_t* harder for language bindings and third party
libraries. The second issue is that, while it's easier for
draw-and-forget texturs, this API is needlessly complicated for contents
that have to change programmatically - and it introduces constraints
like calling the drawing code explicitly after a surface resize (e.g.
inside an allocate() implementation).

By using a signal-based approach we can make the CairoTexture actor
behave like other actors, and like other libraries using Cairo as their
2D drawing API.

The semantics of the newly-introduced ::draw signal are the same as the
one used by GTK+:

  - the signal is emitted on invalidation;
  - the cairo_t* context is owned by the actor;
  - it is safe to have multiple callbacks attached to the same
    signal, to allow composition;
  - the cairo_t* is already clipped to the invalidated area, so
    that Cairo can discard geometry immediately before we upload
    the texture data.

There are possible future improvements, like coalescing multiple
invalidations inside regions, and performing clipped draws during
the paint cycle; we could even perform clipped redraws if we know the
extent of the invalidated area.

12 years agoconform/cogl-materials: Fix a compiler warning
Emmanuele Bassi [Mon, 25 Jul 2011 10:07:18 +0000 (11:07 +0100)]
conform/cogl-materials: Fix a compiler warning

The function checking for the presence and use of the GLES2 support in
Cogl should be protected by #ifdef guards, to avoid a compiler warning.

12 years ago[l10n]Added Catalan (Valencian) translation
Gil Forcada [Sat, 23 Jul 2011 17:06:37 +0000 (19:06 +0200)]
[l10n]Added Catalan (Valencian) translation

12 years ago[l10n]Added Catalan translation
Gil Forcada [Sat, 23 Jul 2011 17:06:26 +0000 (19:06 +0200)]
[l10n]Added Catalan translation

13 years agoUpdated Czech translation
Marek Černocký [Thu, 21 Jul 2011 05:13:27 +0000 (07:13 +0200)]
Updated Czech translation

13 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 20 Jul 2011 20:21:35 +0000 (22:21 +0200)]
Updated Spanish translation

13 years agodocs: Remove manual/
Emmanuele Bassi [Tue, 19 Jul 2011 13:32:13 +0000 (14:32 +0100)]
docs: Remove manual/

The programmers manual never materialized, and its role has been taken
by both the cookbook and the API reference.

13 years agoUpdated Slovenian translation
Matej Urbančič [Tue, 19 Jul 2011 20:26:03 +0000 (22:26 +0200)]
Updated Slovenian translation

13 years agotests: Dynamically resolve GL symbols
Neil Roberts [Wed, 13 Jul 2011 13:10:47 +0000 (14:10 +0100)]
tests: Dynamically resolve GL symbols

Some of the tests are making direct GL calls. Eventually we want
Clutter not to link directly against any GL library so that it can
leave Cogl to load it dynamically. As a step towards getting this to
work this patch changes the tests to resolve the symbols using
cogl_get_proc_address instead of linking directly.

13 years agodocs: Add fixed size and constraints to the size negotiation docs
Emmanuele Bassi [Tue, 19 Jul 2011 13:11:11 +0000 (14:11 +0100)]
docs: Add fixed size and constraints to the size negotiation docs

13 years agoactor: Clean up the allocate() checks
Emmanuele Bassi [Tue, 19 Jul 2011 13:03:02 +0000 (14:03 +0100)]
actor: Clean up the allocate() checks

Move the conditions to their own boolean flags, to avoid making the
if() incomprehensible.

13 years agodocs: Rename the invariants documentation
Emmanuele Bassi [Tue, 19 Jul 2011 13:02:59 +0000 (14:02 +0100)]
docs: Rename the invariants documentation

13 years agodocs: Add a simple description of the size negotiation mechanism
Emmanuele Bassi [Tue, 19 Jul 2011 13:01:30 +0000 (14:01 +0100)]
docs: Add a simple description of the size negotiation mechanism

Describe (with an example) the ordering and meaning of flags for the
size negotiation in ClutterActor.

13 years agotexture: Clean up error reporting
Emmanuele Bassi [Mon, 18 Jul 2011 15:10:17 +0000 (16:10 +0100)]
texture: Clean up error reporting

ClutterTexture relies too much on GError, even for things that are
clearly programmer errors. Also, no error message passed to GError
is marked for translation as it should.

We should move the programmer errors, like passing the wrong bpp
value with regards to the presence of the alpha channel, to real
warnings; we should also try and harmonize all the error messages,
and not mention Cogl — especially in the ones marked for translation.

13 years agobuild: don't explicitly include and egl or gl headers
Robert Bragg [Mon, 18 Jul 2011 15:39:43 +0000 (16:39 +0100)]
build: don't explicitly include and egl or gl headers

This avoids explicitly including gl or egl headers in
clutter-egl-headers.h. We were getting build failures when building
clutter against a libcogl that has runtime support for GL and GLES
because cogl-defines.h was including gl.h and then clutter-egl-headers.h
was later including GLES2/gl.h with typedef conflicts. Clutter relies on
Cogl to abstract GL and GLES and the winsys APIs like EGL and GLX so
Clutter should just rely on cogl.h to include the appropriate egl.h in
clutter-egl-headers.h.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
Reviewed-by: Neil Roberts <neil@linux.intel.com>
13 years agoUpdated Norwegian bokmål translation
Kjartan Maraas [Mon, 18 Jul 2011 14:35:11 +0000 (16:35 +0200)]
Updated Norwegian bokmål translation

13 years agoalpha: Don't use the GClosure to compute the alpha when possible
Damien Lespiau [Sat, 16 Jul 2011 10:07:24 +0000 (11:07 +0100)]
alpha: Don't use the GClosure to compute the alpha when possible

Setting up the call and calling the GClosure was showing up in profiles
and seemed an easy one to remove.

Instead of calling the closure, let's remember the alpha func and the
user_data when possible (ie set_mode() and set_func()) and use it in
get_alpha().

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

13 years agotext: Fix the default value of "editable"
Damien Lespiau [Tue, 12 Jul 2011 16:32:26 +0000 (17:32 +0100)]
text: Fix the default value of "editable"

The "editable" property is documented to default to TRUE, but is
initialized to FALSE in the _init() function.

Third party code would be affected if we changed the default to be
TRUE, so we have to change the default value in the GParamSpec.

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

13 years agoDo not use return with void functions
Emmanuele Bassi [Mon, 18 Jul 2011 12:51:17 +0000 (13:51 +0100)]
Do not use return with void functions

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

13 years agotimeline: Cast elapsed time before emitting ::new-frame
Emmanuele Bassi [Mon, 18 Jul 2011 12:45:55 +0000 (13:45 +0100)]
timeline: Cast elapsed time before emitting ::new-frame

When emitting a new-frame signal, priv->elapsed_time is passed as a
parameter. This is a gint64. The closure marshal uses an INT. On some
platforms, this is not received correctly by signal handlers (they
receive 0). One solution is to cast priv->elapsed_time to a gint when
emitting the signal.

We cannot change the signature of the signal without breaking ABI.

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

13 years agosnap-constraint: Fix allocation for CLUTTER_SNAP_EDGE_RIGHT
Bastian Winkler [Tue, 5 Jul 2011 15:31:41 +0000 (17:31 +0200)]
snap-constraint: Fix allocation for CLUTTER_SNAP_EDGE_RIGHT

Use source_with instead of source_height to calculate the the x1/x2
positions for CLUTTER_SNAP_EDGE_RIGHT

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

13 years ago[l10n] Updated German translation
Christian Kirbach [Sun, 17 Jul 2011 22:38:55 +0000 (00:38 +0200)]
[l10n] Updated German translation

13 years ago[l10n] Updated German translation
Mario Blättermann [Fri, 15 Jul 2011 19:21:54 +0000 (21:21 +0200)]
[l10n] Updated German translation

13 years agox11/event: Avoid compiler warnings with HAVE_XGE undefined
Emmanuele Bassi [Fri, 15 Jul 2011 15:03:00 +0000 (16:03 +0100)]
x11/event: Avoid compiler warnings with HAVE_XGE undefined

13 years agobuild: Escape AC_DEFINE arguments
Emmanuele Bassi [Fri, 15 Jul 2011 15:02:19 +0000 (16:02 +0100)]
build: Escape AC_DEFINE arguments

13 years agoactor: Plug a leak in an error path
Emmanuele Bassi [Fri, 15 Jul 2011 14:53:55 +0000 (15:53 +0100)]
actor: Plug a leak in an error path

If the meta for the animation property is not found, the name of the
property to look for is still from the token, and we need to free the
memory allocated for it.

13 years agox11: Improve XGenericEventCookie data allocation
Carlos Garnacho [Thu, 14 Jul 2011 19:58:25 +0000 (21:58 +0200)]
x11: Improve XGenericEventCookie data allocation

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

Clutter may be used together with GTK+, which indirectly may use
XInput2 too, so the cookie data must persist when both are handling
events.

What happens now in a nutshell is, Clutter is only guaranteed to allocate
the cookie itself after XNextEvent(), and only frees the cookie if its
XGetEventData() call allocated the cookie data.

The X[Get|Free]EventData() calls happen now in clutter-event-x11.c as
hypothetically different event translators could also handle other set
of X Generic Events, or other libraries handling events for that matter.

13 years agopick: Use Cogl API not GL API to disable dithering
Robert Bragg [Tue, 12 Jul 2011 16:04:15 +0000 (17:04 +0100)]
pick: Use Cogl API not GL API to disable dithering

When picking we need to disable dithering to be sure that the hardware
will not modify the colors we use as actor identifiers. Clutter was
manually calling glEnable/Disable GL_DITHER to handle this, but that was
a layering violation since Cogl is intended to handle all interactions
with OpenGL. Since we are now striving for GL vs GLES to be a runtime
choice we need to remove this last direct usage of GL from Clutter so it
doesn't have to be linked with GL at build time.

Signed-off-by: Neil Roberts <neil@linux.intel.com>
13 years agoProvide stable paint-boxes for fixed sized actors
Robert Bragg [Tue, 12 Jul 2011 00:11:51 +0000 (01:11 +0100)]
Provide stable paint-boxes for fixed sized actors

This updates _clutter_paint_volume_get_stage_paint_box to try and
calculate more stable paint-box sizes for fixed sized paint-volumes by
not basing the size on the volume's sub-pixel position.

So the aim is that for a given rectangle defined with floating point
coordinates we want to determine a stable quantized size in pixels that
doesn't vary due to the original box's sub-pixel position.

The reason this is important is because effects will use this API to
determine the size of offscreen framebuffers and so for a fixed-size
object that may be animated across the screen we want to make sure that
the stage paint-box has an equally stable size so that effects aren't
made to continuously re-allocate a corresponding fbo.

The other thing we consider is that the calculation of this box is
subject to floating point precision issues that might be slightly
different to the precision issues involved with actually painting the
actor, which might result in painting slightly leaking outside the
user's calculated paint-volume. This patch now adds padding to consider
this too.

Signed-off-by: Neil Roberts <neil@linux.intel.com>
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
13 years agoactor: improve rounding in get_allocation_geometry
Robert Bragg [Tue, 12 Jul 2011 00:06:28 +0000 (01:06 +0100)]
actor: improve rounding in get_allocation_geometry

Instead of relying on C to round the floating point allocation to
integers by flooring the values we now use CLUTTER_NEARBYINT to round
the allocation's position and size to the nearest integers instead. Using
floor leads to rather unstable rounding for the width and height when
there may be tiny fluctuations in the floating point width/height.

Signed-off-by: Neil Roberts <neil@linux.intel.com>
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
13 years agoAdds a CLUTTER_NEARBYINT macro for float rounding
Robert Bragg [Tue, 12 Jul 2011 00:02:43 +0000 (01:02 +0100)]
Adds a CLUTTER_NEARBYINT macro for float rounding

This is a replacement for the nearbyint function which always rounds to
the nearest integer. nearbyint is a C99 function so it might not always
be available but also it seems in glibc it is defined as a function call
so this macro could end up faster anyway. We can't just add 0.5 because
it will break for negative numbers.

Signed-off-by: Neil Roberts <neil@linux.intel.com>
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
13 years agopaint-volume: don't round paint-volume from allocation
Robert Bragg [Mon, 11 Jul 2011 23:44:47 +0000 (00:44 +0100)]
paint-volume: don't round paint-volume from allocation

The implementation of _clutter_actor_set_default_paint_volume which
simply uses the actor's allocation to determine a paint-volume was
needlessly using the allocation rounded to integers by internally using
clutter_actor_get_allocation_geometry instead of
clutter_actor_get_allocation_box. This was introducing a lot of
instability into the paint-volume due to the way rounding was done.

The code has now been updated to use clutter_actor_get_allocation_box
so we are dealing with the floating point allocation instead.

Signed-off-by: Neil Roberts <neil@linux.intel.com>
Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
13 years agoMake sure the gesture is cancelled even if we miss the release event
Tomeu Vizoso [Thu, 14 Jul 2011 11:11:12 +0000 (13:11 +0200)]
Make sure the gesture is cancelled even if we miss the release event

13 years agoRemove unneeded class closure
Tomeu Vizoso [Thu, 14 Jul 2011 09:45:37 +0000 (11:45 +0200)]
Remove unneeded class closure

13 years agoosx: Code style cleanups
Emmanuele Bassi [Wed, 13 Jul 2011 18:32:47 +0000 (19:32 +0100)]
osx: Code style cleanups

13 years agoAdd default closures for the signals in ClutterGestureAction
Tomeu Vizoso [Wed, 13 Jul 2011 16:31:22 +0000 (18:31 +0200)]
Add default closures for the signals in ClutterGestureAction

Also make sure we cancel the gesture as soon as we know we have to

13 years agoFixed typo of bidng to bind
Dinh Bowman [Wed, 6 Jul 2011 15:54:41 +0000 (08:54 -0700)]
Fixed typo of bidng to bind

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

13 years agobuild: Unescape conditionally defined defaults in AS_HELP_STRING
Emmanuele Bassi [Wed, 13 Jul 2011 13:49:55 +0000 (14:49 +0100)]
build: Unescape conditionally defined defaults in AS_HELP_STRING

AS_HELP_STRING() escapes everything, so m4 doesn't have a chance to run
expansions.

13 years agobuild: Detect the appropriate default flavour
Emmanuele Bassi [Wed, 13 Jul 2011 13:20:47 +0000 (14:20 +0100)]
build: Detect the appropriate default flavour

If we're building on/for Windows, set 'win32' as the default flavour; if
we're building on OS X, set 'osx' as the default flavour. For everything
else, use 'glx'.

13 years agoRevert "build: Detect the appropriate default flavour"
Emmanuele Bassi [Wed, 13 Jul 2011 13:26:05 +0000 (14:26 +0100)]
Revert "build: Detect the appropriate default flavour"

Ouch, butterfingers and git commit -a.

This reverts commit 81e8c8dec902e1e3b6277ebad5804f2321535332.

13 years agobuild: The OSX backend is not experimental any more
Emmanuele Bassi [Wed, 13 Jul 2011 13:22:14 +0000 (14:22 +0100)]
build: The OSX backend is not experimental any more

The OSX backend is actively developed, and tested, so we can drop the
experimental flag.

13 years agobuild: Detect the appropriate default flavour
Emmanuele Bassi [Wed, 13 Jul 2011 13:20:47 +0000 (14:20 +0100)]
build: Detect the appropriate default flavour

If we're building on/for Windows, set 'win32' as the default flavour; if
we're building on OS X, set 'osx' as the default flavour. For everything
else, use 'glx'.

13 years agoclutter-stage: Add clutter_stage_get_redraw_clip_bounds
Neil Roberts [Tue, 12 Jul 2011 16:16:43 +0000 (17:16 +0100)]
clutter-stage: Add clutter_stage_get_redraw_clip_bounds

This adds a public function to get the bounds of the current clipped
redraw on a stage. This should only be called while the stage is being
painted. The function diverts to a virtual function on the
ClutterStageWindow implementation. If the function isn't implemented
or it returns FALSE then the entire stage is reported. The clip bounds
are in integer pixel coordinates in the stage's coordinate space.

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

13 years agouprof: Add the units in the name of the "Per Frame" timer attribute
Damien Lespiau [Mon, 11 Jul 2011 01:03:57 +0000 (02:03 +0100)]
uprof: Add the units in the name of the "Per Frame" timer attribute

So it shows up in the profile report. Take the opportunity to write a
better long description for the attribute.

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

13 years agotest-cogl-materials: Use glGetString to determine cogl driver
Neil Roberts [Mon, 11 Jul 2011 15:42:03 +0000 (16:42 +0100)]
test-cogl-materials: Use glGetString to determine cogl driver

Rather than using the #ifdefs and assuming that only one Cogl driver
is compiled in (which is no longer true), the test now calls
glGetString to check the GL_VERSION. This is kind of a hack but the
test is already calling GL functions directly anyway.

13 years agotest-cogl-materials: Remove a redundant comment
Neil Roberts [Mon, 11 Jul 2011 15:32:10 +0000 (16:32 +0100)]
test-cogl-materials: Remove a redundant comment

test-cogl-materials had a weird comment about glReadPixels using
inverted coordinates but the test now uses cogl_read_pixels instead of
glReadPixels so it is irrelevant.

13 years agobuild: update cogl_onscreen_x11 syms to cogl_x11_onscreen
Robert Bragg [Mon, 4 Jul 2011 14:12:20 +0000 (15:12 +0100)]
build: update cogl_onscreen_x11 syms to cogl_x11_onscreen

Cogl recently renamed symbols with the form
cogl_onscreen_<platform>_blah to be consistent with other platform
specific APIs so they are now named like cogl_<platform>_onscreen_blah.
This makes the corresponding change to clutter.

13 years agobackend-cogl: update _get_egl_context symbol name
Robert Bragg [Fri, 1 Jul 2011 00:50:30 +0000 (01:50 +0100)]
backend-cogl: update _get_egl_context symbol name

Cogl changed has changed the name of cogl_context_egl_get_egl_context to
cogl_egl_context_get_egl_context to be consistent with other platform
specific symbols.

13 years agodon't call cogl_set_default_context since it's been removed
Robert Bragg [Fri, 1 Jul 2011 00:44:13 +0000 (01:44 +0100)]
don't call cogl_set_default_context since it's been removed

cogl_set_default_context has been removed from Cogl so this updates
Clutter in-line with that change.

13 years agobuild: depend on cogl-1.7.3 development version
Robert Bragg [Mon, 11 Jul 2011 15:57:29 +0000 (16:57 +0100)]
build: depend on cogl-1.7.3 development version

Since some experimental API in Cogl that Clutter uses has changed this
bumps our dependency up to 1.7.3 before landing the corresponding build
fixes for clutter to bring it in line with the Cogl changes.

13 years agouprof: Rename timers to remove the EGL specific bits
Damien Lespiau [Mon, 11 Jul 2011 00:42:59 +0000 (01:42 +0100)]
uprof: Rename timers to remove the EGL specific bits

Cogl abstracts the winsys, Remove the egl prefix from the timer names.

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

13 years agoUpdated POTFILES.in
Piotr Drąg [Sun, 10 Jul 2011 12:37:18 +0000 (14:37 +0200)]
Updated POTFILES.in

13 years agotext: Make sure that the selection box is big enough
Emmanuele Bassi [Sun, 10 Jul 2011 09:24:40 +0000 (10:24 +0100)]
text: Make sure that the selection box is big enough

Do not use integers to store the result of the PANGO_UNITS scaling to
avoid rounding issues with the default C rules. We should use cielf()
instead.

13 years agoosx: Fix a compiler warning
Emmanuele Bassi [Sun, 10 Jul 2011 09:12:08 +0000 (10:12 +0100)]
osx: Fix a compiler warning

No declaration after statement.

13 years agoconform/pick: Print debug spew only if verbosity is toggled
Emmanuele Bassi [Fri, 8 Jul 2011 11:12:43 +0000 (12:12 +0100)]
conform/pick: Print debug spew only if verbosity is toggled