Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(287)

Side by Side Diff: ppapi/c/ppb_instance.h

Issue 4310002: Make PPAPI headers compile with C compilers (gcc on Linux & Mac and MSVS on W... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ppapi/c/ppb_image_data.h ('k') | ppapi/c/ppb_var.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #ifndef PPAPI_C_PPB_INSTANCE_H_ 5 #ifndef PPAPI_C_PPB_INSTANCE_H_
6 #define PPAPI_C_PPB_INSTANCE_H_ 6 #define PPAPI_C_PPB_INSTANCE_H_
7 7
8 #include "ppapi/c/pp_bool.h"
8 #include "ppapi/c/pp_instance.h" 9 #include "ppapi/c/pp_instance.h"
9 #include "ppapi/c/pp_resource.h" 10 #include "ppapi/c/pp_resource.h"
10 #include "ppapi/c/pp_var.h" 11 #include "ppapi/c/pp_var.h"
11 12
12 #define PPB_INSTANCE_INTERFACE "PPB_Instance;0.1" 13 #define PPB_INSTANCE_INTERFACE "PPB_Instance;0.2"
13 14
14 /** 15 /**
15 * @file 16 * @file
16 * Defines the API ... 17 * Defines the API ...
17 * 18 *
18 * @addtogroup PPB 19 * @addtogroup PPB
19 * @{ 20 * @{
20 */ 21 */
21 22
22 struct PPB_Instance { 23 struct PPB_Instance {
23 /** Returns a reference to the DOM window containing this instance. */ 24 /** Returns a reference to the DOM window containing this instance. */
24 struct PP_Var (*GetWindowObject)(PP_Instance instance); 25 struct PP_Var (*GetWindowObject)(PP_Instance instance);
25 26
26 /** Returns a reference to the DOM element containing this instance. */ 27 /** Returns a reference to the DOM element containing this instance. */
27 struct PP_Var (*GetOwnerElementObject)(PP_Instance instance); 28 struct PP_Var (*GetOwnerElementObject)(PP_Instance instance);
28 29
29 /** 30 /**
30 * Binds the given graphics device as the current drawing surface. The 31 * Binds the given graphics device as the current drawing surface. The
31 * contents of this device is what will be displayed in the plugin's area 32 * contents of this device is what will be displayed in the plugin's area
32 * on the web page. The device must be a 2D or a 3D device. 33 * on the web page. The device must be a 2D or a 3D device.
33 * 34 *
34 * You can pass a NULL resource as the device parameter to unbind all 35 * You can pass a NULL resource as the device parameter to unbind all
35 * devices from the given instance. The instance will then appear 36 * devices from the given instance. The instance will then appear
36 * transparent. Re-binding the same device will return true and will do 37 * transparent. Re-binding the same device will return PP_TRUE and will do
37 * nothing. Unbinding a device will drop any pending flush callbacks. 38 * nothing. Unbinding a device will drop any pending flush callbacks.
38 * 39 *
39 * Any previously-bound device will be Release()d. It is an error to bind 40 * Any previously-bound device will be Release()d. It is an error to bind
40 * a device when it is already bound to another plugin instance. If you want 41 * a device when it is already bound to another plugin instance. If you want
41 * to move a device between instances, first unbind it from the old one, and 42 * to move a device between instances, first unbind it from the old one, and
42 * then rebind it to the new one. 43 * then rebind it to the new one.
43 * 44 *
44 * Returns true if the bind was successful. False means the device was not 45 * Returns PP_TRUE if the bind was successful. False means the device was not
45 * the correct type. On success, a reference to the device will be held by 46 * the correct type. On success, a reference to the device will be held by
46 * the plugin instance, so the caller can release its reference if it 47 * the plugin instance, so the caller can release its reference if it
47 * chooses. 48 * chooses.
48 * 49 *
49 * Binding a device will invalidate that portion of the web page to flush the 50 * Binding a device will invalidate that portion of the web page to flush the
50 * contents of the new device to the screen. 51 * contents of the new device to the screen.
51 */ 52 */
52 bool (*BindGraphics)(PP_Instance instance, PP_Resource device); 53 PP_Bool (*BindGraphics)(PP_Instance instance, PP_Resource device);
53 54
54 /** 55 /**
55 * Returns true if the instance is full-frame. Such a plugin represents the 56 * Returns PP_TRUE if the instance is full-frame. Such a plugin represents
56 * entire document in a frame rather than an embedded resource. This can 57 * the entire document in a frame rather than an embedded resource. This can
57 * happen if the user does a top level navigation or the page specifies an 58 * happen if the user does a top level navigation or the page specifies an
58 * iframe to a resource with a MIME type registered by the plugin. 59 * iframe to a resource with a MIME type registered by the plugin.
59 */ 60 */
60 bool (*IsFullFrame)(PP_Instance instance); 61 PP_Bool (*IsFullFrame)(PP_Instance instance);
61 62
62 /** 63 /**
63 * Executes the given script in the context of the frame containing the 64 * Executes the given script in the context of the frame containing the
64 * plugin. 65 * plugin.
65 * 66 *
66 * The exception, if any, will be returned in *exception. As 67 * The exception, if any, will be returned in *exception. As
67 * with the PPB_Var interface, the exception parameter, 68 * with the PPB_Var interface, the exception parameter,
68 * if non-NULL, must be initialized 69 * if non-NULL, must be initialized
69 * to a void exception or the function will immediately return. On success, 70 * to a void exception or the function will immediately return. On success,
70 * the exception parameter will be set to a "void" var. On failure, the return 71 * the exception parameter will be set to a "void" var. On failure, the return
71 * value will be a "void" var. 72 * value will be a "void" var.
72 * 73 *
73 * @param script A string containing the JavaScript to execute. 74 * @param script A string containing the JavaScript to execute.
74 * @param exception Initialize this to NULL if you don't want exception info; 75 * @param exception Initialize this to NULL if you don't want exception info;
75 * initialize this to a void exception if you do. 76 * initialize this to a void exception if you do.
76 * See the function description for details. 77 * See the function description for details.
77 * 78 *
78 * @return The result of the script execution, 79 * @return The result of the script execution,
79 * or a "void" var if execution failed. 80 * or a "void" var if execution failed.
80 */ 81 */
81 PP_Var (*ExecuteScript)(PP_Instance instance, PP_Var script, 82 struct PP_Var (*ExecuteScript)(PP_Instance instance,
82 PP_Var* exception); 83 struct PP_Var script,
84 struct PP_Var* exception);
83 }; 85 };
84 86
85 /** 87 /**
86 * @} 88 * @}
87 * End addtogroup PPB 89 * End addtogroup PPB
88 */ 90 */
89 #endif // PPAPI_C_PPB_INSTANCE_H_ 91 #endif // PPAPI_C_PPB_INSTANCE_H_
OLDNEW
« no previous file with comments | « ppapi/c/ppb_image_data.h ('k') | ppapi/c/ppb_var.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698