diff options
Diffstat (limited to 'src/com/android/gallery3d/ui/GLView.java')
-rw-r--r-- | src/com/android/gallery3d/ui/GLView.java | 40 |
1 files changed, 19 insertions, 21 deletions
diff --git a/src/com/android/gallery3d/ui/GLView.java b/src/com/android/gallery3d/ui/GLView.java index b91b71212..664012c5a 100644 --- a/src/com/android/gallery3d/ui/GLView.java +++ b/src/com/android/gallery3d/ui/GLView.java @@ -78,10 +78,8 @@ public class GLView { protected int mScrollHeight = 0; protected int mScrollWidth = 0; - public static final int ANIM_TIME_OPENING = 400; - private RawTexture mFadeOutTexture; private float [] mBackgroundColor; - private StateTransitionAnimation mTransition = new StateTransitionAnimation(ANIM_TIME_OPENING); + private StateTransitionAnimation mTransition; public void startAnimation(CanvasAnimation animation) { GLRoot root = getGLRoot(); @@ -223,22 +221,28 @@ public class GLView { } protected void render(GLCanvas canvas) { - if (mTransition.calculate(AnimationTime.get())) invalidate(); - canvas.save(); + boolean transitionActive = false; + if (mTransition != null && mTransition.calculate(AnimationTime.get())) { + invalidate(); + transitionActive = mTransition.isActive(); + } renderBackground(canvas); - if (mTransition.isActive()) mTransition.applyForegroundTransformation(this, canvas); + canvas.save(); + if (transitionActive) { + mTransition.applyContentTransform(this, canvas); + } for (int i = 0, n = getComponentCount(); i < n; ++i) { renderChild(canvas, getComponent(i)); } canvas.restore(); + if (transitionActive) { + mTransition.applyOverlay(this, canvas); + } } - public void setFadeOutTexture(RawTexture texture) { - mFadeOutTexture = texture; - if (mFadeOutTexture != null) { - TiledScreenNail.disableDrawPlaceholder(); - } - mTransition.start(); + public void setIntroAnimation(StateTransitionAnimation intro) { + mTransition = intro; + if (mTransition != null) mTransition.start(); } public float [] getBackgroundColor() { @@ -253,15 +257,9 @@ public class GLView { if (mBackgroundColor != null) { view.clearBuffer(mBackgroundColor); } - if (mFadeOutTexture != null) { - if (!mTransition.isActive()) { - mFadeOutTexture.recycle(); - mFadeOutTexture = null; - TiledScreenNail.enableDrawPlaceholder(); - } else { - mTransition.applyBackground(this, view, mFadeOutTexture); - return; - } + if (mTransition != null && mTransition.isActive()) { + mTransition.applyBackground(this, view); + return; } } |