Revert "Fix broken channel icon in chrome://help on CrOS" and try again
[chromium-blink-merge.git] / ppapi / cpp / graphics_3d.cc
blobbe11bec6b513ef12b1664a79904c6326dd85e777
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.
5 #include "ppapi/cpp/graphics_3d.h"
7 #include "ppapi/c/pp_errors.h"
8 #include "ppapi/cpp/completion_callback.h"
9 #include "ppapi/cpp/instance_handle.h"
10 #include "ppapi/cpp/module_impl.h"
11 #include "ppapi/cpp/var.h"
13 namespace pp {
15 namespace {
17 template <> const char* interface_name<PPB_Graphics3D_1_0>() {
18 return PPB_GRAPHICS_3D_INTERFACE_1_0;
21 } // namespace
23 Graphics3D::Graphics3D() {
26 Graphics3D::Graphics3D(const InstanceHandle& instance,
27 const int32_t attrib_list[]) {
28 if (has_interface<PPB_Graphics3D_1_0>()) {
29 PassRefFromConstructor(get_interface<PPB_Graphics3D_1_0>()->Create(
30 instance.pp_instance(), 0, attrib_list));
34 Graphics3D::Graphics3D(const InstanceHandle& instance,
35 const Graphics3D& share_context,
36 const int32_t attrib_list[]) {
37 if (has_interface<PPB_Graphics3D_1_0>()) {
38 PassRefFromConstructor(get_interface<PPB_Graphics3D_1_0>()->Create(
39 instance.pp_instance(),
40 share_context.pp_resource(),
41 attrib_list));
45 Graphics3D::~Graphics3D() {
48 int32_t Graphics3D::GetAttribs(int32_t attrib_list[]) const {
49 if (!has_interface<PPB_Graphics3D_1_0>())
50 return PP_ERROR_NOINTERFACE;
52 return get_interface<PPB_Graphics3D_1_0>()->GetAttribs(
53 pp_resource(),
54 attrib_list);
57 int32_t Graphics3D::SetAttribs(const int32_t attrib_list[]) {
58 if (!has_interface<PPB_Graphics3D_1_0>())
59 return PP_ERROR_NOINTERFACE;
61 return get_interface<PPB_Graphics3D_1_0>()->SetAttribs(
62 pp_resource(),
63 attrib_list);
66 int32_t Graphics3D::ResizeBuffers(int32_t width, int32_t height) {
67 if (!has_interface<PPB_Graphics3D_1_0>())
68 return PP_ERROR_NOINTERFACE;
70 return get_interface<PPB_Graphics3D_1_0>()->ResizeBuffers(
71 pp_resource(), width, height);
74 int32_t Graphics3D::SwapBuffers(const CompletionCallback& cc) {
75 if (!has_interface<PPB_Graphics3D_1_0>())
76 return PP_ERROR_NOINTERFACE;
78 return get_interface<PPB_Graphics3D_1_0>()->SwapBuffers(
79 pp_resource(),
80 cc.pp_completion_callback());
83 } // namespace pp