diff options
author | dhollowa@chromium.org <dhollowa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-21 03:12:17 +0000 |
---|---|---|
committer | dhollowa@chromium.org <dhollowa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-21 03:12:17 +0000 |
commit | 2f47fc457801054fb68055b4649e21af609f81dc (patch) | |
tree | cb31f77630a7465c4001baf2794d25989c20e457 /ui/gfx/gl/gl_surface_nsview.h | |
parent | 21ee224e0862f56ce9d88f2c91950a40cfae6aa0 (diff) | |
download | chromium_src-2f47fc457801054fb68055b4649e21af609f81dc.zip chromium_src-2f47fc457801054fb68055b4649e21af609f81dc.tar.gz chromium_src-2f47fc457801054fb68055b4649e21af609f81dc.tar.bz2 |
compositor_unittests target is unimplmented on Mac
Adds necessary pieces to get the WebKit compositor working with
compositor_unittests target on Mac. Required gyp build flags are:
'use_aura': 1,
'use_webkit_compositor': 1,
'use_skia': 1,
BUG=104390, 104555
TEST=compositor_unittests --gtest_filter=LayerWithRealCompositorTest.* passes and shows correct visual results.
Review URL: http://codereview.chromium.org/8486020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110875 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gfx/gl/gl_surface_nsview.h')
-rw-r--r-- | ui/gfx/gl/gl_surface_nsview.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/ui/gfx/gl/gl_surface_nsview.h b/ui/gfx/gl/gl_surface_nsview.h new file mode 100644 index 0000000..58e1344 --- /dev/null +++ b/ui/gfx/gl/gl_surface_nsview.h @@ -0,0 +1,46 @@ +// Copyright (c) 2011 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_GFX_GL_GL_SURFACE_NSVIEW_H_ +#define UI_GFX_GL_GL_SURFACE_NSVIEW_H_ + +#include "base/compiler_specific.h" +#include "ui/gfx/gl/gl_surface.h" +#include "ui/gfx/size.h" + +namespace gfx { + +class GLContextNSView; + +// GLSurfaceNSView provides an implementation of the the GLSurface interface +// that is backed by an NSView. This interface pairs with the GLContextNSView +// class, and the NSView is expected to use this context for drawing. +class GLSurfaceNSView : public GLSurface { + public: + explicit GLSurfaceNSView(PluginWindowHandle view); + virtual ~GLSurfaceNSView(); + + // GLSurface: + virtual void Destroy() OVERRIDE; + virtual bool IsOffscreen() OVERRIDE; + virtual bool SwapBuffers() OVERRIDE; + virtual gfx::Size GetSize() OVERRIDE; + virtual void* GetHandle() OVERRIDE; + + // Allow the surface to call back to context when in need of |FlushBuffer|. + void SetGLContext(GLContextNSView* context); + + private: + // Weak. An |NSView*|. + PluginWindowHandle view_; + + // Weak. Associated context. + GLContextNSView* context_; + + DISALLOW_COPY_AND_ASSIGN(GLSurfaceNSView); +}; + +} // namespace gfx + +#endif // UI_GFX_GL_GL_SURFACE_NSVIEW_H_ |