Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc9b2dfa authored by John Reck's avatar John Reck Committed by Android (Google) Code Review
Browse files

Merge "Delete a bunch of dead code" into mnc-dev

parents c7e56e9d a039182d
Loading
Loading
Loading
Loading
+7 −32
Original line number Diff line number Diff line
@@ -21,10 +21,12 @@ package android.graphics;
 */
public class Atlas {
    /**
     * This flag indicates whether the packing algorithm will attempt
     * to rotate entries to make them fit better in the atlas.
     * WARNING: These flag values are part of the on-disk configuration information,
     * do not change their values.
     */
    public static final int FLAG_ALLOW_ROTATIONS = 0x1;

    /** DELETED: FLAG_ROTATION = 0x01 */

    /**
     * This flag indicates whether the packing algorithm should leave
     * an empty 1 pixel wide border around each bitmap. This border can
@@ -52,9 +54,7 @@ public class Atlas {

    /**
     * Represents a bitmap packed in the atlas. Each entry has a location in
     * pixels in the atlas and a rotation flag. If the entry was rotated, the
     * bitmap must be rotated by 90 degrees (in either direction as long as
     * the origin remains the same) before being rendered into the atlas.
     * pixels in the atlas and a rotation flag.
     */
    public static class Entry {
        /**
@@ -65,11 +65,6 @@ public class Atlas {
         * Location, in pixels, of the bitmap on the Y axis in the atlas.
         */
        public int y;

        /**
         * If true, the bitmap must be rotated 90 degrees in the atlas.
         */
        public boolean rotated;
    }

    private final Policy mPolicy;
@@ -239,7 +234,6 @@ public class Atlas {

        private final SplitDecision mSplitDecision;

        private final boolean mAllowRotation;
        private final int mPadding;

        /**
@@ -263,7 +257,6 @@ public class Atlas {
        }

        SlicePolicy(int width, int height, int flags, SplitDecision splitDecision) {
            mAllowRotation = (flags & FLAG_ALLOW_ROTATIONS) != 0;
            mPadding = (flags & FLAG_ADD_PADDING) != 0 ? 1 : 0;

            // The entire atlas is empty at first, minus padding
@@ -360,28 +353,11 @@ public class Atlas {
         *
         * @return True if the rectangle was packed in the atlas, false otherwise
         */
        @SuppressWarnings("SuspiciousNameCombination")
        private boolean insert(Cell cell, Cell prev, int width, int height, Entry entry) {
            boolean rotated = false;

            // If the rectangle doesn't fit we'll try to rotate it
            // if possible before giving up
            if (cell.width < width || cell.height < height) {
                if (mAllowRotation) {
                    if (cell.width < height || cell.height < width) {
                return false;
            }

                    // Rotate the rectangle
                    int temp = width;
                    width = height;
                    height = temp;
                    rotated = true;
                } else {
                    return false;
                }
            }

            // Remaining free space after packing the rectangle
            int deltaWidth = cell.width - width;
            int deltaHeight = cell.height - height;
@@ -433,7 +409,6 @@ public class Atlas {
            // Return the location and rotation of the packed rectangle
            entry.x = cell.x;
            entry.y = cell.y;
            entry.rotated = rotated;

            return true;
        }
+1 −5
Original line number Diff line number Diff line
@@ -112,9 +112,6 @@ private:
    Texture* const mDelegate;
}; // struct DelegateTexture

/**
 * TODO: This method does not take the rotation flag into account
 */
void AssetAtlas::createEntries(Caches& caches, int64_t* map, int count) {
    const float width = float(mTexture->width);
    const float height = float(mTexture->height);
@@ -128,7 +125,6 @@ void AssetAtlas::createEntries(Caches& caches, int64_t* map, int count) {
        // pointers on 64 bit architectures.
        const int x = static_cast<int>(map[i++]);
        const int y = static_cast<int>(map[i++]);
        bool rotated = map[i++] > 0;

        // Bitmaps should never be null, we're just extra paranoid
        if (!pixelRef) continue;
@@ -142,7 +138,7 @@ void AssetAtlas::createEntries(Caches& caches, int64_t* map, int count) {
        texture->width = pixelRef->info().width();
        texture->height = pixelRef->info().height();

        Entry* entry = new Entry(pixelRef, x, y, rotated, texture, mapper, *this);
        Entry* entry = new Entry(pixelRef, texture, mapper, *this);
        texture->uvMapper = &entry->uvMapper;

        mEntries.add(entry->pixelRef, entry);
+5 −21
Original line number Diff line number Diff line
@@ -45,8 +45,8 @@ class Image;
class AssetAtlas {
public:
    /**
     * Entry representing the position and rotation of a
     * bitmap inside the atlas.
     * Entry representing the texture and uvMapper of a PixelRef in the
     * atlas
     */
    class Entry {
    public:
@@ -77,31 +77,16 @@ public:
         */
        SkPixelRef* pixelRef;

        /**
         * Location of the bitmap inside the atlas, in pixels.
         */
        int x;
        int y;

        /**
         * If set, the bitmap is rotated 90 degrees (clockwise)
         * inside the atlas.
         */
        bool rotated;

        /**
         * Atlas this entry belongs to.
         */
        const AssetAtlas& atlas;

        Entry(SkPixelRef* pixelRef, int x, int y, bool rotated,
                    Texture* texture, const UvMapper& mapper, const AssetAtlas& atlas)
        Entry(SkPixelRef* pixelRef, Texture* texture, const UvMapper& mapper,
                    const AssetAtlas& atlas)
                : texture(texture)
                , uvMapper(mapper)
                , pixelRef(pixelRef)
                , x(x)
                , y(y)
                , rotated(rotated)
                , atlas(atlas) {
        }

@@ -120,8 +105,7 @@ public:
     * Initializes the atlas with the specified buffer and
     * map. The buffer is a gralloc'd texture that will be
     * used as an EGLImage. The map is a list of SkBitmap*
     * and their (x, y) positions as well as their rotation
     * flags.
     * and their (x, y) positions
     *
     * This method returns immediately if the atlas is already
     * initialized. To re-initialize the atlas, you must
+1 −7
Original line number Diff line number Diff line
@@ -119,7 +119,6 @@ public class AssetAtlasService extends IAssetAtlas.Stub {
    // long0: SkBitmap*, the native bitmap object
    // long1: x position
    // long2: y position
    // long3: rotated, 1 if the bitmap must be rotated, 0 otherwise
    private long[] mAtlasMap;

    /**
@@ -236,7 +235,7 @@ public class AssetAtlasService extends IAssetAtlas.Stub {
        /**
         * Renders a list of bitmaps into the atlas. The position of each bitmap
         * was decided by the packing algorithm and will be honored by this
         * method. If need be this method will also rotate bitmaps.
         * method.
         *
         * @param buffer The buffer to render the atlas entries into
         * @param atlas The atlas to pack the bitmaps into
@@ -280,16 +279,11 @@ public class AssetAtlasService extends IAssetAtlas.Stub {

                    canvas.save();
                    canvas.translate(entry.x, entry.y);
                    if (entry.rotated) {
                        canvas.translate(bitmap.getHeight(), 0.0f);
                        canvas.rotate(90.0f);
                    }
                    canvas.drawBitmap(bitmap, 0.0f, 0.0f, null);
                    canvas.restore();
                    atlasMap[mapIndex++] = bitmap.refSkPixelRef();
                    atlasMap[mapIndex++] = entry.x;
                    atlasMap[mapIndex++] = entry.y;
                    atlasMap[mapIndex++] = entry.rotated ? 1 : 0;
                }
            }