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