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

Commit ae060838 authored by Robert Carr's avatar Robert Carr
Browse files

SurfaceFlinger and libgui: Switch Z-order to signed type.

In preparation for SurfaceFlinger child layers. In that model
children's Z order will be relative to their parent. We need
negative Z values to represent children stacking below their
parent (e.g. SurfaceView). Java side already uses signed types
strangely enough.

Test: Basically a refactoring. SurfaceFlinger still works.
Change-Id: Ifcece69f6f9d917cbf5238a59f8e5de1e8ba6a25
parent 6cf6af02
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -157,7 +157,7 @@ public:
    virtual status_t captureScreen(const sp<IBinder>& display,
            const sp<IGraphicBufferProducer>& producer,
            Rect sourceCrop, uint32_t reqWidth, uint32_t reqHeight,
            uint32_t minLayerZ, uint32_t maxLayerZ,
            int32_t minLayerZ, int32_t maxLayerZ,
            bool useIdentityTransform,
            Rotation rotation = eRotateNone) = 0;

+5 −5
Original line number Diff line number Diff line
@@ -142,7 +142,7 @@ public:
    status_t    show(const sp<IBinder>& id);
    status_t    setFlags(const sp<IBinder>& id, uint32_t flags, uint32_t mask);
    status_t    setTransparentRegionHint(const sp<IBinder>& id, const Region& transparent);
    status_t    setLayer(const sp<IBinder>& id, uint32_t layer);
    status_t    setLayer(const sp<IBinder>& id, int32_t layer);
    status_t    setLayerInfo(const sp<IBinder>& id, uint32_t type, uint32_t appid);
    status_t    setAlpha(const sp<IBinder>& id, float alpha=1.0f);
    status_t    setMatrix(const sp<IBinder>& id, float dsdx, float dtdx, float dsdy, float dtdy);
@@ -213,12 +213,12 @@ public:
            const sp<IBinder>& display,
            const sp<IGraphicBufferProducer>& producer,
            Rect sourceCrop, uint32_t reqWidth, uint32_t reqHeight,
            uint32_t minLayerZ, uint32_t maxLayerZ,
            int32_t minLayerZ, int32_t maxLayerZ,
            bool useIdentityTransform);
    static status_t captureToBuffer(
            const sp<IBinder>& display,
            Rect sourceCrop, uint32_t reqWidth, uint32_t reqHeight,
            uint32_t minLayerZ, uint32_t maxLayerZ,
            int32_t minLayerZ, int32_t maxLayerZ,
            bool useIdentityTransform,
            uint32_t rotation,
            sp<GraphicBuffer>* outbuffer);
@@ -242,11 +242,11 @@ public:
            bool useIdentityTransform);
    status_t update(const sp<IBinder>& display,
            Rect sourceCrop, uint32_t reqWidth, uint32_t reqHeight,
            uint32_t minLayerZ, uint32_t maxLayerZ,
            int32_t minLayerZ, int32_t maxLayerZ,
            bool useIdentityTransform);
    status_t update(const sp<IBinder>& display,
            Rect sourceCrop, uint32_t reqWidth, uint32_t reqHeight,
            uint32_t minLayerZ, uint32_t maxLayerZ,
            int32_t minLayerZ, int32_t maxLayerZ,
            bool useIdentityTransform, uint32_t rotation);

    sp<CpuConsumer> getCpuConsumer() const;
+1 −1
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ public:
    void        disconnect();

    status_t    setLayerStack(uint32_t layerStack);
    status_t    setLayer(uint32_t layer);
    status_t    setLayer(int32_t layer);
    status_t    setLayerInfo(uint32_t type, uint32_t appid);
    status_t    setPosition(float x, float y);
    status_t    setSize(uint32_t w, uint32_t h);
+1 −1
Original line number Diff line number Diff line
@@ -84,7 +84,7 @@ struct layer_state_t {
            uint32_t        what;
            float           x;
            float           y;
            uint32_t        z;
            int32_t         z;
            uint32_t        w;
            uint32_t        h;
            uint32_t        layerStack;
+5 −5
Original line number Diff line number Diff line
@@ -104,7 +104,7 @@ public:
    virtual status_t captureScreen(const sp<IBinder>& display,
            const sp<IGraphicBufferProducer>& producer,
            Rect sourceCrop, uint32_t reqWidth, uint32_t reqHeight,
            uint32_t minLayerZ, uint32_t maxLayerZ,
            int32_t minLayerZ, int32_t maxLayerZ,
            bool useIdentityTransform,
            ISurfaceComposer::Rotation rotation)
    {
@@ -115,8 +115,8 @@ public:
        data.write(sourceCrop);
        data.writeUint32(reqWidth);
        data.writeUint32(reqHeight);
        data.writeUint32(minLayerZ);
        data.writeUint32(maxLayerZ);
        data.writeInt32(minLayerZ);
        data.writeInt32(maxLayerZ);
        data.writeInt32(static_cast<int32_t>(useIdentityTransform));
        data.writeInt32(static_cast<int32_t>(rotation));
        remote()->transact(BnSurfaceComposer::CAPTURE_SCREEN, data, &reply);
@@ -544,8 +544,8 @@ status_t BnSurfaceComposer::onTransact(
            data.read(sourceCrop);
            uint32_t reqWidth = data.readUint32();
            uint32_t reqHeight = data.readUint32();
            uint32_t minLayerZ = data.readUint32();
            uint32_t maxLayerZ = data.readUint32();
            int32_t minLayerZ = data.readInt32();
            int32_t maxLayerZ = data.readInt32();
            bool useIdentityTransform = static_cast<bool>(data.readInt32());
            int32_t rotation = data.readInt32();

Loading