1// Copyright 2014 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// From ppb_compositor.idl modified Thu May 15 17:40:43 2014. 6 7#include "ppapi/c/pp_completion_callback.h" 8#include "ppapi/c/pp_errors.h" 9#include "ppapi/c/ppb_compositor.h" 10#include "ppapi/shared_impl/tracked_callback.h" 11#include "ppapi/thunk/enter.h" 12#include "ppapi/thunk/ppapi_thunk_export.h" 13#include "ppapi/thunk/ppb_compositor_api.h" 14 15namespace ppapi { 16namespace thunk { 17 18namespace { 19 20PP_Bool IsCompositor(PP_Resource resource) { 21 VLOG(4) << "PPB_Compositor::IsCompositor()"; 22 EnterResource<PPB_Compositor_API> enter(resource, false); 23 return PP_FromBool(enter.succeeded()); 24} 25 26PP_Resource Create(PP_Instance instance) { 27 VLOG(4) << "PPB_Compositor::Create()"; 28 EnterResourceCreation enter(instance); 29 if (enter.failed()) 30 return 0; 31 return enter.functions()->CreateCompositor(instance); 32} 33 34PP_Resource AddLayer(PP_Resource compositor) { 35 VLOG(4) << "PPB_Compositor::AddLayer()"; 36 EnterResource<PPB_Compositor_API> enter(compositor, true); 37 if (enter.failed()) 38 return 0; 39 return enter.object()->AddLayer(); 40} 41 42int32_t CommitLayers(PP_Resource compositor, struct PP_CompletionCallback cc) { 43 VLOG(4) << "PPB_Compositor::CommitLayers()"; 44 EnterResource<PPB_Compositor_API> enter(compositor, cc, true); 45 if (enter.failed()) 46 return enter.retval(); 47 return enter.SetResult(enter.object()->CommitLayers(enter.callback())); 48} 49 50int32_t ResetLayers(PP_Resource compositor) { 51 VLOG(4) << "PPB_Compositor::ResetLayers()"; 52 EnterResource<PPB_Compositor_API> enter(compositor, true); 53 if (enter.failed()) 54 return enter.retval(); 55 return enter.object()->ResetLayers(); 56} 57 58const PPB_Compositor_0_1 g_ppb_compositor_thunk_0_1 = { 59 &IsCompositor, 60 &Create, 61 &AddLayer, 62 &CommitLayers, 63 &ResetLayers 64}; 65 66} // namespace 67 68PPAPI_THUNK_EXPORT const PPB_Compositor_0_1* GetPPB_Compositor_0_1_Thunk() { 69 return &g_ppb_compositor_thunk_0_1; 70} 71 72} // namespace thunk 73} // namespace ppapi 74