diff options
-rw-r--r-- | include/private/ui/SurfaceBuffer.h | 76 | ||||
-rw-r--r-- | include/ui/FramebufferNativeWindow.h | 23 | ||||
-rw-r--r-- | include/ui/ISurface.h | 2 | ||||
-rw-r--r-- | include/ui/Surface.h | 40 | ||||
-rw-r--r-- | include/ui/egl/android_natives.h (renamed from opengl/include/EGL/android_natives.h) | 1 | ||||
-rw-r--r-- | libs/surfaceflinger/DisplayHardware/DisplayHardware.cpp | 1 | ||||
-rw-r--r-- | libs/surfaceflinger/LayerBitmap.h | 4 | ||||
-rw-r--r-- | libs/ui/BufferMapper.cpp | 2 | ||||
-rw-r--r-- | libs/ui/FramebufferNativeWindow.cpp | 19 | ||||
-rw-r--r-- | libs/ui/ISurface.cpp | 1 | ||||
-rw-r--r-- | libs/ui/Surface.cpp | 5 | ||||
-rw-r--r-- | opengl/include/EGL/eglplatform.h | 4 | ||||
-rw-r--r-- | opengl/libagl/TextureObjectManager.cpp | 2 | ||||
-rw-r--r-- | opengl/libagl/TextureObjectManager.h | 2 | ||||
-rw-r--r-- | opengl/libagl/egl.cpp | 3 | ||||
-rw-r--r-- | opengl/libagl/texture.cpp | 2 |
16 files changed, 112 insertions, 75 deletions
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 @@ 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; // --------------------------------------------------------------------------- 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 @@ 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: diff --git a/opengl/include/EGL/android_natives.h b/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 @@ enum { 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 @@ typedef Window EGLNativeWindowType; #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 @@ typedef void* EGLNativeDisplayType; #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" |