diff options
Diffstat (limited to 'ui/gl/gl_surface_nsview.mm')
-rw-r--r-- | ui/gl/gl_surface_nsview.mm | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/ui/gl/gl_surface_nsview.mm b/ui/gl/gl_surface_nsview.mm new file mode 100644 index 0000000..ded0719 --- /dev/null +++ b/ui/gl/gl_surface_nsview.mm @@ -0,0 +1,47 @@ +// 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. + +#include "ui/gl/gl_surface_nsview.h" + +#import <AppKit/NSOpenGL.h> +#import <AppKit/NSView.h> + +#include "ui/gl/gl_context_nsview.h" + +namespace gfx { + +GLSurfaceNSView::GLSurfaceNSView(AcceleratedWidget view) + : view_(view), + context_(NULL) { +} + +GLSurfaceNSView::~GLSurfaceNSView() { +} + +void GLSurfaceNSView::Destroy() { +} + +bool GLSurfaceNSView::IsOffscreen() { + return false; +} + +bool GLSurfaceNSView::SwapBuffers() { + context_->FlushBuffer(); + return true; +} + +gfx::Size GLSurfaceNSView::GetSize() { + return gfx::Size(NSSizeToCGSize([view_ bounds].size)); +} + +void* GLSurfaceNSView::GetHandle() { + return view_; +} + +bool GLSurfaceNSView::OnMakeCurrent(GLContext* context) { + context_ = static_cast<GLContextNSView *>(context); + return true; +} + +} // namespace gfx |