- add sources.
[platform/framework/web/crosswalk.git] / src / ppapi / thunk / ppb_flash_functions_api.h
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:
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_