15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef PPAPI_THUNK_PPB_FLASH_FUNCTIONS_API_H_ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PPAPI_THUNK_PPB_FLASH_FUNCTIONS_API_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include <string> 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ppapi/c/private/ppb_flash.h" 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ppapi/shared_impl/singleton_resource_id.h" 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/thunk/ppapi_thunk_export.h" 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)struct PP_BrowserFont_Trusted_Description; 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace ppapi { 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace thunk { 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// This class collects all of the Flash interface-related APIs into one place. 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class PPAPI_THUNK_EXPORT PPB_Flash_Functions_API { 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual ~PPB_Flash_Functions_API() {} 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual PP_Var GetProxyForURL(PP_Instance instance, 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const std::string& url) = 0; 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void UpdateActivity(PP_Instance instance) = 0; 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual PP_Bool SetCrashData(PP_Instance instance, PP_FlashCrashKey key, 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PP_Var value) = 0; 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual double GetLocalTimeZoneOffset(PP_Instance instance, PP_Time t) = 0; 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual PP_Var GetSetting(PP_Instance instance, PP_FlashSetting setting) = 0; 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void SetInstanceAlwaysOnTop(PP_Instance instance, PP_Bool on_top) = 0; 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual PP_Bool DrawGlyphs( 332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PP_Instance instance, 342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PP_Resource pp_image_data, 352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const PP_BrowserFont_Trusted_Description* font_desc, 362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) uint32_t color, 372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const PP_Point* position, 382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const PP_Rect* clip, 392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const float transformation[3][3], 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PP_Bool allow_subpixel_aa, 412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) uint32_t glyph_count, 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const uint16_t glyph_indices[], 432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const PP_Point glyph_advances[]) = 0; 442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual int32_t Navigate(PP_Instance instance, 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PP_Resource request_info, 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const char* target, 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PP_Bool from_user_action) = 0; 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual PP_Bool IsRectTopmost(PP_Instance instance, const PP_Rect* rect) = 0; 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) virtual void InvokePrinting(PP_Instance instance) = 0; 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) static const SingletonResourceID kSingletonResourceID = FLASH_SINGLETON_ID; 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace thunk 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace ppapi 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // PPAPI_THUNK_PPB_FLASH_FUNCTIONS_API_H_ 58