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
diff --git a/include/private/ui/SurfaceBuffer.h b/include/private/ui/SurfaceBuffer.h
new file mode 100644
index 0000000..a6db50f
--- /dev/null
+++ b/include/private/ui/SurfaceBuffer.h
@@ -0,0 +1,76 @@
+/*
+ * 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
+
diff --git a/include/ui/FramebufferNativeWindow.h b/include/ui/FramebufferNativeWindow.h
index 0db245a..aad39a2 100644
--- a/include/ui/FramebufferNativeWindow.h
+++ b/include/ui/FramebufferNativeWindow.h
@@ -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 @@
 // ---------------------------------------------------------------------------
 
 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;
 
 // ---------------------------------------------------------------------------
 
diff --git a/include/ui/ISurface.h b/include/ui/ISurface.h
index 1a78872..e47b753 100644
--- a/include/ui/ISurface.h
+++ b/include/ui/ISurface.h
@@ -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>
diff --git a/include/ui/Surface.h b/include/ui/Surface.h
index e9bb1b3..8c4f63d 100644
--- a/include/ui/Surface.h
+++ b/include/ui/Surface.h
@@ -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 @@
 
 // ---------------------------------------------------------------------------
 
-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:
diff --git a/opengl/include/EGL/android_natives.h b/include/ui/egl/android_natives.h
similarity index 99%
rename from opengl/include/EGL/android_natives.h
rename to include/ui/egl/android_natives.h
index b8465d5..5842ee7 100644
--- a/opengl/include/EGL/android_natives.h
+++ b/include/ui/egl/android_natives.h
@@ -47,7 +47,6 @@
     SURFACE_FLAG_MAPPED             = FRAMEBUFFER_FLAG_MAPPED,
 };
 
-
 // ---------------------------------------------------------------------------
 
 struct android_native_base_t
diff --git a/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp b/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
index ca96e14..374f2e2 100644
--- a/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
+++ b/libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp
@@ -30,7 +30,6 @@
 #include <GLES/gl.h>
 #include <EGL/egl.h>
 #include <EGL/eglext.h>
-#include <EGL/android_natives.h>
 
 #include <pixelflinger/pixelflinger.h>
 
diff --git a/libs/surfaceflinger/LayerBitmap.h b/libs/surfaceflinger/LayerBitmap.h
index 6e136a2..824e0f2 100644
--- a/libs/surfaceflinger/LayerBitmap.h
+++ b/libs/surfaceflinger/LayerBitmap.h
@@ -28,12 +28,10 @@
 #include <ui/Rect.h>
 #include <ui/Surface.h>
 
-#include <EGL/android_natives.h>
-
 #include <pixelflinger/pixelflinger.h>
 
 #include <private/ui/SharedState.h>
-
+#include <private/ui/SurfaceBuffer.h>
 
 class copybit_image_t;
 struct android_native_buffer_t;
diff --git a/libs/ui/BufferMapper.cpp b/libs/ui/BufferMapper.cpp
index 1a75c5d..92a9a86 100644
--- a/libs/ui/BufferMapper.cpp
+++ b/libs/ui/BufferMapper.cpp
@@ -25,8 +25,6 @@
 #include <ui/BufferMapper.h>
 #include <ui/Rect.h>
 
-#include <EGL/android_natives.h>
-
 #include <hardware/gralloc.h>
 
 
diff --git a/libs/ui/FramebufferNativeWindow.cpp b/libs/ui/FramebufferNativeWindow.cpp
index f235cb4..5e69cff 100644
--- a/libs/ui/FramebufferNativeWindow.cpp
+++ b/libs/ui/FramebufferNativeWindow.cpp
@@ -42,6 +42,25 @@
 namespace android {
 // ----------------------------------------------------------------------------
 
+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
+};
+
+
 /*
  * This implements the (main) framebuffer management. This class is used
  * mostly by SurfaceFlinger, but also by command line GL application.
diff --git a/libs/ui/ISurface.cpp b/libs/ui/ISurface.cpp
index fcea8ec..ec922d0 100644
--- a/libs/ui/ISurface.cpp
+++ b/libs/ui/ISurface.cpp
@@ -27,6 +27,7 @@
 #include <ui/Overlay.h>
 #include <ui/Surface.h>
 
+#include <private/ui/SurfaceBuffer.h>
 
 namespace android {
 
diff --git a/libs/ui/Surface.cpp b/libs/ui/Surface.cpp
index 782eac4..6437619 100644
--- a/libs/ui/Surface.cpp
+++ b/libs/ui/Surface.cpp
@@ -36,12 +36,11 @@
 #include <ui/SurfaceComposerClient.h>
 #include <ui/Rect.h>
 
-#include <EGL/android_natives.h>
+#include <pixelflinger/pixelflinger.h>
 
 #include <private/ui/SharedState.h>
 #include <private/ui/LayerState.h>
-
-#include <pixelflinger/pixelflinger.h>
+#include <private/ui/SurfaceBuffer.h>
 
 namespace android {
 
diff --git a/opengl/include/EGL/eglplatform.h b/opengl/include/EGL/eglplatform.h
index d428087..9561490 100644
--- a/opengl/include/EGL/eglplatform.h
+++ b/opengl/include/EGL/eglplatform.h
@@ -89,7 +89,8 @@
 
 #elif defined(ANDROID)
 
-#include <EGL/android_natives.h>
+struct android_native_window_t;
+struct egl_native_pixmap_t;
 
 typedef struct android_native_window_t* EGLNativeWindowType;
 typedef struct egl_native_pixmap_t*     EGLNativePixmapType;
@@ -97,6 +98,7 @@
 
 #ifndef EGL_ANDROID_image_native_buffer
 #define EGL_ANDROID_image_native_buffer 1
+struct android_native_buffer_t;
 #define EGL_NATIVE_BUFFER_ANDROID       0x6000  /* eglCreateImageKHR target */
 #endif
 
