1da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang/*
2da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang * Copyright (C) 2011 The Android Open Source Project
3da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang *
4da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang * Licensed under the Apache License, Version 2.0 (the "License");
5da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang * you may not use this file except in compliance with the License.
6da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang * You may obtain a copy of the License at
7da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang *
8da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang *      http://www.apache.org/licenses/LICENSE-2.0
9da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang *
10da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang * Unless required by applicable law or agreed to in writing, software
11da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang * distributed under the License is distributed on an "AS IS" BASIS,
12da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang * See the License for the specific language governing permissions and
14da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang * limitations under the License.
15da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang */
16da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang
17a4eae1abb4f2547dfbda84301ee764ce35464881John Reckpackage com.android.gallery3d.glrenderer;
18a4eae1abb4f2547dfbda84301ee764ce35464881John Reck
19da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang
20da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang// FadeInTexture is a texture which begins with a color, then gradually animates
21da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang// into a given texture.
2290fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huangpublic class FadeInTexture extends FadeTexture implements Texture {
23fc7efade75629450c0c160329fb42b3dbd5361f4Owen Lin    @SuppressWarnings("unused")
24da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang    private static final String TAG = "FadeInTexture";
25da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang
26da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang    private final int mColor;
27adee31f028d839e7baa8f9e052dc4e4d60b137daOwen Lin    private final TiledTexture mTexture;
28da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang
29adee31f028d839e7baa8f9e052dc4e4d60b137daOwen Lin    public FadeInTexture(int color, TiledTexture texture) {
30adee31f028d839e7baa8f9e052dc4e4d60b137daOwen Lin        super(texture.getWidth(), texture.getHeight(), texture.isOpaque());
31da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang        mColor = color;
32adee31f028d839e7baa8f9e052dc4e4d60b137daOwen Lin        mTexture = texture;
33da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang    }
34da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang
3590fe70f11b0961e1e5ae353cdf563236a55f502dYuli Huang    @Override
36da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang    public void draw(GLCanvas canvas, int x, int y, int w, int h) {
37da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang        if (isAnimating()) {
38adee31f028d839e7baa8f9e052dc4e4d60b137daOwen Lin            mTexture.drawMixed(canvas, mColor, getRatio(), x, y, w, h);
39da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang        } else {
40da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang            mTexture.draw(canvas, x, y, w, h);
41da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang        }
42da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang    }
43da071d27a1435cce080b5c609d0d833555e5a175Chih-Chung Chang}
44