• 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_CPP_PRIVATE_FLASH_H_
6 #define PPAPI_CPP_PRIVATE_FLASH_H_
7 
8 #include <string>
9 #include <vector>
10 
11 #include "ppapi/c/private/ppb_flash.h"
12 #include "ppapi/c/pp_stdint.h"
13 #include "ppapi/c/pp_time.h"
14 
15 struct PP_Point;
16 
17 namespace pp {
18 
19 class BrowserFontDescription;
20 class DeviceRef_Dev;
21 class ImageData;
22 class InstanceHandle;
23 class Module;
24 class Point;
25 class Rect;
26 class URLRequestInfo;
27 class Var;
28 class VideoCapture_Dev;
29 
30 namespace flash {
31 
32 class Flash {
33  public:
34   // Returns true if the required interface is available.
35   static bool IsAvailable();
36 
37   static void SetInstanceAlwaysOnTop(const InstanceHandle& instance,
38                                      bool on_top);
39   static bool DrawGlyphs(const InstanceHandle& instance,
40                          ImageData* image,
41                          const BrowserFontDescription& font_desc,
42                          uint32_t color,
43                          const Point& position,
44                          const Rect& clip,
45                          const float transformation[3][3],
46                          bool allow_subpixel_aa,
47                          uint32_t glyph_count,
48                          const uint16_t glyph_indices[],
49                          const PP_Point glyph_advances[]);
50   static Var GetProxyForURL(const InstanceHandle& instance,
51                             const std::string& url);
52   static int32_t Navigate(const URLRequestInfo& request_info,
53                           const std::string& target,
54                           bool from_user_action);
55   static void RunMessageLoop(const InstanceHandle& instance);
56   static void QuitMessageLoop(const InstanceHandle& instance);
57   static double GetLocalTimeZoneOffset(const InstanceHandle& instance,
58                                        PP_Time t);
59   static Var GetCommandLineArgs(Module* module);
60   static void PreloadFontWin(const void* logfontw);
61   static bool IsRectTopmost(const InstanceHandle& instance, const Rect& rect);
62   static void UpdateActivity(const InstanceHandle& instance);
63   static Var GetDeviceID(const InstanceHandle& instance);
64   static Var GetSetting(const InstanceHandle& instance,
65                         PP_FlashSetting setting);
66   static bool SetCrashData(const InstanceHandle& instance,
67                            PP_FlashCrashKey key,
68                            const pp::Var& value);
69   static int32_t EnumerateVideoCaptureDevices(const InstanceHandle& instance,
70       const VideoCapture_Dev& video_capture,
71       std::vector<DeviceRef_Dev>* devices_out);
72 
73   // PPB_Flash_Print.
74   static bool InvokePrinting(const InstanceHandle& instance);
75 };
76 
77 }  // namespace flash
78 }  // namespace pp
79 
80 #endif  // PPAPI_CPP_PRIVATE_FLASH_H_
81