Index: ui/android/java/src/org/chromium/ui/resources/dynamics/BitmapDynamicResource.java |
diff --git a/ui/android/java/src/org/chromium/ui/resources/dynamics/BitmapDynamicResource.java b/ui/android/java/src/org/chromium/ui/resources/dynamics/BitmapDynamicResource.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..4d5b5011d3a2799b49323facc6136bf4de85b03a |
--- /dev/null |
+++ b/ui/android/java/src/org/chromium/ui/resources/dynamics/BitmapDynamicResource.java |
@@ -0,0 +1,66 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.ui.resources.dynamics; |
+ |
+import android.graphics.Bitmap; |
+import android.graphics.Rect; |
+ |
+/** |
+ * A basic implementation of {@link DynamicResource} to handle updatable bitmaps. |
+ */ |
+public class BitmapDynamicResource implements DynamicResource { |
+ private static final Rect EMPTY_RECT = new Rect(); |
+ |
+ private final int mResId; |
+ private Bitmap mBitmap; |
+ private final Rect mSize = new Rect(); |
+ private boolean mIsDirty = true; |
+ |
+ public BitmapDynamicResource(int resourceId) { |
+ mResId = resourceId; |
+ } |
+ |
+ /** |
+ * @return A unique id for this resource. |
+ */ |
+ public int getResId() { |
+ return mResId; |
+ } |
+ |
+ /** |
+ * @param bitmap A bitmap to update this resource. |
+ */ |
+ public void setBitmap(Bitmap bitmap) { |
+ mIsDirty = true; |
+ mBitmap = bitmap; |
+ mSize.set(0, 0, mBitmap.getWidth(), mBitmap.getHeight()); |
+ } |
+ |
+ @Override |
+ public Bitmap getBitmap() { |
+ mIsDirty = false; |
+ return mBitmap; |
+ } |
+ |
+ @Override |
+ public Rect getBitmapSize() { |
+ return mSize; |
+ } |
+ |
+ @Override |
+ public Rect getPadding() { |
+ return EMPTY_RECT; |
+ } |
+ |
+ @Override |
+ public Rect getAperture() { |
+ return EMPTY_RECT; |
+ } |
+ |
+ @Override |
+ public boolean isDirty() { |
+ return mIsDirty; |
+ } |
+} |