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_ 50