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