diff options
Diffstat (limited to 'ui/gl/gl_share_group.cc')
-rw-r--r-- | ui/gl/gl_share_group.cc | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/ui/gl/gl_share_group.cc b/ui/gl/gl_share_group.cc new file mode 100644 index 0000000..8ab0cc7 --- /dev/null +++ b/ui/gl/gl_share_group.cc @@ -0,0 +1,44 @@ +// 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_share_group.h" + +#include "ui/gl/gl_context.h" + +namespace gfx { + +GLShareGroup::GLShareGroup() { +} + +void GLShareGroup::AddContext(GLContext* context) { + contexts_.insert(context); +} + +void GLShareGroup::RemoveContext(GLContext* context) { + contexts_.erase(context); +} + +void* GLShareGroup::GetHandle() { + GLContext* context = GetContext(); + if (context) + return context->GetHandle(); + + return NULL; +} + +GLContext* GLShareGroup::GetContext() { + for (ContextSet::iterator it = contexts_.begin(); + it != contexts_.end(); + ++it) { + if ((*it)->GetHandle()) + return *it; + } + + return NULL; +} + +GLShareGroup::~GLShareGroup() { +} + +} // namespace gfx |