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 12namespace ppapi { 13namespace thunk { 14 15class 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