Home | History | Annotate | Download | only in thunk
      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