1e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka/* 2e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * Copyright (C) 2010 The Android Open Source Project 3e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * 4e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * Licensed under the Apache License, Version 2.0 (the "License"); 5e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * you may not use this file except in compliance with the License. 6e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * You may obtain a copy of the License at 7e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * 8e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * http://www.apache.org/licenses/LICENSE-2.0 9e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * 10e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * Unless required by applicable law or agreed to in writing, software 11e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * distributed under the License is distributed on an "AS IS" BASIS, 12e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * See the License for the specific language governing permissions and 14e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka * limitations under the License. 15e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka */ 16e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka 17e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurkapackage com.android.gallery3d.glrenderer; 18e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka 19e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurkaimport android.graphics.Bitmap; 20e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka 210589d8287ef05b701754dcb916cc3079c907f847Paul Duffinimport com.android.gallery3d.common.Utils; 220589d8287ef05b701754dcb916cc3079c907f847Paul Duffin 23e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka// BitmapTexture is a texture whose content is specified by a fixed Bitmap. 24e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka// 25e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka// The texture does not own the Bitmap. The user should make sure the Bitmap 26e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka// is valid during the texture's lifetime. When the texture is recycled, it 27e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka// does not free the Bitmap. 28e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurkapublic class BitmapTexture extends UploadedTexture { 29e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka protected Bitmap mContentBitmap; 30e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka 31e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka public BitmapTexture(Bitmap bitmap) { 32e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka this(bitmap, false); 33e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka } 34e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka 35e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka public BitmapTexture(Bitmap bitmap, boolean hasBorder) { 36e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka super(hasBorder); 370589d8287ef05b701754dcb916cc3079c907f847Paul Duffin Utils.assertTrue(bitmap != null && !bitmap.isRecycled()); 38e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka mContentBitmap = bitmap; 39e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka } 40e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka 41e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka @Override 42e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka protected void onFreeBitmap(Bitmap bitmap) { 43e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka // Do nothing. 44e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka } 45e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka 46e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka @Override 47e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka protected Bitmap onGetBitmap() { 48e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka return mContentBitmap; 49e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka } 50e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka 51e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka public Bitmap getBitmap() { 52e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka return mContentBitmap; 53e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka } 54e8d1bf7a439450b9979701909164a6baffbe8baeMichael Jurka} 55