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 |