OLD | NEW |
1 /* Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 /* Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 * Use of this source code is governed by a BSD-style license that can be | 2 * Use of this source code is governed by a BSD-style license that can be |
3 * found in the LICENSE file. | 3 * found in the LICENSE file. |
4 */ | 4 */ |
5 | 5 |
6 /* From dev/ppb_fullscreen_dev.idl modified Fri Aug 26 10:51:16 2011. */ | 6 /* From dev/ppb_fullscreen_dev.idl modified Mon Sep 26 15:06:40 2011. */ |
7 | 7 |
8 #ifndef PPAPI_C_DEV_PPB_FULLSCREEN_DEV_H_ | 8 #ifndef PPAPI_C_DEV_PPB_FULLSCREEN_DEV_H_ |
9 #define PPAPI_C_DEV_PPB_FULLSCREEN_DEV_H_ | 9 #define PPAPI_C_DEV_PPB_FULLSCREEN_DEV_H_ |
10 | 10 |
11 #include "ppapi/c/pp_bool.h" | 11 #include "ppapi/c/pp_bool.h" |
12 #include "ppapi/c/pp_instance.h" | 12 #include "ppapi/c/pp_instance.h" |
13 #include "ppapi/c/pp_macros.h" | 13 #include "ppapi/c/pp_macros.h" |
14 #include "ppapi/c/pp_size.h" | 14 #include "ppapi/c/pp_size.h" |
15 #include "ppapi/c/pp_stdint.h" | 15 #include "ppapi/c/pp_stdint.h" |
16 | 16 |
17 #define PPB_FULLSCREEN_DEV_INTERFACE_0_4 "PPB_Fullscreen(Dev);0.4" | 17 #define PPB_FULLSCREEN_DEV_INTERFACE_0_5 "PPB_Fullscreen(Dev);0.5" |
18 #define PPB_FULLSCREEN_DEV_INTERFACE PPB_FULLSCREEN_DEV_INTERFACE_0_4 | 18 #define PPB_FULLSCREEN_DEV_INTERFACE PPB_FULLSCREEN_DEV_INTERFACE_0_5 |
19 | 19 |
20 /** | 20 /** |
21 * @file | 21 * @file |
22 * This file defines the <code>PPB_Fullscreen</code> interface. | 22 * This file defines the <code>PPB_Fullscreen_Dev</code> interface. |
23 */ | 23 */ |
24 | 24 |
25 | 25 |
26 /** | 26 /** |
27 * @addtogroup Interfaces | 27 * @addtogroup Interfaces |
28 * @{ | 28 * @{ |
29 */ | 29 */ |
30 struct PPB_Fullscreen_Dev { | 30 struct PPB_Fullscreen_Dev { |
31 /** | 31 /** |
32 * Checks whether the plugin instance is currently in fullscreen mode. | 32 * Checks whether the plugin instance is currently in fullscreen mode. |
33 */ | 33 */ |
34 PP_Bool (*IsFullscreen)(PP_Instance instance); | 34 PP_Bool (*IsFullscreen)(PP_Instance instance); |
35 /** | 35 /** |
36 * Switches the plugin instance to/from fullscreen mode. Returns PP_TRUE on | 36 * Switches the plugin instance to/from fullscreen mode. Returns PP_TRUE on |
37 * success, PP_FALSE on failure. | 37 * success, PP_FALSE on failure. |
38 * | 38 * |
39 * This unbinds the current Graphics2D or Surface3D. Pending flushes and | 39 * This unbinds the current 2D or 3D devices. Pending flushes and swapbuffers |
40 * swapbuffers will execute as if the resource was off-screen. The transition | 40 * will execute as if the resource was off-screen. The transition to and from |
41 * is asynchronous. During the transition, IsFullscreen will return PP_False, | 41 * fullscreen is asynchronous. During the transition, IsFullscreen will |
42 * and no Graphics2D or Surface3D can be bound. The transition ends at the | 42 * return the original value, and no 2D or 3D device can be bound. |
43 * next DidChangeView. | 43 * The transition ends at the next DidChangeView. |
44 * | 44 * |
45 * Note: when switching to and from fullscreen, Context3D and Surface3D | 45 * The transition to fullscreen can only occur while the browser is |
46 * resources need to be re-created. This is a current limitation that will be | 46 * processing a user gesture, even if PP_TRUE is returned. Note that two |
47 * lifted in a later revision. | 47 * DidChangeView calls will happen when switching to fullscreen: |
| 48 * one for moving the plugin to the middle of the window and one for |
| 49 * stretching the window placing the plugin in the middle of the screen. |
| 50 * Plugin size will not be affected. |
48 */ | 51 */ |
49 PP_Bool (*SetFullscreen)(PP_Instance instance, PP_Bool fullscreen); | 52 PP_Bool (*SetFullscreen)(PP_Instance instance, PP_Bool fullscreen); |
50 /** | 53 /** |
51 * Gets the size of the screen. When going fullscreen, the instance will be | 54 * Gets the size of the screen in pixels. When going fullscreen, the instance |
52 * resized to that size. | 55 * will be resized to that size. |
53 */ | 56 */ |
54 PP_Bool (*GetScreenSize)(PP_Instance instance, struct PP_Size* size); | 57 PP_Bool (*GetScreenSize)(PP_Instance instance, struct PP_Size* size); |
55 }; | 58 }; |
56 /** | 59 /** |
57 * @} | 60 * @} |
58 */ | 61 */ |
59 | 62 |
60 #endif /* PPAPI_C_DEV_PPB_FULLSCREEN_DEV_H_ */ | 63 #endif /* PPAPI_C_DEV_PPB_FULLSCREEN_DEV_H_ */ |
61 | 64 |
OLD | NEW |