Upstream version 9.38.198.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 SetTexture0_1(
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 SetTexture(
29       PP_Resource context,
30       uint32_t target,
31       uint32_t texture,
32       const PP_Size* size,
33       const scoped_refptr<ppapi::TrackedCallback>& callback) = 0;
34   virtual int32_t SetImage(
35       PP_Resource image_data,
36       const PP_Size* size,
37       const scoped_refptr<ppapi::TrackedCallback>& callback) = 0;
38   virtual int32_t SetClipRect(const PP_Rect* rects) = 0;
39   virtual int32_t SetTransform(const float matrix[16]) = 0;
40   virtual int32_t SetOpacity(float opacity) = 0;
41   virtual int32_t SetBlendMode(PP_BlendMode mode) = 0;
42   virtual int32_t SetSourceRect(const PP_FloatRect* rect) = 0;
43   virtual int32_t SetPremultipliedAlpha(PP_Bool premult) = 0;
44 };
45
46 }  // namespace thunk
47 }  // namespace ppapi
48
49 #endif  // PPAPI_THUNK_PPB_COMPOSITOR_API_H_