diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-12 21:17:27 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-12 21:17:27 +0000 |
commit | c9e2cbbbcad5f0ae5b9c5ccaf6a36a8a4a61e0e7 (patch) | |
tree | e33d97dc2edae8702ddb6a17ba0d89a506412693 /ui/gl/gl_surface_android.h | |
parent | fc25fd35147b2d5e74d5450e8586592c6a10813d (diff) | |
download | chromium_src-c9e2cbbbcad5f0ae5b9c5ccaf6a36a8a4a61e0e7.zip chromium_src-c9e2cbbbcad5f0ae5b9c5ccaf6a36a8a4a61e0e7.tar.gz chromium_src-c9e2cbbbcad5f0ae5b9c5ccaf6a36a8a4a61e0e7.tar.bz2 |
ui: Move gl/ directory out of gfx/, up to ui/.
BUG=104040
R=ben@chromium.org
TBR=tony@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10392068
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136777 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gl/gl_surface_android.h')
-rw-r--r-- | ui/gl/gl_surface_android.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/ui/gl/gl_surface_android.h b/ui/gl/gl_surface_android.h new file mode 100644 index 0000000..904274e --- /dev/null +++ b/ui/gl/gl_surface_android.h @@ -0,0 +1,45 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef UI_GL_GL_SURFACE_ANDROID_H_ +#define UI_GL_GL_SURFACE_ANDROID_H_ +#pragma once + +#include "base/memory/ref_counted.h" +#include "ui/gl/gl_surface_egl.h" + +namespace gfx { + +// A view surface. This can be created in the GPU process (default case), or +// browser process (in-process-gpu), or render process (in-process-webgl). When +// it is initialized, it always uses a pbuffer EGL surface until the native view +// is set. The native view is in charge of sharing the GL texture with UI thread +// in the browser process through SurfaceTexture. +class AndroidViewSurface : public NativeViewGLSurfaceEGL { + public: + AndroidViewSurface(); + virtual ~AndroidViewSurface(); + + // Implement GLSurface. + virtual bool Initialize() OVERRIDE; + virtual void Destroy() OVERRIDE; + virtual bool Resize(const gfx::Size& size) OVERRIDE; + virtual bool IsOffscreen() OVERRIDE; + virtual bool SwapBuffers() OVERRIDE; + virtual gfx::Size GetSize() OVERRIDE; + virtual EGLSurface GetHandle() OVERRIDE; + virtual void SetNativeWindow(AndroidNativeWindow* window) OVERRIDE; + + private: + bool CreateWindowSurface(AndroidNativeWindow* window); + + scoped_refptr<PbufferGLSurfaceEGL> pbuffer_surface_; + AndroidNativeWindow* window_; + + DISALLOW_COPY_AND_ASSIGN(AndroidViewSurface); +}; + +} // namespace gfx + +#endif // UI_GL_GL_SURFACE_ANDROID_H_ |