• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 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_GRAPHICS_2D_API_H_
6 #define PPAPI_THUNK_PPB_GRAPHICS_2D_API_H_
7 
8 #include "base/memory/ref_counted.h"
9 #include "ppapi/c/pp_bool.h"
10 #include "ppapi/c/pp_completion_callback.h"
11 #include "ppapi/c/pp_point.h"
12 #include "ppapi/c/pp_rect.h"
13 #include "ppapi/c/pp_resource.h"
14 #include "ppapi/c/pp_size.h"
15 #include "ppapi/thunk/ppapi_thunk_export.h"
16 
17 namespace ppapi {
18 
19 class TrackedCallback;
20 
21 namespace thunk {
22 
23 class PPAPI_THUNK_EXPORT PPB_Graphics2D_API {
24  public:
~PPB_Graphics2D_API()25   virtual ~PPB_Graphics2D_API() {}
26 
27   virtual PP_Bool Describe(PP_Size* size, PP_Bool* is_always_opaque) = 0;
28   virtual void PaintImageData(PP_Resource image_data,
29                               const PP_Point* top_left,
30                               const PP_Rect* src_rect) = 0;
31   virtual void Scroll(const PP_Rect* clip_rect,
32                       const PP_Point* amount) = 0;
33   virtual void ReplaceContents(PP_Resource image_data) = 0;
34   virtual int32_t Flush(scoped_refptr<TrackedCallback> callback) = 0;
35   virtual PP_Bool SetScale(float scale) = 0;
36   virtual float GetScale() = 0;
37 
38   // Test only
39   virtual bool ReadImageData(PP_Resource image, const PP_Point* top_left) = 0;
40 };
41 
42 }  // namespace thunk
43 }  // namespace ppapi
44 
45 #endif  // PPAPI_THUNK_PPB_GRAPHICS_2D_API_H_
46