Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / native_client_sdk / doc_generated / pepper_beta / c / struct_p_p_b___compositor__0__1.html
1 {{+bindTo:partials.standard_nacl_api}}
2 <h1>PPB_Compositor Struct Reference</h1>
3 <div id="doxygen-ref">
4 {{- dummy div to appease doxygen -}}
5   <div>
6 <!-- Generated by Doxygen 1.7.6.1 -->
7
8
9 </div>
10 <!--header-->
11 <div class="contents">
12 <!-- doxytag: class="PPB_Compositor" --><h2>
13 Data Fields</h2><table class="memberdecls">
14
15 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___compositor__0__1.html#a22fb77daabd3894db97ab1111d111a92">IsCompositor</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td></tr>
16 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___compositor__0__1.html#a3b479b946dcec4b3315c5f3cdccba5ce">Create</a> )(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td></tr>
17 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___compositor__0__1.html#a54fc4ef7119d18446a836aef08384da6">AddLayer</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> compositor)</td></tr>
18 <tr><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___compositor__0__1.html#a5082b0dce4a58032439bc3dd4ff741fd">CommitLayers</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> compositor, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> cc)</td></tr>
19 <tr><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_p_p_b___compositor__0__1.html#a9a0e4e7aed4b13dbea426a75a8311172">ResetLayers</a> )(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> compositor)</td></tr>
20 </table>
21 <hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
22 <div class="textblock"><p>Defines the <code>PPB_Compositor</code> interface. </p>
23 <p>Used for setting <code>PPB_CompositorLayer</code> layers to the Chromium compositor for compositing. This allows a plugin to combine different sources of visual data efficiently, such as <code>PPB_ImageData</code> images and OpenGL textures. See also <code>PPB_CompositorLayer</code> for more information. This interface is still in development (Dev API status) and may change, so is only supported on Dev channel and Canary currently.</p>
24 <p><b>Example usage from plugin code:</b></p>
25 <p><b>Setup:</b> </p>
26 <div class="fragment"><pre class="fragment"> <a class="code" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7" title="This typedef represents an opaque handle assigned by the browser to the resource.">PP_Resource</a> compositor;
27  compositor = compositor_if-&gt;Create(instance);
28  instance_if-&gt;BindGraphics(instance, compositor);
29 </pre></div><p><b>Setup layer stack:</b> </p>
30 <div class="fragment"><pre class="fragment"> <a class="code" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7" title="This typedef represents an opaque handle assigned by the browser to the resource.">PP_Resource</a> color_layer = compositor_if-&gt;AddLayer(compositor);
31  <a class="code" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7" title="This typedef represents an opaque handle assigned by the browser to the resource.">PP_Resource</a> texture_layer = compositor_if-&gt;AddLayer(compositor);
32 </pre></div><p><b> Present one frame:</b> layer_if-&gt;SetColor(color_layer, 255, 255, 0, 255, PP_MakeSize(400, 400)); <a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> release_callback = { TextureReleasedCallback, 0, PP_COMPLETIONCALLBACK_FLAG_NONE, }; layer_if-&gt;SetTexture(texture_layer, graphics3d, texture_id, PP_MakeSize(300, 300), release_callback);</p>
33 <p><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a> callback = { DidFinishCommitLayersCallback, (void*) texture_id, PP_COMPLETIONCALLBACK_FLAG_NONE, }; compositor_if-&gt;CommitLayers(compositor, callback); </p>
34 <p><b>release callback</b> void ReleaseCallback(int32_t result, void* user_data) { if (result == PP_OK) { uint32_t texture_id = (uint32_t) user_data; // reuse the texture or delete it. } }</p>
35 <p><b>Shutdown:</b> </p>
36 <div class="fragment"><pre class="fragment"> core-&gt;ReleaseResource(color_layer);
37  core-&gt;ReleaseResource(texture_layer);
38  core-&gt;ReleaseResource(compositor);
39 </pre></div> </div><hr /><h2>Field Documentation</h2>
40 <a class="anchor" id="a54fc4ef7119d18446a836aef08384da6"></a><!-- doxytag: member="PPB_Compositor::AddLayer" ref="a54fc4ef7119d18446a836aef08384da6" args=")(PP_Resource compositor)" -->
41 <div class="memitem">
42 <div class="memproto">
43 <table class="memname">
44 <tr>
45 <td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___compositor__0__1.html#a54fc4ef7119d18446a836aef08384da6">PPB_Compositor::AddLayer</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> compositor)</td>
46 </tr>
47 </table>
48 </div>
49 <div class="memdoc">
50 <p>Creates a new <code>PPB_CompositorLayer</code> and adds it to the end of the layer stack. </p>
51 <p>A <code>PP_Resource</code> containing the layer is returned. It is uninitialized, <code>SetColor()</code>, <code>SetTexture</code> or <code>SetImage</code> should be used to initialize it. The layer will appear above other pre-existing layers. If <code>ResetLayers</code> is called or the <code>PPB_Compositor</code> is released, the returned layer will be invalidated, and any further calls on the layer will return <code>PP_ERROR_BADRESOURCE</code>.</p>
52 <p>param[in] compositor A <code>PP_Resource</code> corresponding to a compositor layer resource.</p>
53 <dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the compositor layer resource if sucessful or 0 otherwise. </dd></dl>
54 </div>
55 </div>
56 <a class="anchor" id="a5082b0dce4a58032439bc3dd4ff741fd"></a><!-- doxytag: member="PPB_Compositor::CommitLayers" ref="a5082b0dce4a58032439bc3dd4ff741fd" args=")(PP_Resource compositor, struct PP_CompletionCallback cc)" -->
57 <div class="memitem">
58 <div class="memproto">
59 <table class="memname">
60 <tr>
61 <td class="memname">int32_t(* <a class="el" href="struct_p_p_b___compositor__0__1.html#a5082b0dce4a58032439bc3dd4ff741fd">PPB_Compositor::CommitLayers</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> compositor, struct <a class="el" href="struct_p_p___completion_callback.html">PP_CompletionCallback</a> cc)</td>
62 </tr>
63 </table>
64 </div>
65 <div class="memdoc">
66 <p>Commits layers added by <code><a class="el" href="struct_p_p_b___compositor__0__1.html#a54fc4ef7119d18446a836aef08384da6" title="Creates a new PPB_CompositorLayer and adds it to the end of the layer stack.">AddLayer()</a></code> to the chromium compositor. </p>
67 <p>param[in] compositor A <code>PP_Resource</code> corresponding to a compositor layer resource. </p>
68 <dl class="params"><dt><b>Parameters:</b></dt><dd>
69 <table class="params">
70 <tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="struct_p_p___completion_callback.html" title="PP_CompletionCallback is a common mechanism for supporting potentially asynchronous calls in browser ...">PP_CompletionCallback</a></code> to be called when layers have been represented on screen.</td></tr>
71 </table>
72 </dd>
73 </dl>
74 <dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a result code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
75 </div>
76 </div>
77 <a class="anchor" id="a3b479b946dcec4b3315c5f3cdccba5ce"></a><!-- doxytag: member="PPB_Compositor::Create" ref="a3b479b946dcec4b3315c5f3cdccba5ce" args=")(PP_Instance instance)" -->
78 <div class="memitem">
79 <div class="memproto">
80 <table class="memname">
81 <tr>
82 <td class="memname"><a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a>(* <a class="el" href="struct_p_p_b___compositor__0__1.html#a3b479b946dcec4b3315c5f3cdccba5ce">PPB_Compositor::Create</a>)(<a class="el" href="group___typedefs.html#ga89b662403e6a687bb914b80114c0d19d">PP_Instance</a> instance)</td>
83 </tr>
84 </table>
85 </div>
86 <div class="memdoc">
87 <p>Creates a Compositor resource. </p>
88 <dl class="params"><dt><b>Parameters:</b></dt><dd>
89 <table class="params">
90 <tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>A <code>PP_Instance</code> identifying one instance of a module.</td></tr>
91 </table>
92 </dd>
93 </dl>
94 <dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Resource</code> containing the compositor resource if sucessful or 0 otherwise. </dd></dl>
95 </div>
96 </div>
97 <a class="anchor" id="a22fb77daabd3894db97ab1111d111a92"></a><!-- doxytag: member="PPB_Compositor::IsCompositor" ref="a22fb77daabd3894db97ab1111d111a92" args=")(PP_Resource resource)" -->
98 <div class="memitem">
99 <div class="memproto">
100 <table class="memname">
101 <tr>
102 <td class="memname"><a class="el" href="group___enums.html#ga4f272d99be14aacafe08dfd4ef830918">PP_Bool</a>(* <a class="el" href="struct_p_p_b___compositor__0__1.html#a22fb77daabd3894db97ab1111d111a92">PPB_Compositor::IsCompositor</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> resource)</td>
103 </tr>
104 </table>
105 </div>
106 <div class="memdoc">
107 <p>Determines if a resource is a compositor resource. </p>
108 <dl class="params"><dt><b>Parameters:</b></dt><dd>
109 <table class="params">
110 <tr><td class="paramdir">[in]</td><td class="paramname">resource</td><td>The <code>PP_Resource</code> to test.</td></tr>
111 </table>
112 </dd>
113 </dl>
114 <dl class="return"><dt><b>Returns:</b></dt><dd>A <code>PP_Bool</code> with <code>PP_TRUE</code> if the given resource is a compositor resource or <code>PP_FALSE</code> otherwise. </dd></dl>
115 </div>
116 </div>
117 <a class="anchor" id="a9a0e4e7aed4b13dbea426a75a8311172"></a><!-- doxytag: member="PPB_Compositor::ResetLayers" ref="a9a0e4e7aed4b13dbea426a75a8311172" args=")(PP_Resource compositor)" -->
118 <div class="memitem">
119 <div class="memproto">
120 <table class="memname">
121 <tr>
122 <td class="memname">int32_t(* <a class="el" href="struct_p_p_b___compositor__0__1.html#a9a0e4e7aed4b13dbea426a75a8311172">PPB_Compositor::ResetLayers</a>)(<a class="el" href="group___typedefs.html#gafdc3895ee80f4750d0d95ae1b677e9b7">PP_Resource</a> compositor)</td>
123 </tr>
124 </table>
125 </div>
126 <div class="memdoc">
127 <p>Resets layers added by <code><a class="el" href="struct_p_p_b___compositor__0__1.html#a54fc4ef7119d18446a836aef08384da6" title="Creates a new PPB_CompositorLayer and adds it to the end of the layer stack.">AddLayer()</a></code>. </p>
128 <p>param[in] compositor A <code>PP_Resource</code> corresponding to a compositor layer resource.</p>
129 <dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing a result code from <code><a class="el" href="pp__errors_8h.html" title="This file defines an enumeration of all PPAPI error codes.">pp_errors.h</a></code>. </dd></dl>
130 </div>
131 </div>
132 <hr />The documentation for this struct was generated from the following file:<ul>
133 <li><a class="el" href="ppb__compositor_8h.html">ppb_compositor.h</a></li>
134 </ul>
135 </div><!-- contents -->
136 </div>
137 {{/partials.standard_nacl_api}}