remove dependency on android_native{s_priv|buffer}.h

Change-Id: Ie4b95f7061c240f37c504414259f92d72c4ffc89
This commit is contained in:
Mathias Agopian 2012-02-24 18:25:41 -08:00
parent 870b8aa15c
commit 5f2165f945
13 changed files with 21 additions and 144 deletions

View File

@ -20,7 +20,7 @@
#include <gui/ISurfaceTexture.h>
#include <gui/SurfaceTexture.h>
#include <ui/egl/android_natives.h>
#include <ui/ANativeObjectBase.h>
#include <ui/Region.h>
#include <utils/RefBase.h>
@ -31,7 +31,7 @@ namespace android {
class Surface;
class SurfaceTextureClient
: public EGLNativeBase<ANativeWindow, SurfaceTextureClient, RefBase>
: public ANativeObjectBase<ANativeWindow, SurfaceTextureClient, RefBase>
{
public:
SurfaceTextureClient(const sp<ISurfaceTexture>& surfaceTexture);

View File

@ -1,17 +0,0 @@
/*
* Copyright (C) 2009 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.
*/
#include <ui/android_native_buffer.h>

View File

@ -26,7 +26,6 @@
#include <ui/PixelFormat.h>
#include <ui/Region.h>
#include <ui/egl/android_natives.h>
#include <gui/SurfaceTextureClient.h>

View File

@ -22,8 +22,7 @@
#include <hardware/gralloc.h>
#include <system/window.h>
// FIXME: remove this header, it's for legacy use. native_window is pulled from frameworks/base/native/include/android/
#include <android/native_window.h>
// ---------------------------------------------------------------------------
/* FIXME: this is legacy for pixmaps */
@ -52,11 +51,11 @@ typedef struct egl_native_pixmap_t
namespace android {
/*
* This helper class turns an EGL android_native_xxx type into a C++
* This helper class turns a ANativeXXX object type into a C++
* reference-counted object; with proper type conversions.
*/
template <typename NATIVE_TYPE, typename TYPE, typename REF>
class EGLNativeBase : public NATIVE_TYPE, public REF
class ANativeObjectBase : public NATIVE_TYPE, public REF
{
public:
// Disambiguate between the incStrong in REF and NATIVE_TYPE
@ -68,8 +67,8 @@ public:
}
protected:
typedef EGLNativeBase<NATIVE_TYPE, TYPE, REF> BASE;
EGLNativeBase() : NATIVE_TYPE(), REF() {
typedef ANativeObjectBase<NATIVE_TYPE, TYPE, REF> BASE;
ANativeObjectBase() : NATIVE_TYPE(), REF() {
NATIVE_TYPE::common.incRef = incRef;
NATIVE_TYPE::common.decRef = decRef;
}
@ -86,11 +85,11 @@ protected:
return getSelf(reinterpret_cast<NATIVE_TYPE const*>(base));
}
static void incRef(android_native_base_t* base) {
EGLNativeBase* self = getSelf(base);
ANativeObjectBase* self = getSelf(base);
self->incStrong(self);
}
static void decRef(android_native_base_t* base) {
EGLNativeBase* self = getSelf(base);
ANativeObjectBase* self = getSelf(base);
self->decStrong(self);
}
};

View File

@ -1,55 +0,0 @@
/*
* 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_EGL_NATIVE_SURFACE_H
#define ANDROID_EGL_NATIVE_SURFACE_H
#include <stdint.h>
#include <sys/types.h>
#include <cutils/atomic.h>
#include <utils/RefBase.h>
#include <EGL/eglnatives.h>
// ---------------------------------------------------------------------------
namespace android {
// ---------------------------------------------------------------------------
template <class TYPE>
class EGLNativeSurface : public egl_native_window_t, public LightRefBase<TYPE>
{
public:
EGLNativeSurface() {
memset(egl_native_window_t::reserved, 0,
sizeof(egl_native_window_t::reserved));
memset(egl_native_window_t::reserved_proc, 0,
sizeof(egl_native_window_t::reserved_proc));
memset(egl_native_window_t::oem, 0,
sizeof(egl_native_window_t::oem));
}
protected:
EGLNativeSurface& operator = (const EGLNativeSurface& rhs);
EGLNativeSurface(const EGLNativeSurface& rhs);
inline ~EGLNativeSurface() { };
};
// ---------------------------------------------------------------------------
}; // namespace android
// ---------------------------------------------------------------------------
#endif // ANDROID_EGL_SURFACE_H

View File

@ -24,12 +24,10 @@
#include <utils/threads.h>
#include <utils/String8.h>
#include <ui/ANativeObjectBase.h>
#include <ui/Rect.h>
#include <pixelflinger/pixelflinger.h>
#include <ui/egl/android_natives.h>
#define NUM_FRAME_BUFFERS 2
extern "C" EGLNativeWindowType android_createDisplaySurface(void);
@ -44,7 +42,7 @@ class NativeBuffer;
// ---------------------------------------------------------------------------
class FramebufferNativeWindow
: public EGLNativeBase<
: public ANativeObjectBase<
ANativeWindow,
FramebufferNativeWindow,
LightRefBase<FramebufferNativeWindow> >

View File

@ -20,11 +20,11 @@
#include <stdint.h>
#include <sys/types.h>
#include <ui/android_native_buffer.h>
#include <ui/ANativeObjectBase.h>
#include <ui/PixelFormat.h>
#include <ui/Rect.h>
#include <utils/Flattenable.h>
#include <pixelflinger/pixelflinger.h>
struct ANativeWindowBuffer;
@ -37,7 +37,7 @@ class GraphicBufferMapper;
// ===========================================================================
class GraphicBuffer
: public EGLNativeBase<
: public ANativeObjectBase<
ANativeWindowBuffer,
GraphicBuffer,
LightRefBase<GraphicBuffer> >, public Flattenable
@ -93,7 +93,6 @@ public:
status_t lock(uint32_t usage, void** vaddr);
status_t lock(uint32_t usage, const Rect& rect, void** vaddr);
status_t lock(GGLSurface* surface, uint32_t usage);
status_t unlock();
ANativeWindowBuffer* getNativeBuffer() const;

View File

@ -1,22 +0,0 @@
/*
* Copyright (C) 2009 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_ANDROID_NATIVES_PRIV_H
#define ANDROID_ANDROID_NATIVES_PRIV_H
#include <ui/egl/android_natives.h>
#endif /* ANDROID_ANDROID_NATIVES_PRIV_H */

View File

@ -27,25 +27,21 @@
#include <utils/threads.h>
#include <utils/RefBase.h>
#include <ui/Rect.h>
#include <ui/ANativeObjectBase.h>
#include <ui/FramebufferNativeWindow.h>
#include <ui/Rect.h>
#include <EGL/egl.h>
#include <pixelflinger/format.h>
#include <pixelflinger/pixelflinger.h>
#include <hardware/hardware.h>
#include <hardware/gralloc.h>
#include <private/ui/android_natives_priv.h>
// ----------------------------------------------------------------------------
namespace android {
// ----------------------------------------------------------------------------
class NativeBuffer
: public EGLNativeBase<
: public ANativeObjectBase<
ANativeWindowBuffer,
NativeBuffer,
LightRefBase<NativeBuffer> >

View File

@ -28,8 +28,6 @@
#include <ui/GraphicBufferMapper.h>
#include <ui/PixelFormat.h>
#include <pixelflinger/pixelflinger.h>
namespace android {
// ===========================================================================
@ -182,21 +180,6 @@ status_t GraphicBuffer::unlock()
return res;
}
status_t GraphicBuffer::lock(GGLSurface* sur, uint32_t usage)
{
void* vaddr;
status_t res = GraphicBuffer::lock(usage, &vaddr);
if (res == NO_ERROR && sur) {
sur->version = sizeof(GGLSurface);
sur->width = width;
sur->height = height;
sur->stride = stride;
sur->format = format;
sur->data = static_cast<GGLubyte*>(vaddr);
}
return res;
}
size_t GraphicBuffer::getFlattenedSize() const {
return (8 + (handle ? handle->numInts : 0))*sizeof(int);
}

View File

@ -19,8 +19,6 @@
#include "context.h"
#include "TextureObjectManager.h"
#include <private/ui/android_natives_priv.h>
namespace android {
// ----------------------------------------------------------------------------

View File

@ -30,6 +30,7 @@
#include <cutils/atomic.h>
#include <utils/threads.h>
#include <ui/ANativeObjectBase.h>
#include <EGL/egl.h>
#include <EGL/eglext.h>
@ -39,8 +40,6 @@
#include <pixelflinger/format.h>
#include <pixelflinger/pixelflinger.h>
#include <private/ui/android_natives_priv.h>
#include "context.h"
#include "state.h"
#include "texture.h"
@ -49,13 +48,14 @@
#undef NELEM
#define NELEM(x) (sizeof(x)/sizeof(*(x)))
// ----------------------------------------------------------------------------
EGLBoolean EGLAPI eglSetSwapRectangleANDROID(EGLDisplay dpy, EGLSurface draw,
EGLint left, EGLint top, EGLint width, EGLint height);
// ----------------------------------------------------------------------------
namespace android {
// ----------------------------------------------------------------------------
const unsigned int NUM_DISPLAYS = 1;

View File

@ -23,7 +23,6 @@
#include "texture.h"
#include "TextureObjectManager.h"
#include <private/ui/android_natives_priv.h>
#include <ETC1/etc1.h>
namespace android {