]> www.fi.muni.cz Git - evince.git/commitdiff
Implement "dissolve" effect.
authorCarlos Garnacho <carlosg@gnome.org>
Fri, 4 Jan 2008 20:27:09 +0000 (20:27 +0000)
committerCarlos Garnacho <carlosg@src.gnome.org>
Fri, 4 Jan 2008 20:27:09 +0000 (20:27 +0000)
2008-01-04  Carlos Garnacho  <carlosg@gnome.org>

        * shell/ev-transition-animation.c (ev_transition_animation_dissolve)
        (ev_transition_animation_paint): Implement "dissolve" effect.

svn path=/trunk/; revision=2805

ChangeLog
shell/ev-transition-animation.c

index ab96d653ccf497325e8b349413321897b487d061..bee1518fd070955dc237517acda40082ebd0c417 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-01-04  Carlos Garnacho  <carlosg@gnome.org>
+
+       * shell/ev-transition-animation.c (ev_transition_animation_dissolve)
+       (ev_transition_animation_paint): Implement "dissolve" effect.
+
 2008-01-04  Carlos Garnacho  <carlosg@gnome.org>
 
        * shell/ev-transition-animation.c (ev_transition_animation_wipe)
index 028a36c9b0254ac504f87db0e8c17bf1e6efa9a6..196d0e18d1c6bb8841c9bba731f54b0af7fbfe65 100644 (file)
@@ -424,6 +424,21 @@ ev_transition_animation_wipe (cairo_t               *cr,
        paint_surface (cr, priv->dest_surface, 0, 0, 0, page_area);
 }
 
+static void
+ev_transition_animation_dissolve (cairo_t               *cr,
+                                 EvTransitionAnimation *animation,
+                                 EvTransitionEffect    *effect,
+                                 gdouble                progress,
+                                 GdkRectangle           page_area)
+{
+       EvTransitionAnimationPriv *priv;
+
+       priv = EV_TRANSITION_ANIMATION_GET_PRIVATE (animation);
+
+       paint_surface (cr, priv->dest_surface, 0, 0, 0, page_area);
+       paint_surface (cr, priv->origin_surface, 0, 0, 1 - progress, page_area);
+}
+
 void
 ev_transition_animation_paint (EvTransitionAnimation *animation,
                               cairo_t               *cr,
@@ -462,6 +477,9 @@ ev_transition_animation_paint (EvTransitionAnimation *animation,
        case EV_TRANSITION_EFFECT_WIPE:
                ev_transition_animation_wipe (cr, animation, priv->effect, progress, page_area);
                break;
+       case EV_TRANSITION_EFFECT_DISSOLVE:
+               ev_transition_animation_dissolve (cr, animation, priv->effect, progress, page_area);
+               break;
        default: {
                GEnumValue *enum_value;