summaryrefslogtreecommitdiff
path: root/libs/input/SpriteIcon.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/input/SpriteIcon.h')
-rw-r--r--libs/input/SpriteIcon.h24
1 files changed, 9 insertions, 15 deletions
diff --git a/libs/input/SpriteIcon.h b/libs/input/SpriteIcon.h
index c535faf624f7..a257d7e89ebc 100644
--- a/libs/input/SpriteIcon.h
+++ b/libs/input/SpriteIcon.h
@@ -17,7 +17,7 @@
#ifndef _UI_SPRITE_ICON_H
#define _UI_SPRITE_ICON_H
-#include <SkBitmap.h>
+#include <android/graphics/bitmap.h>
#include <gui/Surface.h>
namespace android {
@@ -26,22 +26,17 @@ namespace android {
* Icon that a sprite displays, including its hotspot.
*/
struct SpriteIcon {
- inline SpriteIcon() : style(0), hotSpotX(0), hotSpotY(0) { }
- inline SpriteIcon(const SkBitmap& bitmap, int32_t style, float hotSpotX, float hotSpotY) :
- bitmap(bitmap), style(style), hotSpotX(hotSpotX), hotSpotY(hotSpotY) { }
+ inline SpriteIcon() : style(0), hotSpotX(0), hotSpotY(0) {}
+ inline SpriteIcon(const graphics::Bitmap& bitmap, int32_t style, float hotSpotX, float hotSpotY)
+ : bitmap(bitmap), style(style), hotSpotX(hotSpotX), hotSpotY(hotSpotY) {}
- SkBitmap bitmap;
+ graphics::Bitmap bitmap;
int32_t style;
float hotSpotX;
float hotSpotY;
inline SpriteIcon copy() const {
- SkBitmap bitmapCopy;
- if (bitmapCopy.tryAllocPixels(bitmap.info().makeColorType(kN32_SkColorType))) {
- bitmap.readPixels(bitmapCopy.info(), bitmapCopy.getPixels(), bitmapCopy.rowBytes(),
- 0, 0);
- }
- return SpriteIcon(bitmapCopy, style, hotSpotX, hotSpotY);
+ return SpriteIcon(bitmap.copy(ANDROID_BITMAP_FORMAT_RGBA_8888), style, hotSpotX, hotSpotY);
}
inline void reset() {
@@ -51,17 +46,16 @@ struct SpriteIcon {
hotSpotY = 0;
}
- inline bool isValid() const { return !bitmap.isNull() && !bitmap.empty(); }
+ inline bool isValid() const { return bitmap.isValid() && !bitmap.isEmpty(); }
- inline int32_t width() const { return bitmap.width(); }
- inline int32_t height() const { return bitmap.height(); }
+ inline int32_t width() const { return bitmap.getInfo().width; }
+ inline int32_t height() const { return bitmap.getInfo().height; }
// Draw the bitmap onto the given surface. Returns true if it's successful, or false otherwise.
// Note it doesn't set any metadata to the surface.
bool draw(const sp<Surface> surface) const;
};
-
} // namespace android
#endif // _UI_SPRITE_ICON_H