diff options
Diffstat (limited to 'chromium/ppapi/thunk/ppb_compositor_layer_thunk.cc')
-rw-r--r-- | chromium/ppapi/thunk/ppb_compositor_layer_thunk.cc | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/chromium/ppapi/thunk/ppb_compositor_layer_thunk.cc b/chromium/ppapi/thunk/ppb_compositor_layer_thunk.cc new file mode 100644 index 00000000000..4923feab600 --- /dev/null +++ b/chromium/ppapi/thunk/ppb_compositor_layer_thunk.cc @@ -0,0 +1,136 @@ +// 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 Jun 4 11:17:54 2014. + +#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<PPB_CompositorLayer_API> 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<PPB_CompositorLayer_API> enter(layer, true); + if (enter.failed()) + return enter.retval(); + return enter.object()->SetColor(red, green, blue, alpha, size); +} + +int32_t SetTexture(PP_Resource layer, + PP_Resource context, + uint32_t texture, + const struct PP_Size* size, + struct PP_CompletionCallback cc) { + VLOG(4) << "PPB_CompositorLayer::SetTexture()"; + EnterResource<PPB_CompositorLayer_API> enter(layer, cc, true); + if (enter.failed()) + return enter.retval(); + return enter.SetResult(enter.object()->SetTexture(context, + 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<PPB_CompositorLayer_API> 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<PPB_CompositorLayer_API> 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<PPB_CompositorLayer_API> 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<PPB_CompositorLayer_API> 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<PPB_CompositorLayer_API> 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<PPB_CompositorLayer_API> 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<PPB_CompositorLayer_API> 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, + &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; +} + +} // namespace thunk +} // namespace ppapi |