Peter Ward [Tue, 21 Jun 2011 13:17:51 +0000 (23:17 +1000)]
Support multiple pointers in ClutterDragAction.
https://bugzilla.gnome.org/show_bug.cgi?id=653066
Emmanuele Bassi [Tue, 21 Jun 2011 09:52:44 +0000 (10:52 +0100)]
docs: Remove the in-tree cogl fixxref option
Cogl has been moved out of tree.
Emmanuele Bassi [Mon, 20 Jun 2011 18:45:14 +0000 (19:45 +0100)]
docs: Fix the GLX section
The whole thing should just go away.
Emmanuele Bassi [Mon, 20 Jun 2011 18:44:55 +0000 (19:44 +0100)]
docs: Fix deprecation notice for ClutterBehaviour
Emmanuele Bassi [Mon, 20 Jun 2011 18:44:33 +0000 (19:44 +0100)]
docs: Fix up labels in the constraint example image
Emmanuele Bassi [Mon, 20 Jun 2011 17:46:56 +0000 (18:46 +0100)]
docs: Add the (now deprecated) GLX texture-pixmap
It was missing from the API reference.
Emmanuele Bassi [Mon, 20 Jun 2011 17:42:08 +0000 (18:42 +0100)]
docs: Add the Deprecate tag to Behaviours
And link the migration guide.
Emmanuele Bassi [Mon, 20 Jun 2011 17:40:31 +0000 (18:40 +0100)]
docs: Fix duplicate symbol in the sections list
Emmanuele Bassi [Mon, 20 Jun 2011 17:26:34 +0000 (18:26 +0100)]
build: Build the GLX symbols
The change from the GLX backend to the Cogl backend left out the GLX
source code from the list of source files to be built.
Emmanuele Bassi [Mon, 20 Jun 2011 17:22:06 +0000 (18:22 +0100)]
Fix the deprecation guard for ClutterGLXTexturePixmap
It's CLUTTER_DISABLE_DEPRECATED.
Emmanuele Bassi [Fri, 17 Jun 2011 16:22:01 +0000 (17:22 +0100)]
docs: Document ClutterDropAction
And add it to the API reference.
https://bugzilla.gnome.org/show_bug.cgi?id=652842
Emmanuele Bassi [Fri, 17 Jun 2011 15:54:31 +0000 (16:54 +0100)]
Add ClutterDropAction
ClutterDropAction is an Action sub-class that allows writing actors that
react to dragged actors being dropped on them.
https://bugzilla.gnome.org/show_bug.cgi?id=652842
Emmanuele Bassi [Fri, 17 Jun 2011 15:53:22 +0000 (16:53 +0100)]
drag-action: Remove the drag handle on destruction
When the drag handle actor is destroyed we should unset the field inside
the DragAction, to avoid having stale pointers lying around.
https://bugzilla.gnome.org/show_bug.cgi?id=652842
Emmanuele Bassi [Fri, 17 Jun 2011 15:52:25 +0000 (16:52 +0100)]
drag-action: Use the dragged actor private API
Use the newly added private API on ClutterStage to track the currently
dragged actor.
https://bugzilla.gnome.org/show_bug.cgi?id=652842
Emmanuele Bassi [Fri, 17 Jun 2011 15:51:05 +0000 (16:51 +0100)]
stage: Allow tracking dragged actors
We should be able to internally attach the actor currently being dragged
to the device that is dragging it.
https://bugzilla.gnome.org/show_bug.cgi?id=652842
Emmanuele Bassi [Mon, 20 Jun 2011 13:26:57 +0000 (14:26 +0100)]
docs: Fix up the API reference
Emmanuele Bassi [Mon, 20 Jun 2011 12:59:14 +0000 (13:59 +0100)]
build: Use tar-ustar and dist-xz to dist tarballs
Emmanuele Bassi [Mon, 20 Jun 2011 12:56:46 +0000 (13:56 +0100)]
build: Update the API reference build
Add the Cogl prefix to the fix-cross-references script options, and
update the location of the extra headers.
Emmanuele Bassi [Mon, 20 Jun 2011 12:53:09 +0000 (13:53 +0100)]
stage: Maintain the motion event delivery invariants
It is possible, by calling clutter_set_motion_events_enabled() prior to
the creation of any stage, to control the per-actor motion event
delivery flag on each newly created stage. Since we deprecated the
global accessor functions in favour of the per-Stage ones, we need to
remove the call to clutter_get_motion_events_enabled() inside the
ClutterStage instance initialization, and replace it with an internal
function.
This code will go away when we can finally break API and remove the
deprecated functions.
Emmanuele Bassi [Mon, 20 Jun 2011 10:41:28 +0000 (11:41 +0100)]
stage: Make per-actor motion event delivery accessors public
Complete the quest of commit
bc548dc86271d38918d310c26c9c59de76218d16
by making the ClutterStage methods for controlling the per-actor motion
and crossing event delivery public, and deprecating the global ones.
Daniel Mustieles [Sun, 19 Jun 2011 10:14:35 +0000 (12:14 +0200)]
Updated Spanish translation
Robert Bragg [Fri, 17 Jun 2011 17:27:45 +0000 (18:27 +0100)]
actor: documents _get/apply_relative_transform_matrix
Although this patch doesn't make them public, it documents the
_clutter_actor_get/apply_relative_transform_matrix functions so they
could easily be made public if desired. I think these API could be
useful to have publicly, and I originally documented them because I
thought they would be needed in the MX toolkit.
Neil Roberts [Fri, 17 Jun 2011 16:27:09 +0000 (17:27 +0100)]
actor: Don't use propagated_one_redraw to determine effect dirty state
Previously ClutterActor was using priv->propagated_one_redraw to
determine whether to pass CLUTTER_EFFECT_PAINT_ACTOR_DIRTY to the
paint method of the effect. This isn't a good idea because the
propagated_one_redraw flag is cleared whenever clutter_actor_paint is
called, even if the actor isn't actually painted because of the zero
opacity shortcut. Instead of this, ClutterActor now has a separate
flag called is_dirty that gets set whenever queue_redraw_full is
called or whenever the queue redraw signal is bubbled up from a child
actor. The flag is only cleared in clutter_actor_paint if the effects
are actually run. Therefore it will stay set even if the opacity is
zero or if the parent actor decides not to paint the child.
Previously there were two places set propagated_one_redraw to FALSE -
once if the opacity is zero and once just before we emit the paint
signal. Now that propagated_one_redraw is only used to determine
whether to pass on the queue redraw signal it seems to make sense to
just clear it in one place right at the start of clutter_actor_paint.
https://bugzilla.gnome.org/show_bug.cgi?id=651784
Robert Bragg [Fri, 17 Jun 2011 16:44:16 +0000 (17:44 +0100)]
actor: review use of _apply_modelview_transform_recursive
On reviewing the clutter-actor.c code using
_apply_modelview_transform_recursive I noticed various comments stating
that it will never call the stage's ->apply_transform vfunc to transform
into eye coordinates, but actually looking at the implementation that's
not true. The comments probably got out of sync with an earlier
implementation that had that constraint. This removes the miss-leading
comments and also updates various uses of the api where we were manually
applying the stage->apply_transform.
Robert Bragg [Fri, 17 Jun 2011 15:23:35 +0000 (16:23 +0100)]
group: Handle list modification while destroying children
This makes the dispose code that destroys children resilient against
priv->children being modified during child destruction.
Robert Bragg [Thu, 16 Jun 2011 16:50:50 +0000 (17:50 +0100)]
debug: Use cogl_primitive api for paint-volume visualization
Instead of using the cogl_vertex_buffer API this uses the more concise
cogl_primitive API instead. The aim is to get rid of the
cogl_vertex_buffer API eventually so we should be trying out the
replacement API wherever possible.
Robert Bragg [Thu, 16 Jun 2011 16:24:26 +0000 (17:24 +0100)]
debug: disable culling with CLUTTER_PAINT=paint-volumes
When using CLUTTER_PAINT=paint-volumes to visualize the paint-volumes of
actors we were already disabling clipped-redraws because we are drawing
extra geometry that the actors don't know about but we didn't disable
culling. This was resulting in actors disappearing while using this
debug option.
Robert Bragg [Thu, 16 Jun 2011 16:22:30 +0000 (17:22 +0100)]
debug: avoid visualization code during picking
This makes sure we don't try and draw paint-volumes or culling results
during a pick cycle since that results in us reading back invalid ids
from the pick-buffer.
Neil Roberts [Mon, 6 Jun 2011 17:22:20 +0000 (18:22 +0100)]
clutter-actor: Add a debug flag for disabling offscreen redirect
This adds CLUTTER_PAINT=disable-offscreen-redirect to help diagnose
problems with the correct opacity changes. This just makes it so that
it never installs the flatten effect so it will never automatically
redirect an actor offscreen.
Emmanuele Bassi [Fri, 17 Jun 2011 11:14:15 +0000 (12:14 +0100)]
keysyms: Update the key symbols
Re-sync with the X.org headers.
Emmanuele Bassi [Fri, 17 Jun 2011 11:03:21 +0000 (12:03 +0100)]
Remove an unused variable
And the compiler warning that comes with it.
Emmanuele Bassi [Thu, 16 Jun 2011 16:11:39 +0000 (17:11 +0100)]
tests/cally: Remove last uses of clutter_group_add()
Emmanuele Bassi [Thu, 16 Jun 2011 16:07:32 +0000 (17:07 +0100)]
Remove usage of clutter_group_add()
The macro is there for mallum eyes only.
Robert Bragg [Thu, 16 Jun 2011 14:22:03 +0000 (15:22 +0100)]
paint-volumes: remove is_axis_aligned assert for _union
This removes the pv->is_xis_aligned assertion in
_clutter_paint_volume_union. We were already considering the case where
the second volume may not be axis aligned and aligning it into a
temporary variable in that case, but we now also consider that the first
pv may also not be aligned.
Robert Bragg [Thu, 16 Jun 2011 14:18:46 +0000 (15:18 +0100)]
paint-volumes: avoid is_complete assert in _axis_align
The removes the pv->is_complete assertion from
_clutter_paint_volume_axis_align() and instead if the volume isn't
complete it calls _clutter_paint_volume_complete().
Emmanuele Bassi [Thu, 16 Jun 2011 12:35:22 +0000 (13:35 +0100)]
build: Replace AC_HELP_STRING with AS_HELP_STRING
The latter is the new version of the former.
Robert Bragg [Thu, 16 Jun 2011 11:33:25 +0000 (12:33 +0100)]
paint-volumes: fix unioning with empty volumes
When calculating the union of a volume with an empty volume we aim to
simply take the contents of the non-empty volume, but we were not
copying the flags across. We now use
_clutter_paint_volume_set_from_volume which copies all the flags except
the is_static flag.
Robert Bragg [Thu, 16 Jun 2011 11:31:50 +0000 (12:31 +0100)]
paint-volumes: remove alignment constraint for _set_origin
The implementation for clutter_paint_volume_set_origin can cope with
volumes that are not axis aligned so this remove the is_axis_aligned
assertion.
Robert Bragg [Thu, 16 Jun 2011 11:28:37 +0000 (12:28 +0100)]
paint-volumes: avoid trashing is_static state
In _clutter_paint_volume_set_from_volume we were using memcpy to simply
copy everything from one volume to another, but that meant we were
trashing the is_static flag which determines if the destination
paint-volume was slice allocated or not.
Robert Bragg [Thu, 16 Jun 2011 11:19:49 +0000 (12:19 +0100)]
paint-volumes: remove alignment constraint for completion
This removes the constraint that a paint-volume must be axis aligned
before _clutter_paint_volume_complete can be called. NB: A paint volume
is represented by one origin vertex and then three axis vertices to
define the width, height and depth of the volume. It's straightforward
to use the vectors from the origin to the axis vertices to deduce the
other 4 vertices so we can remove the is_axis_aligned assertion.
Robert Bragg [Mon, 6 Jun 2011 16:40:57 +0000 (17:40 +0100)]
clutter-stage: Allow a wider range of visible z values
Since
eef9078f the translation of the camera away from the z=zero
plane was hardcoded at 50 which is approximately half way between the
default z_near and z_far values. This ended up with quite a small
distance in user-space coordinates to the far plane with the default
stage size and this was causing test-texture-quality to clip the actor
early.
This patch makes it try to calculate a reasonable value for the
position of the z=0 plane as well as a value for z_far so we maximize
the space in between the z=0 plane and the near plane and we have a
predictable amount of space behind the stage before hitting the far
clipping plane, while considering the trade off of loosing depth
precision by pushing the far plane too far back relative to the near
plane.
With the default fov of 60° it's not possible to use the stage size to
define the gap in-front of the stage plane; only ~87% of the stage size
is possible as an upper limit. We make 85% of the stage_height available
assuming you have a fov of 60°. We consistently provide 10 times the
stage height of space behind the stage regardless of the fov.
It seems worth noting here that we went around in circles a few times
over how to calculate the gaps since there are a number of trade offs to
consider and they also affect the complexity of the solution. In the end
we went for simplicity but commented the issues well enough hopefully so
we can develop a more elaborate solution if we ever have a use-case.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2625
Neil Roberts [Mon, 4 Apr 2011 17:42:52 +0000 (18:42 +0100)]
clutter-stage: Don't override the user's perspective matrix
Since
eef9078f ClutterStage updates the aspect ratio of the
perspective matrix whenever the size of the stage changes. This meant
that if an application tries to set its own perspective matrix then
part of it would get overridden. It's not really clear what the
use-case of setting the perspective on the stage should be but it
seems like the safest bet is to always try to preserve the
application's request. The documentation for the function has been
tweaked to discourage its use.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2625
Robert Bragg [Wed, 11 May 2011 18:59:52 +0000 (19:59 +0100)]
make some parts of the stage-window interface optional
Some parts of the StageWindow interface aren't meaningful for all window
systems. This makes stage_window_set_title/fullscreen/cursor_visible
optional instead of requiring those window systems to implement empty
stubs. Notably the empty stubs we had in the Cogl backend (previously
the EGL backend) used g_warning to report the feature as unsupported and
that was causing conformance test failures.
Emmanuele Bassi [Wed, 15 Jun 2011 12:07:04 +0000 (13:07 +0100)]
Update the location of the cex100 header in the ignore file
Emmanuele Bassi [Wed, 15 Jun 2011 12:05:18 +0000 (13:05 +0100)]
Do not include clutter-egl.h unconditionally
Robert Bragg [Wed, 15 Jun 2011 11:43:47 +0000 (12:43 +0100)]
backend-cogl: fix s/egl/cogl/ naming left-over
Robert Bragg [Wed, 15 Jun 2011 11:41:08 +0000 (12:41 +0100)]
build: Adds missing clutter-glx.h
Robert Bragg [Wed, 15 Jun 2011 11:28:44 +0000 (12:28 +0100)]
build: Adds missing clutter-egl-headers.h
Robert Bragg [Sun, 8 May 2011 23:27:10 +0000 (00:27 +0100)]
unify egl and glx backends as "cogl" backend
Since GLX and EGL are abstracted by Cogl the two backends are both
implementing everything using the Cogl API and they are almost
identical.
This updates the egl backend to support everything that the glx backend
supports. Now that EGL and GLX are abstracted by Cogl, the plan is that
we will squash the clutter-egl/glx backends into one. Since the EGL
backend in clutter can conditionally not depend on X11 we will use the
EGL backend as the starting point of our common backend.
https://bugzilla.gnome.org/show_bug.cgi?id=649826
Robert Bragg [Mon, 9 May 2011 00:09:39 +0000 (01:09 +0100)]
egl: fix args to cogl_onscreen_x11_set_foreign_window_xid
We hadn't updated the egl backend inline with a change to the arguments
that cogl_onscreen_x11_set_foreign_window_xid would expect and that was
causing a compilation error.
Emmanuele Bassi [Tue, 14 Jun 2011 15:11:54 +0000 (16:11 +0100)]
stage: Ignore do_update() on unrealized stages
An unrealized stage has no resources set yet, so we might as well skip
it during the master clock spin.
https://bugzilla.gnome.org/show_bug.cgi?id=652566
Emmanuele Bassi [Tue, 14 Jun 2011 14:50:42 +0000 (15:50 +0100)]
backend: Do not call ensure_context() with NULL stage
Always call ensure_context() if we have a valid Stage.
https://bugzilla.gnome.org/show_bug.cgi?id=652566
Emmanuele Bassi [Tue, 14 Jun 2011 14:50:21 +0000 (15:50 +0100)]
glx: Ignore ensuring context on NULL stages
https://bugzilla.gnome.org/show_bug.cgi?id=652566
Emmanuele Bassi [Tue, 14 Jun 2011 13:47:14 +0000 (14:47 +0100)]
build: Disable deprecated symbols during development cycles
And add a configure switch to toggle them.
Emmanuele Bassi [Tue, 14 Jun 2011 10:36:01 +0000 (11:36 +0100)]
glx: Remove unused Atom members from ClutterBackendGLX
The atoms were moved to the shared X11 backend structure ages ago.
Emmanuele Bassi [Tue, 14 Jun 2011 00:02:09 +0000 (01:02 +0100)]
docs: Add symbols index for 1.8
Colin Walters [Mon, 16 May 2011 16:41:10 +0000 (12:41 -0400)]
ClutterModifierType: Port fix from GDK to clutter's GDK copy
See https://bugzilla.gnome.org/show_bug.cgi?id=634994 where GDK was
modified to include all flag values, which helps bindings. Port this
fix to Clutter's copy of GDK.
https://bugzilla.gnome.org/show_bug.cgi?id=650329
Emmanuele Bassi [Mon, 13 Jun 2011 22:46:21 +0000 (23:46 +0100)]
Post-release version bump to 1.7.3
Emmanuele Bassi [Mon, 13 Jun 2011 16:24:28 +0000 (17:24 +0100)]
Release Clutter 1.7.2 (snapshot)
Emmanuele Bassi [Mon, 13 Jun 2011 22:14:39 +0000 (23:14 +0100)]
build: Put back ChangeLog.pre-git-import to unbreak distcheck
Emmanuele Bassi [Mon, 13 Jun 2011 16:20:19 +0000 (17:20 +0100)]
build: Fix up ChangeLog build generation
Since the pre-git-import ChangeLog has been moved, we need to put it
back in the list temporarily when generating the rest.
Emmanuele Bassi [Mon, 13 Jun 2011 15:32:24 +0000 (16:32 +0100)]
release rules: Add note for snapshots
Philippe Normand [Fri, 4 Feb 2011 11:33:53 +0000 (12:33 +0100)]
clutter-text: new clutter_text_get_layout_offsets API
This new function can be used to retrieve the coordinates where the
ClutterText will draw the PangoLayout representing the text.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2553
Emmanuele Bassi [Mon, 13 Jun 2011 14:58:46 +0000 (15:58 +0100)]
effect: Rename RunFlags to PaintFlags
Since run() was replaced and both paint() and pick() use the
enumeration.
https://bugzilla.gnome.org/show_bug.cgi?id=651700
Tomeu Vizoso [Thu, 2 Jun 2011 12:16:23 +0000 (14:16 +0200)]
Give a chance to effects for running when picking
Some effects can change the actor's shape and position, so they need
to run when picking.
https://bugzilla.gnome.org/show_bug.cgi?id=651700
Tomeu Vizoso [Mon, 6 Jun 2011 06:44:11 +0000 (08:44 +0200)]
Rename ClutterEffect::run to ClutterEffect::paint
In preparation for adding ClutterEffect::pick
https://bugzilla.gnome.org/show_bug.cgi?id=651700
Emmanuele Bassi [Mon, 13 Jun 2011 14:36:07 +0000 (15:36 +0100)]
docs: Fix Clutter API reference
Emmanuele Bassi [Mon, 13 Jun 2011 13:39:03 +0000 (14:39 +0100)]
Merge branch 'swipe-action'
* swipe-action:
test-swipe-action: Clean up the test code
docs: Add the new actions to the API reference
gesture-action: Remove the multi-device entry points
swipe-action: Remove the required devices call
swipe-action: Clean up
gesture-action: Clean up
Add ClutterSwipeAction and ClutterGestureAction
Emmanuele Bassi [Mon, 13 Jun 2011 12:27:46 +0000 (13:27 +0100)]
docs: Update missing documentation
Emmanuele Bassi [Mon, 13 Jun 2011 12:08:26 +0000 (13:08 +0100)]
script: Plug a leak
The SignalInfo structure gained a couple of string fields that should be
deallocated when destroying the structure.
Emmanuele Bassi [Mon, 13 Jun 2011 12:07:04 +0000 (13:07 +0100)]
script: Allow warping to states
Do not just allow animating states connected to signals: add a "warp"
optional key that ends up calling clutter_state_warp_to_state(). This
is useful for debugging.
Emmanuele Bassi [Mon, 13 Jun 2011 11:11:45 +0000 (12:11 +0100)]
Skip introspection for GValue ↔ CoglFixed API
It's pointless to introspect an API that it's not meant to be used
through introspection.
Emmanuele Bassi [Sun, 12 Jun 2011 10:27:34 +0000 (11:27 +0100)]
script: Use a weak ref to remove the signal emission hook
When an object goes away we should remove the emission hook for the
state transitions, to avoid leaving hooks around.
Emmanuele Bassi [Sat, 11 Jun 2011 12:30:02 +0000 (13:30 +0100)]
script: Rename "state" → "states"
Make it clear that the key used when defining a state-based signal is
linked to the states of a ClutterState.
Emmanuele Bassi [Fri, 10 Jun 2011 16:16:45 +0000 (17:16 +0100)]
script: Allow resolving signals states added from code
Currently, defining states for object signals can only be done by
defining a ClutterState inside the ClutterScript definition. We should
allow creating a (named) ClutterState in code, and associating it to a
ClutterScript instance — and have the Script resolve the "state" field
of a signal definition correctly.
Emmanuele Bassi [Mon, 7 Feb 2011 13:57:16 +0000 (13:57 +0000)]
test-interactive: Add signal-based state transitions
Use the newly added support for binding signal emissions to state
changes on a ClutterState.
Emmanuele Bassi [Mon, 7 Feb 2011 13:48:58 +0000 (13:48 +0000)]
script: Allow connecting signal to ClutterState states
One of the uses of a ClutterState state machine along with ClutterScript
is to provide a quick way to transition from state to state in response
to signal emitted on specific instances.
Connecting a real function, in code, to a specific signal does not
improve the ease of use of ClutterScript to define scenes.
By adding a new signal definition to the current one we can have both a
simple way to define application logic in code and in the UI definition
file.
The new syntax is trivial:
{
"name" : <signal name>,
"state" : <state machine script id>,
"target-state" : <target state>
}
The ClutterState instance is identified by its script id, and the target
state is resolved at run-time, so it can be defined both in
ClutterScript or in code. Ideally, we should find a way to associate a
default ClutterState instance to the ClutterScript one that parses the
definition; this way we would be able to remove the "state" member, or
even "style" the behaviour of an object by replacing the ClutterState
instance.
The implementation uses a signal emission hook, to avoid knowing the
signal signature; we check the emitter of the signal against the object
that defined the signal, to avoid erroneous state changes.
Marek Černocký [Mon, 13 Jun 2011 11:54:32 +0000 (13:54 +0200)]
Updated Czech translation
Matej Urbančič [Sat, 11 Jun 2011 15:36:23 +0000 (17:36 +0200)]
Updated Slovenian translation
Robert Bragg [Fri, 10 Jun 2011 16:48:54 +0000 (17:48 +0100)]
build: include <cairo.h> not <cairo/cairo.h>
cairo.h is intended to be included as <cairo.h> not <cairo/cairo.h> as
is the style for clutter.h. If you have installed cairo to a custom
prefix then using cairo/cairo.h can result in unintentional use of the
system cairo headers, or if they aren't installed then it will result in
a failure to find the header.
Emmanuele Bassi [Fri, 10 Jun 2011 14:01:13 +0000 (15:01 +0100)]
test-swipe-action: Clean up the test code
Remove unused code, and be more strict at discarding swipes on
constrained actors.
Add a note on the behaviour of each rectangle/action pair.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2585
Emmanuele Bassi [Fri, 10 Jun 2011 13:47:16 +0000 (14:47 +0100)]
docs: Add the new actions to the API reference
http://bugzilla.clutter-project.org/show_bug.cgi?id=2585
Emmanuele Bassi [Fri, 10 Jun 2011 13:45:50 +0000 (14:45 +0100)]
gesture-action: Remove the multi-device entry points
GestureAction supports a single device/touch point. We'll need touch
events supported in Clutter before adding the ability to set required
device/touch points on gestures.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2585
Emmanuele Bassi [Fri, 10 Jun 2011 13:44:06 +0000 (14:44 +0100)]
swipe-action: Remove the required devices call
The SwipeAction requires one device/touch point, and that is the default
for GestureAction — if GestureAction supported multiple devices/touch
points.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2585
Emmanuele Bassi [Fri, 10 Jun 2011 13:33:20 +0000 (14:33 +0100)]
swipe-action: Clean up
Clean up the documentation, and use a type safe GFlags marshaller for
the ::swept signal's @direction argument - instead of a generic integer
marshaller.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2585
Emmanuele Bassi [Fri, 10 Jun 2011 13:32:00 +0000 (14:32 +0100)]
gesture-action: Clean up
The GestureAction is marked as abstract, but it has a constructor. It
should be possible to create simple gesture recognizers through signal
handling alone, so we might as well have GestureAction be a concrete
class from the start.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2585
Tomeu Vizoso [Wed, 9 Mar 2011 09:06:44 +0000 (10:06 +0100)]
Add ClutterSwipeAction and ClutterGestureAction
To allow actors to handle gestures in a more organized way.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2585
Neil Roberts [Mon, 7 Mar 2011 18:53:07 +0000 (18:53 +0000)]
clutter-text: Use the ink rect in the paint volume
Previously ClutterText was just reporting the allocation as the paint
volume. The preferred size of a ClutterText is just the logical
rectangle of the layout. A pango layout can sometimes draw outside of
its logical rectangle for example with an italicised font with large
serifs. Additionally, ClutterText doesn't make any attempt to clip the
text if the actor gets allocated a size too small for the text so it
would also end up drawing outside of the paint volume in that case. To
fix this, the paint volume is now reported as the ink rect of the
Pango layout. The rectangle for the cursor and selection is also
unioned into that because it won't necessarily be within the ink
rectangle.
The function for drawing the selection rectangles has been split up
into a generic function that calculates the rectangles that need to be
drawn and a function that draws them. That way the get_paint_volume
virtual can share the code to calculate the rectangles.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2599
Neil Roberts [Tue, 8 Mar 2011 17:30:04 +0000 (17:30 +0000)]
clutter-text: Don't move the cursor to the left when at pos 0
When the cursor is at the leftmost position in the text the drawn
pixel position is moved to the left by the size of the cursor. There's
no explanation for why this happens and it doesn't seem to make any
sense so this patch removes it. It makes multi-line texts looks odd
because the cursor ends up at a different horizontal position when it
is on the first line from any other line. It also makes using
priv->cursor_pos difficult in any other part of the code because the
paint function modifies it.
The original patch that added this can be traced back to Tidy commit
c356487c15. There's no explanation in the commit message either.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2599
Emmanuele Bassi [Fri, 10 Jun 2011 08:39:09 +0000 (09:39 +0100)]
clutter.modules: Update the moduleset
Reflect the changes in the repository location for a bunch of modules,
and add the Cogl dependency to Clutter.
Emmanuele Bassi [Thu, 9 Jun 2011 14:58:34 +0000 (15:58 +0100)]
docs: Update the releasing checklist
Emmanuele Bassi [Thu, 9 Jun 2011 14:53:29 +0000 (15:53 +0100)]
Move some old doc files under doc/
ChangeLog.pre-git-import is useless since the Git log contains the
pre-Git history anyway.
AUTHORS is not really useful, as many more people have been committing
to Clutter for a while now.
Emmanuele Bassi [Thu, 9 Jun 2011 14:40:57 +0000 (15:40 +0100)]
docs: Fix up new symbols for the API reference
Emmanuele Bassi [Thu, 9 Jun 2011 14:40:26 +0000 (15:40 +0100)]
event: Add clutter_event_set_source() declaration
The function was defined but not declared in the header.
Emmanuele Bassi [Thu, 9 Jun 2011 14:28:39 +0000 (15:28 +0100)]
Fix deprecation guards for ClutterGLXTexturePixmap
Emmanuele Bassi [Thu, 9 Jun 2011 13:42:31 +0000 (14:42 +0100)]
test-bin-layout: Use the long-press signal on ClickAction
Emmanuele Bassi [Wed, 18 May 2011 10:21:58 +0000 (11:21 +0100)]
click-action: Add support for long press detection
A long press is a special form of click action; the default
implementation uses a single signal with multiple states: query, action
and cancel. On click we use the "query" state to check whether the
ClutterClickAction supports long presses; if the callback returns TRUE
then we install a timeout and we either emit the "activate" state when
the timeout expires or we emit the "cancel" state if the pointer leaves
the actor, or if the pointer moves outside a certain threshold. If the
long press reached the "activate" state then we skip the clicked signal
emission.
Emmanuele Bassi [Thu, 9 Jun 2011 13:33:17 +0000 (14:33 +0100)]
settings: Add the :long-press-duration
A property to control the minimum time that has to elapse before a press
is recognized as a long press. This will be used by ClutterClickAction,
but it can be shared across touch-based gestures.
Emmanuele Bassi [Tue, 7 Jun 2011 14:49:20 +0000 (15:49 +0100)]
Eliminate G_CONST_RETURN
The G_CONST_RETURN define in GLib is, and has always been, a bit fuzzy.
We always used it to conform to the platform, at least for public-facing
API.
At first I assumed it has something to do with brain-damaged compilers
or with weird platforms where const was not really supported; sadly,
it's something much, much worse: it's a define that can be toggled at
compile-time to remove const from the signature of public API. This is a
truly terrifying feature that I assume was added in the past century,
and whose inception clearly had something to do with massive doses of
absynthe and opium — because any other explanation would make the
existence of such a feature even worse than assuming drugs had anything
to do with it.
Anyway, and pleasing the gods, this dubious feature is being
removed/deprecated in GLib; see bug:
https://bugzilla.gnome.org/show_bug.cgi?id=644611
Before deprecation, though, we should just remove its usage from the
whole API. We should especially remove its usage from Cally's internals,
since there it never made sense in the first place.
Kjartan Maraas [Tue, 7 Jun 2011 14:46:55 +0000 (16:46 +0200)]
Added Norwegian bokmål translation