• 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_FLASH_FUNCTIONS_API_H_
6 #define PPAPI_THUNK_PPB_FLASH_FUNCTIONS_API_H_
7 
8 #include <string>
9 
10 #include "ppapi/c/private/ppb_flash.h"
11 #include "ppapi/shared_impl/singleton_resource_id.h"
12 #include "ppapi/thunk/ppapi_thunk_export.h"
13 
14 struct PP_BrowserFont_Trusted_Description;
15 
16 namespace ppapi {
17 namespace thunk {
18 
19 // This class collects all of the Flash interface-related APIs into one place.
20 class PPAPI_THUNK_EXPORT PPB_Flash_Functions_API {
21  public:
~PPB_Flash_Functions_API()22   virtual ~PPB_Flash_Functions_API() {}
23 
24   virtual PP_Var GetProxyForURL(PP_Instance instance,
25                                 const std::string& url) = 0;
26   virtual void UpdateActivity(PP_Instance instance) = 0;
27   virtual PP_Bool SetCrashData(PP_Instance instance, PP_FlashCrashKey key,
28                                PP_Var value) = 0;
29   virtual double GetLocalTimeZoneOffset(PP_Instance instance, PP_Time t) = 0;
30   virtual PP_Var GetSetting(PP_Instance instance, PP_FlashSetting setting) = 0;
31   virtual void SetInstanceAlwaysOnTop(PP_Instance instance, PP_Bool on_top) = 0;
32   virtual PP_Bool DrawGlyphs(
33       PP_Instance instance,
34       PP_Resource pp_image_data,
35       const PP_BrowserFont_Trusted_Description* font_desc,
36       uint32_t color,
37       const PP_Point* position,
38       const PP_Rect* clip,
39       const float transformation[3][3],
40       PP_Bool allow_subpixel_aa,
41       uint32_t glyph_count,
42       const uint16_t glyph_indices[],
43       const PP_Point glyph_advances[]) = 0;
44   virtual int32_t Navigate(PP_Instance instance,
45                            PP_Resource request_info,
46                            const char* target,
47                            PP_Bool from_user_action) = 0;
48   virtual PP_Bool IsRectTopmost(PP_Instance instance, const PP_Rect* rect) = 0;
49   virtual void InvokePrinting(PP_Instance instance) = 0;
50 
51   static const SingletonResourceID kSingletonResourceID = FLASH_SINGLETON_ID;
52 };
53 
54 }  // namespace thunk
55 }  // namespace ppapi
56 
57 #endif // PPAPI_THUNK_PPB_FLASH_FUNCTIONS_API_H_
58