Upstream version 8.37.180.0
[platform/framework/web/crosswalk.git] / src / ppapi / thunk / ppb_compositor_layer_api.h
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 #ifndef PPAPI_THUNK_PPB_COMPOSITOR_LAYER_API_H_
6 #define PPAPI_THUNK_PPB_COMPOSITOR_LAYER_API_H_
7
8 #include "base/memory/ref_counted.h"
9 #include "ppapi/c/ppb_compositor_layer.h"
10 #include "ppapi/shared_impl/tracked_callback.h"
11
12 namespace ppapi {
13 namespace thunk {
14
15 class PPAPI_THUNK_EXPORT PPB_CompositorLayer_API {
16  public:
17   virtual ~PPB_CompositorLayer_API() {}
18   virtual int32_t SetColor(float red,
19                            float green,
20                            float blue,
21                            float alpha,
22                            const PP_Size* size) = 0;
23   virtual int32_t SetTexture(
24       PP_Resource context,
25       uint32_t texture,
26       const PP_Size* size,
27       const scoped_refptr<ppapi::TrackedCallback>& callback) = 0;
28   virtual int32_t SetImage(
29       PP_Resource image_data,
30       const PP_Size* size,
31       const scoped_refptr<ppapi::TrackedCallback>& callback) = 0;
32   virtual int32_t SetClipRect(const PP_Rect* rects) = 0;
33   virtual int32_t SetTransform(const float matrix[16]) = 0;
34   virtual int32_t SetOpacity(float opacity) = 0;
35   virtual int32_t SetBlendMode(PP_BlendMode mode) = 0;
36   virtual int32_t SetSourceRect(const PP_FloatRect* rect) = 0;
37   virtual int32_t SetPremultipliedAlpha(PP_Bool premult) = 0;
38 };
39
40 }  // namespace thunk
41 }  // namespace ppapi
42
43 #endif  // PPAPI_THUNK_PPB_COMPOSITOR_API_H_