1 /* 2 * Copyright (C) 2012 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.gallery3d.filtershow.cache; 18 19 import android.graphics.Bitmap; 20 import android.graphics.Rect; 21 22 import com.android.gallery3d.filtershow.presets.ImagePreset; 23 24 public class ZoomCache { 25 26 private ImagePreset mImagePreset = null; 27 private Bitmap mBitmap = null; 28 private Rect mBounds = null; 29 30 // TODO: move the processing to a background thread... 31 public Bitmap getImage(ImagePreset preset, Rect bounds) { 32 if (mBounds != bounds) { 33 return null; 34 } 35 if (mImagePreset == null) { 36 return null; 37 } 38 if (!mImagePreset.same(preset)) { 39 return null; 40 } 41 return mBitmap; 42 } 43 44 public void setImage(ImagePreset preset, Rect bounds, Bitmap bitmap) { 45 mBitmap = bitmap; 46 mBounds = bounds; 47 mImagePreset = preset; 48 } 49 50 public void reset(ImagePreset imagePreset) { 51 if (imagePreset == mImagePreset) { 52 mBitmap = null; 53 } 54 } 55 } 56