190fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang/*
290fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang * Copyright (C) 2011 The Android Open Source Project
390fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang *
490fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang * Licensed under the Apache License, Version 2.0 (the "License");
590fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang * you may not use this file except in compliance with the License.
690fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang * You may obtain a copy of the License at
790fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang *
890fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang *      http://www.apache.org/licenses/LICENSE-2.0
990fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang *
1090fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang * Unless required by applicable law or agreed to in writing, software
1190fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang * distributed under the License is distributed on an "AS IS" BASIS,
1290fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1390fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang * See the License for the specific language governing permissions and
1490fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang * limitations under the License.
1590fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang */
1690fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang
17a4eae1abb4f2547dfbda84301ee764ce35464881John Reckpackage com.android.gallery3d.glrenderer;
18a4eae1abb4f2547dfbda84301ee764ce35464881John Reck
1990fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang
2090fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang// FadeOutTexture is a texture which begins with a given texture, then gradually animates
2190fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang// into fading out totally.
223535d67239b1b1e4ee038f39dece64545b78f2edOwen Linpublic class FadeOutTexture extends FadeTexture {
2390fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang    @SuppressWarnings("unused")
2490fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang    private static final String TAG = "FadeOutTexture";
2590fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang
26adee31f028d839e7baa8f9e052dc4e4d60b137daOwen Lin    private final BasicTexture mTexture;
27adee31f028d839e7baa8f9e052dc4e4d60b137daOwen Lin
2890fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang    public FadeOutTexture(BasicTexture texture) {
29adee31f028d839e7baa8f9e052dc4e4d60b137daOwen Lin        super(texture.getWidth(), texture.getHeight(), texture.isOpaque());
30adee31f028d839e7baa8f9e052dc4e4d60b137daOwen Lin        mTexture = texture;
3190fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang    }
3290fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang
3390fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang    @Override
3490fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang    public void draw(GLCanvas canvas, int x, int y, int w, int h) {
3590fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang        if (isAnimating()) {
3690fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang            canvas.save(GLCanvas.SAVE_FLAG_ALPHA);
3790fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang            canvas.setAlpha(getRatio());
3890fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang            mTexture.draw(canvas, x, y, w, h);
3990fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang            canvas.restore();
4090fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang        }
4190fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang    }
4290fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang}
43