// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef PPAPI_CPP_PRIVATE_FLASH_H_ #define PPAPI_CPP_PRIVATE_FLASH_H_ #include #include #include "ppapi/c/private/ppb_flash.h" #include "ppapi/c/pp_stdint.h" #include "ppapi/c/pp_time.h" struct PP_Point; namespace pp { class BrowserFontDescription; class DeviceRef_Dev; class ImageData; class InstanceHandle; class Module; class Point; class Rect; class URLRequestInfo; class Var; class VideoCapture_Dev; namespace flash { class Flash { public: // Returns true if the required interface is available. static bool IsAvailable(); static void SetInstanceAlwaysOnTop(const InstanceHandle& instance, bool on_top); static bool DrawGlyphs(const InstanceHandle& instance, ImageData* image, const BrowserFontDescription& font_desc, uint32_t color, const Point& position, const Rect& clip, const float transformation[3][3], bool allow_subpixel_aa, uint32_t glyph_count, const uint16_t glyph_indices[], const PP_Point glyph_advances[]); static Var GetProxyForURL(const InstanceHandle& instance, const std::string& url); static int32_t Navigate(const URLRequestInfo& request_info, const std::string& target, bool from_user_action); static void RunMessageLoop(const InstanceHandle& instance); static void QuitMessageLoop(const InstanceHandle& instance); static double GetLocalTimeZoneOffset(const InstanceHandle& instance, PP_Time t); static Var GetCommandLineArgs(Module* module); static void PreloadFontWin(const void* logfontw); static bool IsRectTopmost(const InstanceHandle& instance, const Rect& rect); static void UpdateActivity(const InstanceHandle& instance); static Var GetDeviceID(const InstanceHandle& instance); static Var GetSetting(const InstanceHandle& instance, PP_FlashSetting setting); static bool SetCrashData(const InstanceHandle& instance, PP_FlashCrashKey key, const pp::Var& value); static int32_t EnumerateVideoCaptureDevices(const InstanceHandle& instance, const VideoCapture_Dev& video_capture, std::vector* devices_out); // PPB_Flash_Print. static bool InvokePrinting(const InstanceHandle& instance); }; } // namespace flash } // namespace pp #endif // PPAPI_CPP_PRIVATE_FLASH_H_