gl_share_group.cc revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "ui/gl/gl_share_group.h"
6
7#include "ui/gl/gl_context.h"
8
9namespace gfx {
10
11GLShareGroup::GLShareGroup() {
12}
13
14void GLShareGroup::AddContext(GLContext* context) {
15  contexts_.insert(context);
16}
17
18void GLShareGroup::RemoveContext(GLContext* context) {
19  contexts_.erase(context);
20}
21
22void* GLShareGroup::GetHandle() {
23  GLContext* context = GetContext();
24  if (context)
25    return context->GetHandle();
26
27  return NULL;
28}
29
30GLContext* GLShareGroup::GetContext() {
31  for (ContextSet::iterator it = contexts_.begin();
32       it != contexts_.end();
33       ++it) {
34    if ((*it)->GetHandle())
35      return *it;
36  }
37
38  return NULL;
39}
40
41GLShareGroup::~GLShareGroup() {
42}
43
44}  // namespace gfx
45