diff options
| author | John Reck <jreck@google.com> | 2015-04-15 21:23:18 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-04-15 21:23:19 +0000 |
| commit | 8315167693d033a8857e4d10c2f1df52b15a8b78 (patch) | |
| tree | e18a4fe402fa6f1f49a0c28a4a56c8164df763e5 /libs/hwui/AssetAtlas.cpp | |
| parent | ff75ef8f1c064f6456ba8dde10b62c2b9ec4818d (diff) | |
| parent | 87ffb63d90fb6dd2689fe72dcb24fda9a6156220 (diff) | |
| download | frameworks_base-8315167693d033a8857e4d10c2f1df52b15a8b78.zip frameworks_base-8315167693d033a8857e4d10c2f1df52b15a8b78.tar.gz frameworks_base-8315167693d033a8857e4d10c2f1df52b15a8b78.tar.bz2 | |
Merge "Move AssetAtlas off of SkBitmap*"
Diffstat (limited to 'libs/hwui/AssetAtlas.cpp')
| -rw-r--r-- | libs/hwui/AssetAtlas.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/libs/hwui/AssetAtlas.cpp b/libs/hwui/AssetAtlas.cpp index 4d2e3a0..882826e 100644 --- a/libs/hwui/AssetAtlas.cpp +++ b/libs/hwui/AssetAtlas.cpp @@ -82,12 +82,12 @@ void AssetAtlas::updateTextureId() { /////////////////////////////////////////////////////////////////////////////// AssetAtlas::Entry* AssetAtlas::getEntry(const SkBitmap* bitmap) const { - ssize_t index = mEntries.indexOfKey(bitmap); + ssize_t index = mEntries.indexOfKey(bitmap->pixelRef()); return index >= 0 ? mEntries.valueAt(index) : nullptr; } Texture* AssetAtlas::getEntryTexture(const SkBitmap* bitmap) const { - ssize_t index = mEntries.indexOfKey(bitmap); + ssize_t index = mEntries.indexOfKey(bitmap->pixelRef()); return index >= 0 ? mEntries.valueAt(index)->texture : nullptr; } @@ -120,7 +120,7 @@ void AssetAtlas::createEntries(Caches& caches, int64_t* map, int count) { const float height = float(mTexture->height); for (int i = 0; i < count; ) { - SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(map[i++]); + SkPixelRef* pixelRef = reinterpret_cast<SkPixelRef*>(map[i++]); // NOTE: We're converting from 64 bit signed values to 32 bit // signed values. This is guaranteed to be safe because the "x" // and "y" coordinate values are guaranteed to be representable @@ -131,21 +131,21 @@ void AssetAtlas::createEntries(Caches& caches, int64_t* map, int count) { bool rotated = map[i++] > 0; // Bitmaps should never be null, we're just extra paranoid - if (!bitmap) continue; + if (!pixelRef) continue; const UvMapper mapper( - x / width, (x + bitmap->width()) / width, - y / height, (y + bitmap->height()) / height); + x / width, (x + pixelRef->info().width()) / width, + y / height, (y + pixelRef->info().height()) / height); Texture* texture = new DelegateTexture(caches, mTexture); - texture->blend = !bitmap->isOpaque(); - texture->width = bitmap->width(); - texture->height = bitmap->height(); + texture->blend = !SkAlphaTypeIsOpaque(pixelRef->info().alphaType()); + texture->width = pixelRef->info().width(); + texture->height = pixelRef->info().height(); - Entry* entry = new Entry(bitmap, x, y, rotated, texture, mapper, *this); + Entry* entry = new Entry(pixelRef, x, y, rotated, texture, mapper, *this); texture->uvMapper = &entry->uvMapper; - mEntries.add(entry->bitmap, entry); + mEntries.add(entry->pixelRef, entry); } } |
