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.
5 #ifndef PPAPI_THUNK_PPB_FLASH_FUNCTIONS_API_H_
6 #define PPAPI_THUNK_PPB_FLASH_FUNCTIONS_API_H_
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"
14 struct PP_BrowserFont_Trusted_Description
;
19 // This class collects all of the Flash interface-related APIs into one place.
20 class PPAPI_THUNK_EXPORT PPB_Flash_Functions_API
{
22 virtual ~PPB_Flash_Functions_API() {}
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
,
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(
34 PP_Resource pp_image_data
,
35 const PP_BrowserFont_Trusted_Description
* font_desc
,
37 const PP_Point
* position
,
39 const float transformation
[3][3],
40 PP_Bool allow_subpixel_aa
,
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
,
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;
51 static const SingletonResourceID kSingletonResourceID
= FLASH_SINGLETON_ID
;
57 #endif // PPAPI_THUNK_PPB_FLASH_FUNCTIONS_API_H_