mutter/clutter
Robert Bragg 3183240fef 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>
2011-07-14 13:54:12 +01:00
..
cally
cogl
evdev
osx osx: Code style cleanups 2011-07-13 19:33:11 +01:00
wayland
win32 don't call cogl_set_default_context since it's been removed 2011-07-11 16:59:26 +01:00
x11
clutter-action.c
clutter-action.h
clutter-actor-box.c
clutter-actor-meta-private.h
clutter-actor-meta.c
clutter-actor-meta.h
clutter-actor-private.h
clutter-actor.c
clutter-actor.h Revert "build: Detect the appropriate default flavour" 2011-07-13 14:26:05 +01:00
clutter-align-constraint.c align-constraint: Fix typo in the vertical align 2011-04-01 15:36:22 +01:00
clutter-align-constraint.h
clutter-alpha.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-alpha.h
clutter-animatable.c
clutter-animatable.h
clutter-animation.c
clutter-animation.h animation: Allow detaching an animation from an actor 2010-09-10 11:18:53 +01:00
clutter-animator.c
clutter-animator.h
clutter-backend-private.h
clutter-backend.c backend: Do not call ensure_context() with NULL stage 2011-06-14 15:55:06 +01:00
clutter-backend.h
clutter-behaviour-depth.c
clutter-behaviour-depth.h
clutter-behaviour-ellipse.c
clutter-behaviour-ellipse.h
clutter-behaviour-opacity.c
clutter-behaviour-opacity.h
clutter-behaviour-path.c
clutter-behaviour-path.h
clutter-behaviour-rotate.c
clutter-behaviour-rotate.h
clutter-behaviour-scale.c
clutter-behaviour-scale.h
clutter-behaviour.c
clutter-behaviour.h
clutter-bezier.c
clutter-bezier.h
clutter-bin-layout.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-bin-layout.h
clutter-bind-constraint.c
clutter-bind-constraint.h Fixed typo of bidng to bind 2011-07-13 15:19:22 +01:00
clutter-binding-pool.c
clutter-binding-pool.h
clutter-blur-effect.c
clutter-blur-effect.h
clutter-box-layout.c Sync allocation in ClutterBoxLayout with the one in GtkBox 2011-06-07 14:43:52 +01:00
clutter-box-layout.h
clutter-box.c
clutter-box.h
clutter-cairo-texture.c
clutter-cairo-texture.h
clutter-child-meta.c
clutter-child-meta.h
clutter-click-action.c click-action: Add support for long press detection 2011-06-09 15:12:41 +01:00
clutter-click-action.h
clutter-clone.c
clutter-clone.h
clutter-color-static.h
clutter-color.c
clutter-color.h
clutter-colorize-effect.c
clutter-colorize-effect.h
clutter-config.h.in
clutter-constraint.c
clutter-constraint.h
clutter-container.c
clutter-container.h Merge remote-tracking branch 'nobled/wayland-fixes2' 2011-02-11 16:45:45 +00:00
clutter-debug.h
clutter-deform-effect.c
clutter-deform-effect.h
clutter-deprecated.h
clutter-desaturate-effect.c
clutter-desaturate-effect.h
clutter-device-manager-private.h
clutter-device-manager.c
clutter-device-manager.h
clutter-drag-action.c
clutter-drag-action.h
clutter-drop-action.c
clutter-drop-action.h
clutter-effect-private.h
clutter-effect.c
clutter-effect.h
clutter-enum-types.c.in
clutter-enum-types.h.in
clutter-event-private.h
clutter-event-translator.c event/x11: Rework the way we translate X11 events 2011-01-21 10:25:43 +00:00
clutter-event-translator.h event/x11: Rework the way we translate X11 events 2011-01-21 10:25:43 +00:00
clutter-event.c
clutter-event.h
clutter-feature.c
clutter-feature.h
clutter-fixed-layout.c
clutter-fixed-layout.h
clutter-fixed.c
clutter-fixed.h
clutter-flatten-effect.c
clutter-flatten-effect.h
clutter-flow-layout.c
clutter-flow-layout.h
clutter-frame-source.c
clutter-frame-source.h Expose deprecated symbols whilst building Clutter 2011-01-20 13:29:37 +00:00
clutter-gesture-action.c Make sure the gesture is cancelled even if we miss the release event 2011-07-14 13:11:12 +02:00
clutter-gesture-action.h
clutter-group.c
clutter-group.h
clutter-id-pool.c clutter-id-pool: fix warning on bad pick 2011-05-26 08:48:13 -04:00
clutter-id-pool.h
clutter-input-device.c
clutter-input-device.h Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-interval.c Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-interval.h
clutter-keysyms-compat.h
clutter-keysyms-table.c
clutter-keysyms-update.pl
clutter-keysyms.h
clutter-layout-manager.c
clutter-layout-manager.h
clutter-layout-meta.c Conditionally use g_object_notify_by_pspec 2010-08-10 17:12:06 +01:00
clutter-layout-meta.h
clutter-list-model.c
clutter-list-model.h
clutter-main.c
clutter-main.h stage: Make per-actor motion event delivery accessors public 2011-06-20 11:41:28 +01:00
clutter-marshal.list
clutter-master-clock.c
clutter-master-clock.h
clutter-media.c clutter-media: mention the asynchronous behavior of set_playing() in the doc. 2011-07-04 15:58:08 +01:00
clutter-media.h
clutter-model-private.h
clutter-model.c Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-model.h
clutter-offscreen-effect-private.h
clutter-offscreen-effect.c
clutter-offscreen-effect.h
clutter-page-turn-effect.c
clutter-page-turn-effect.h
clutter-paint-volume-private.h
clutter-paint-volume.c
clutter-path-constraint.c Remove private helper #define's 2011-03-03 11:47:49 +00:00
clutter-path-constraint.h
clutter-path.c
clutter-path.h
clutter-private.h Adds a CLUTTER_NEARBYINT macro for float rounding 2011-07-14 13:54:05 +01:00
clutter-profile.c
clutter-profile.h
clutter-rectangle.c
clutter-rectangle.h
clutter-score.c
clutter-score.h
clutter-script-parser.c
clutter-script-private.h
clutter-script.c
clutter-script.h
clutter-scriptable.c
clutter-scriptable.h
clutter-settings.c
clutter-settings.h
clutter-shader-effect.c
clutter-shader-effect.h
clutter-shader-types.c
clutter-shader-types.h
clutter-shader.c
clutter-shader.h
clutter-snap-constraint.c
clutter-snap-constraint.h
clutter-stage-manager-private.h
clutter-stage-manager.c
clutter-stage-manager.h
clutter-stage-private.h
clutter-stage-window.c clutter-stage: Add clutter_stage_get_redraw_clip_bounds 2011-07-13 13:54:50 +01:00
clutter-stage-window.h clutter-stage: Add clutter_stage_get_redraw_clip_bounds 2011-07-13 13:54:50 +01:00
clutter-stage.c
clutter-stage.h
clutter-state.c Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-state.h Eliminate G_CONST_RETURN 2011-06-07 16:06:24 +01:00
clutter-swipe-action.c
clutter-swipe-action.h
clutter-table-layout.c
clutter-table-layout.h
clutter-text.c text: Make sure that the selection box is big enough 2011-07-10 10:24:40 +01:00
clutter-text.h
clutter-texture.c
clutter-texture.h
clutter-timeline.c
clutter-timeline.h
clutter-timeout-interval.c
clutter-timeout-interval.h
clutter-timeout-pool.c
clutter-timeout-pool.h
clutter-types.h
clutter-units.c
clutter-units.h
clutter-util.c
clutter-util.h Deprecate clutter_util_next_p2() 2010-02-06 10:49:33 +00:00
clutter-version.h.in
clutter.h
clutter.pc.in
Makefile.am