Chromium Code Reviews| Index: ui/gfx/gl/gl_surface_nsview.mm |
| diff --git a/ui/gfx/gl/gl_surface_nsview.mm b/ui/gfx/gl/gl_surface_nsview.mm |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..64d66f06b2186827220a66875bab5e123db84cf1 |
| --- /dev/null |
| +++ b/ui/gfx/gl/gl_surface_nsview.mm |
| @@ -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. |
| + |
| +#include "ui/gfx/gl/gl_surface_nsview.h" |
| + |
| +#import <AppKit/NSView.h> |
| + |
| +#include "base/basictypes.h" |
| +#include "base/logging.h" |
| +#include "base/mac/mac_util.h" |
| +#include "ui/gfx/gl/gl_bindings.h" |
| +#include "ui/gfx/gl/gl_context.h" |
| + |
| +namespace gfx { |
| + |
| +GLSurfaceNSView::GLSurfaceNSView(PluginWindowHandle view) |
| + : view_(view) { |
| +} |
| + |
| +GLSurfaceNSView::~GLSurfaceNSView() { |
| +} |
| + |
| +void GLSurfaceNSView::Destroy() { |
| +} |
| + |
| +bool GLSurfaceNSView::IsOffscreen() { |
| + return false; |
| +} |
| + |
| +bool GLSurfaceNSView::SwapBuffers() { |
| + CGLContextObj cgl_context = CGLGetCurrentContext(); |
|
Nico
2011/11/16 19:11:13
Is there some way to DCHECK that the right context
dhollowa
2011/11/16 19:59:18
Not really, no. The view doesn't expose accessors
|
| + CGLFlushDrawable(cgl_context); |
| + return true; |
| +} |
| + |
| +gfx::Size GLSurfaceNSView::GetSize() { |
| + NSRect bounds = [view_ bounds]; |
| + return gfx::Size(bounds.size.width, bounds.size.height); |
|
Nico
2011/11/16 19:11:13
Doesn't gfx::Size() have a constructor that takes
dhollowa
2011/11/16 19:59:18
Done.
|
| +} |
| + |
| +void* GLSurfaceNSView::GetHandle() { |
| + return view_; |
| +} |
| + |
| +} // namespace gfx |