// Copyright 2014 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. // From ppb_compositor_layer.idl modified Wed Jan 27 17:10:16 2016. #include #include "ppapi/c/pp_completion_callback.h" #include "ppapi/c/pp_errors.h" #include "ppapi/c/ppb_compositor_layer.h" #include "ppapi/shared_impl/tracked_callback.h" #include "ppapi/thunk/enter.h" #include "ppapi/thunk/ppapi_thunk_export.h" #include "ppapi/thunk/ppb_compositor_layer_api.h" namespace ppapi { namespace thunk { namespace { PP_Bool IsCompositorLayer(PP_Resource resource) { VLOG(4) << "PPB_CompositorLayer::IsCompositorLayer()"; EnterResource enter(resource, false); return PP_FromBool(enter.succeeded()); } int32_t SetColor(PP_Resource layer, float red, float green, float blue, float alpha, const struct PP_Size* size) { VLOG(4) << "PPB_CompositorLayer::SetColor()"; EnterResource enter(layer, true); if (enter.failed()) return enter.retval(); return enter.object()->SetColor(red, green, blue, alpha, size); } int32_t SetTexture_0_1(PP_Resource layer, PP_Resource context, uint32_t texture, const struct PP_Size* size, struct PP_CompletionCallback cc) { VLOG(4) << "PPB_CompositorLayer::SetTexture_0_1()"; EnterResource enter(layer, cc, true); if (enter.failed()) return enter.retval(); return enter.SetResult( enter.object()->SetTexture0_1(context, texture, size, enter.callback())); } int32_t SetTexture(PP_Resource layer, PP_Resource context, uint32_t target, uint32_t texture, const struct PP_Size* size, struct PP_CompletionCallback cc) { VLOG(4) << "PPB_CompositorLayer::SetTexture()"; EnterResource enter(layer, cc, true); if (enter.failed()) return enter.retval(); return enter.SetResult(enter.object()->SetTexture(context, target, texture, size, enter.callback())); } int32_t SetImage(PP_Resource layer, PP_Resource image_data, const struct PP_Size* size, struct PP_CompletionCallback cc) { VLOG(4) << "PPB_CompositorLayer::SetImage()"; EnterResource enter(layer, cc, true); if (enter.failed()) return enter.retval(); return enter.SetResult( enter.object()->SetImage(image_data, size, enter.callback())); } int32_t SetClipRect(PP_Resource layer, const struct PP_Rect* rect) { VLOG(4) << "PPB_CompositorLayer::SetClipRect()"; EnterResource enter(layer, true); if (enter.failed()) return enter.retval(); return enter.object()->SetClipRect(rect); } int32_t SetTransform(PP_Resource layer, const float matrix[16]) { VLOG(4) << "PPB_CompositorLayer::SetTransform()"; EnterResource enter(layer, true); if (enter.failed()) return enter.retval(); return enter.object()->SetTransform(matrix); } int32_t SetOpacity(PP_Resource layer, float opacity) { VLOG(4) << "PPB_CompositorLayer::SetOpacity()"; EnterResource enter(layer, true); if (enter.failed()) return enter.retval(); return enter.object()->SetOpacity(opacity); } int32_t SetBlendMode(PP_Resource layer, PP_BlendMode mode) { VLOG(4) << "PPB_CompositorLayer::SetBlendMode()"; EnterResource enter(layer, true); if (enter.failed()) return enter.retval(); return enter.object()->SetBlendMode(mode); } int32_t SetSourceRect(PP_Resource layer, const struct PP_FloatRect* rect) { VLOG(4) << "PPB_CompositorLayer::SetSourceRect()"; EnterResource enter(layer, true); if (enter.failed()) return enter.retval(); return enter.object()->SetSourceRect(rect); } int32_t SetPremultipliedAlpha(PP_Resource layer, PP_Bool premult) { VLOG(4) << "PPB_CompositorLayer::SetPremultipliedAlpha()"; EnterResource enter(layer, true); if (enter.failed()) return enter.retval(); return enter.object()->SetPremultipliedAlpha(premult); } const PPB_CompositorLayer_0_1 g_ppb_compositorlayer_thunk_0_1 = { &IsCompositorLayer, &SetColor, &SetTexture_0_1, &SetImage, &SetClipRect, &SetTransform, &SetOpacity, &SetBlendMode, &SetSourceRect, &SetPremultipliedAlpha}; const PPB_CompositorLayer_0_2 g_ppb_compositorlayer_thunk_0_2 = { &IsCompositorLayer, &SetColor, &SetTexture, &SetImage, &SetClipRect, &SetTransform, &SetOpacity, &SetBlendMode, &SetSourceRect, &SetPremultipliedAlpha}; } // namespace PPAPI_THUNK_EXPORT const PPB_CompositorLayer_0_1* GetPPB_CompositorLayer_0_1_Thunk() { return &g_ppb_compositorlayer_thunk_0_1; } PPAPI_THUNK_EXPORT const PPB_CompositorLayer_0_2* GetPPB_CompositorLayer_0_2_Thunk() { return &g_ppb_compositorlayer_thunk_0_2; } } // namespace thunk } // namespace ppapi