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

Commit 7189c005 authored by Mathias Agopian's avatar Mathias Agopian
Browse files

move opengl/include/EGL/android_natives.h to include/ui/egl/android_natives.h...

move opengl/include/EGL/android_natives.h to include/ui/egl/android_natives.h and don't include it from egl.h

the android_native_ types are just forward declared in egl.h
parent 21c59d00
Loading
Loading
Loading
Loading
+76 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2007 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef ANDROID_UI_PRIVATE_SURFACE_BUFFER_H
#define ANDROID_UI_PRIVATE_SURFACE_BUFFER_H

#include <stdint.h>
#include <sys/types.h>

#include <utils/RefBase.h>

#include <ui/egl/android_natives.h>

namespace android {

// ---------------------------------------------------------------------------

class BufferMapper;
class Rect;
class Surface;
class SurfaceBuffer;

// ---------------------------------------------------------------------------

class SurfaceBuffer 
    : public EGLNativeBase<
        android_native_buffer_t, 
        SurfaceBuffer, 
        LightRefBase<SurfaceBuffer> >
{
public:
    status_t lock(uint32_t usage, void** vaddr);
    status_t lock(uint32_t usage, const Rect& rect, void** vaddr);
    status_t unlock();

protected:
            SurfaceBuffer();
            SurfaceBuffer(const Parcel& reply);
    virtual ~SurfaceBuffer();
    bool mOwner;

    inline const BufferMapper& getBufferMapper() const { return mBufferMapper; }
    inline BufferMapper& getBufferMapper() { return mBufferMapper; }
    
private:
    friend class Surface;
    friend class BpSurface;
    friend class BnSurface;
    friend class LightRefBase<SurfaceBuffer>;    

    SurfaceBuffer& operator = (const SurfaceBuffer& rhs);
    const SurfaceBuffer& operator = (const SurfaceBuffer& rhs) const;

    static status_t writeToParcel(Parcel* reply, 
            android_native_buffer_t const* buffer);
    
    BufferMapper& mBufferMapper;
};

}; // namespace android

#endif // ANDROID_UI_PRIVATE_SURFACE_BUFFER_H
+3 −20
Original line number Diff line number Diff line
@@ -21,13 +21,14 @@
#include <sys/types.h>

#include <EGL/egl.h>
#include <EGL/android_natives.h>

#include <utils/threads.h>
#include <ui/Rect.h>

#include <pixelflinger/pixelflinger.h>

#include <ui/egl/android_natives.h>


extern "C" EGLNativeWindowType android_createDisplaySurface(void);

@@ -36,25 +37,7 @@ namespace android {
// ---------------------------------------------------------------------------

class Surface;


class NativeBuffer 
    : public EGLNativeBase<
        android_native_buffer_t, 
        NativeBuffer, 
        LightRefBase<NativeBuffer>  >
{
public:
    NativeBuffer(int w, int h, int f, int u) : BASE() {
        android_native_buffer_t::width  = w;
        android_native_buffer_t::height = h;
        android_native_buffer_t::format = f;
        android_native_buffer_t::usage  = u;
    }
private:
    friend class LightRefBase<NativeBuffer>;    
    ~NativeBuffer() { }; // this class cannot be overloaded
};
class NativeBuffer;

// ---------------------------------------------------------------------------

+0 −2
Original line number Diff line number Diff line
@@ -20,8 +20,6 @@
#include <stdint.h>
#include <sys/types.h>

#include <EGL/android_natives.h>

#include <utils/Errors.h>
#include <utils/IInterface.h>
#include <utils/RefBase.h>
+1 −39
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@
#include <ui/Region.h>
#include <ui/ISurfaceFlingerClient.h>

#include <EGL/android_natives.h>
#include <ui/egl/android_natives.h>

namespace android {

@@ -43,44 +43,6 @@ struct layer_cblk_t;

// ---------------------------------------------------------------------------

class SurfaceBuffer 
    : public EGLNativeBase<
        android_native_buffer_t, 
        SurfaceBuffer, 
        LightRefBase<SurfaceBuffer> >
{
public:
    status_t lock(uint32_t usage, void** vaddr);
    status_t lock(uint32_t usage, const Rect& rect, void** vaddr);
    status_t unlock();

protected:
            SurfaceBuffer();
            SurfaceBuffer(const Parcel& reply);
    virtual ~SurfaceBuffer();
    bool mOwner;

    inline const BufferMapper& getBufferMapper() const { return mBufferMapper; }
    inline BufferMapper& getBufferMapper() { return mBufferMapper; }
    
private:
    friend class Surface;
    friend class BpSurface;
    friend class BnSurface;
    friend class LightRefBase<SurfaceBuffer>;    

    SurfaceBuffer& operator = (const SurfaceBuffer& rhs);
    const SurfaceBuffer& operator = (const SurfaceBuffer& rhs) const;

    static status_t writeToParcel(Parcel* reply, 
            android_native_buffer_t const* buffer);
    
    BufferMapper& mBufferMapper;
};

// ---------------------------------------------------------------------------
class Surface;

class SurfaceControl : public RefBase
{
public:
+0 −1
Original line number Diff line number Diff line
@@ -47,7 +47,6 @@ enum {
    SURFACE_FLAG_MAPPED             = FRAMEBUFFER_FLAG_MAPPED,
};


// ---------------------------------------------------------------------------

struct android_native_base_t
Loading