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

Commit ac9fa427 authored by Mathias Agopian's avatar Mathias Agopian
Browse files

get rid of Surface identity and token

we use the IBinder instead.

Change-Id: I4aa0b58869ba43f19980013620051e5a261b062d
parent b997f6ef
Loading
Loading
Loading
Loading
+0 −2
Original line number Original line Diff line number Diff line
@@ -29,8 +29,6 @@


namespace android {
namespace android {


typedef int32_t    SurfaceID;

class IGraphicBufferProducer;
class IGraphicBufferProducer;


class ISurface : public IInterface
class ISurface : public IInterface
+2 −9
Original line number Original line Diff line number Diff line
@@ -54,24 +54,17 @@ public:
        eFXSurfaceMask      = 0x000F0000,
        eFXSurfaceMask      = 0x000F0000,
    };
    };


    struct surface_data_t {
        int32_t token;
        int32_t identity;
        status_t readFromParcel(const Parcel& parcel);
        status_t writeToParcel(Parcel* parcel) const;
    };

    /*
    /*
     * Requires ACCESS_SURFACE_FLINGER permission
     * Requires ACCESS_SURFACE_FLINGER permission
     */
     */
    virtual sp<ISurface> createSurface(surface_data_t* data,
    virtual sp<ISurface> createSurface(
            const String8& name, uint32_t w, uint32_t h,
            const String8& name, uint32_t w, uint32_t h,
            PixelFormat format, uint32_t flags) = 0;
            PixelFormat format, uint32_t flags) = 0;


    /*
    /*
     * Requires ACCESS_SURFACE_FLINGER permission
     * Requires ACCESS_SURFACE_FLINGER permission
     */
     */
    virtual status_t destroySurface(SurfaceID sid) = 0;
    virtual status_t destroySurface(const sp<IBinder>& handle) = 0;
};
};


// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
+3 −9
Original line number Original line Diff line number Diff line
@@ -50,13 +50,11 @@ public:
        return (surface != 0) && surface->isValid();
        return (surface != 0) && surface->isValid();
    }
    }
    bool isValid() {
    bool isValid() {
        return mToken>=0 && mClient!=0;
        return mSurface!=0 && mClient!=0;
    }
    }
    static bool isSameSurface(
    static bool isSameSurface(
            const sp<SurfaceControl>& lhs, const sp<SurfaceControl>& rhs);
            const sp<SurfaceControl>& lhs, const sp<SurfaceControl>& rhs);
        
        
    uint32_t    getIdentity() const { return mIdentity; }

    // release surface data from java
    // release surface data from java
    void        clear();
    void        clear();
    
    
@@ -87,8 +85,7 @@ private:


    SurfaceControl(
    SurfaceControl(
            const sp<SurfaceComposerClient>& client,
            const sp<SurfaceComposerClient>& client,
            const sp<ISurface>& surface,
            const sp<ISurface>& surface);
            const ISurfaceComposerClient::surface_data_t& data);


    ~SurfaceControl();
    ~SurfaceControl();


@@ -96,11 +93,8 @@ private:
    void destroy();
    void destroy();
    
    
    sp<SurfaceComposerClient>   mClient;
    sp<SurfaceComposerClient>   mClient;
    sp<ISurface>                mSurface;
    sp<IBinder>                 mSurface;
    SurfaceID                   mToken;
    uint32_t                    mIdentity;
    mutable Mutex               mLock;
    mutable Mutex               mLock;
    
    mutable sp<Surface>         mSurfaceData;
    mutable sp<Surface>         mSurfaceData;
};
};
    
    
+12 −12
Original line number Original line Diff line number Diff line
@@ -108,18 +108,18 @@ public:
    //! Flag the currently open transaction as an animation transaction.
    //! Flag the currently open transaction as an animation transaction.
    static void setAnimationTransaction();
    static void setAnimationTransaction();


    status_t    hide(SurfaceID id);
    status_t    hide(const sp<IBinder>& id);
    status_t    show(SurfaceID id);
    status_t    show(const sp<IBinder>& id);
    status_t    setFlags(SurfaceID id, uint32_t flags, uint32_t mask);
    status_t    setFlags(const sp<IBinder>& id, uint32_t flags, uint32_t mask);
    status_t    setTransparentRegionHint(SurfaceID id, const Region& transparent);
    status_t    setTransparentRegionHint(const sp<IBinder>& id, const Region& transparent);
    status_t    setLayer(SurfaceID id, int32_t layer);
    status_t    setLayer(const sp<IBinder>& id, int32_t layer);
    status_t    setAlpha(SurfaceID id, float alpha=1.0f);
    status_t    setAlpha(const sp<IBinder>& id, float alpha=1.0f);
    status_t    setMatrix(SurfaceID id, float dsdx, float dtdx, float dsdy, float dtdy);
    status_t    setMatrix(const sp<IBinder>& id, float dsdx, float dtdx, float dsdy, float dtdy);
    status_t    setPosition(SurfaceID id, float x, float y);
    status_t    setPosition(const sp<IBinder>& id, float x, float y);
    status_t    setSize(SurfaceID id, uint32_t w, uint32_t h);
    status_t    setSize(const sp<IBinder>& id, uint32_t w, uint32_t h);
    status_t    setCrop(SurfaceID id, const Rect& crop);
    status_t    setCrop(const sp<IBinder>& id, const Rect& crop);
    status_t    setLayerStack(SurfaceID id, uint32_t layerStack);
    status_t    setLayerStack(const sp<IBinder>& id, uint32_t layerStack);
    status_t    destroySurface(SurfaceID sid);
    status_t    destroySurface(const sp<IBinder>& id);


    static void setDisplaySurface(const sp<IBinder>& token,
    static void setDisplaySurface(const sp<IBinder>& token,
            const sp<IGraphicBufferProducer>& bufferProducer);
            const sp<IGraphicBufferProducer>& bufferProducer);
+2 −2
Original line number Original line Diff line number Diff line
@@ -51,7 +51,7 @@ struct layer_state_t {
    };
    };


    layer_state_t()
    layer_state_t()
        :   surface(0), what(0),
        :   what(0),
            x(0), y(0), z(0), w(0), h(0), layerStack(0),
            x(0), y(0), z(0), w(0), h(0), layerStack(0),
            alpha(0), flags(0), mask(0),
            alpha(0), flags(0), mask(0),
            reserved(0)
            reserved(0)
@@ -70,7 +70,7 @@ struct layer_state_t {
                float   dsdy;
                float   dsdy;
                float   dtdy;
                float   dtdy;
            };
            };
            SurfaceID       surface;
            sp<IBinder>     surface;
            uint32_t        what;
            uint32_t        what;
            float           x;
            float           x;
            float           y;
            float           y;
Loading