diff --git a/opengl/libagl/TextureObjectManager.cpp b/opengl/libagl/TextureObjectManager.cpp
index 9eb99f0..e5d4ed2 100644
--- a/opengl/libagl/TextureObjectManager.cpp
+++ b/opengl/libagl/TextureObjectManager.cpp
@@ -19,6 +19,8 @@
 #include "context.h"
 #include "TextureObjectManager.h"
 
+#include <ui/egl/android_natives.h>
+
 namespace android {
 // ----------------------------------------------------------------------------
 
diff --git a/opengl/libagl/TextureObjectManager.h b/opengl/libagl/TextureObjectManager.h
index 29d5037..e0eadf1 100644
--- a/opengl/libagl/TextureObjectManager.h
+++ b/opengl/libagl/TextureObjectManager.h
@@ -30,7 +30,7 @@
 #include <private/pixelflinger/ggl_context.h>
 
 #include <GLES/gl.h>
-#include <EGL/android_natives.h>
+#include <EGL/egl.h>
 
 #include "Tokenizer.h"
 #include "TokenManager.h"
diff --git a/opengl/libagl/egl.cpp b/opengl/libagl/egl.cpp
index 720ba0b..0950f3e 100644
--- a/opengl/libagl/egl.cpp
+++ b/opengl/libagl/egl.cpp
@@ -33,13 +33,14 @@
 
 #include <EGL/egl.h>
 #include <EGL/eglext.h>
-#include <EGL/android_natives.h>
 #include <GLES/gl.h>
 #include <GLES/glext.h>
 
 #include <pixelflinger/format.h>
 #include <pixelflinger/pixelflinger.h>
 
+#include <ui/egl/android_natives.h>
+
 #include "context.h"
 #include "state.h"
 #include "texture.h"
diff --git a/opengl/libagl/texture.cpp b/opengl/libagl/texture.cpp
index 1189643..0211208 100644
--- a/opengl/libagl/texture.cpp
+++ b/opengl/libagl/texture.cpp
@@ -23,7 +23,7 @@
 #include "texture.h"
 #include "TextureObjectManager.h"
 
-#include <EGL/android_natives.h>
+#include <ui/egl/android_natives.h>
 
 #ifdef LIBAGL_USE_GRALLOC_COPYBITS
 #include "copybit.h"