| // 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. |
| |
| #ifndef PPAPI_THUNK_PPB_COMPOSITOR_LAYER_API_H_ |
| #define PPAPI_THUNK_PPB_COMPOSITOR_LAYER_API_H_ |
| |
| #include "base/memory/ref_counted.h" |
| #include "ppapi/c/ppb_compositor_layer.h" |
| #include "ppapi/shared_impl/tracked_callback.h" |
| |
| namespace ppapi { |
| namespace thunk { |
| |
| class PPAPI_THUNK_EXPORT PPB_CompositorLayer_API { |
| public: |
| virtual ~PPB_CompositorLayer_API() {} |
| virtual int32_t SetColor(float red, |
| float green, |
| float blue, |
| float alpha, |
| const PP_Size* size) = 0; |
| virtual int32_t SetTexture( |
| PP_Resource context, |
| uint32_t texture, |
| const PP_Size* size, |
| const scoped_refptr<ppapi::TrackedCallback>& callback) = 0; |
| virtual int32_t SetImage( |
| PP_Resource image_data, |
| const PP_Size* size, |
| const scoped_refptr<ppapi::TrackedCallback>& callback) = 0; |
| virtual int32_t SetClipRect(const PP_Rect* rects) = 0; |
| virtual int32_t SetTransform(const float matrix[16]) = 0; |
| virtual int32_t SetOpacity(float opacity) = 0; |
| virtual int32_t SetBlendMode(PP_BlendMode mode) = 0; |
| virtual int32_t SetSourceRect(const PP_FloatRect* rect) = 0; |
| virtual int32_t SetPremultipliedAlpha(PP_Bool premult) = 0; |
| }; |
| |
| } // namespace thunk |
| } // namespace ppapi |
| |
| #endif // PPAPI_THUNK_PPB_COMPOSITOR_API_H_ |