Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / native_client_sdk / doc_generated / pepper_stable / cpp / classpp_1_1_mouse_lock.html
1 {{+bindTo:partials.standard_nacl_article}}
2 <h1>pp::MouseLock Class 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
10 </div>
11 <!--header-->
12 <div class="contents">
13 <!-- doxytag: class="pp::MouseLock" -->
14 <p><a href="classpp_1_1_mouse_lock-members.html">List of all members.</a></p>
15 <h2>
16 Public Member Functions</h2><table class="memberdecls">
17
18 <tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f">MouseLock</a> (<a class="el" href="classpp_1_1_instance.html">Instance</a> *instance)</td></tr>
19 <tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#a2ac121eb177f22d69c46066d979e06a8">~MouseLock</a> ()</td></tr>
20 <tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#a325767b75e132ae0c1ca7d4776f5d05c">MouseLockLost</a> ()=0</td></tr>
21 <tr><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#ad17ce49daa092ec8ec6ca56aebf5b2cc">LockMouse</a> (const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &amp;cc)</td></tr>
22 <tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpp_1_1_mouse_lock.html#ad896ad4a23395cc6735930437bfb92e6">UnlockMouse</a> ()</td></tr>
23 </table>
24 <hr /><a name="details" id="details"></a><h2>Detailed Description</h2>
25 <div class="textblock"><p>This class allows you to associate the <code>PPP_MouseLock</code> and <code>PPB_MouseLock</code> C-based interfaces with an object. </p>
26 <p>It associates itself with the given instance, and registers as the global handler for handling the <code>PPP_MouseLock</code> interface that the browser calls.</p>
27 <p>You would typically use this class by inheritance on your instance or by composition.</p>
28 <p><b>Example (inheritance):</b> </p>
29 <div class="fragment"><pre class="fragment">   <span class="keyword">class </span>MyInstance : <span class="keyword">public</span> pp::Instance, <span class="keyword">public</span> pp::<a class="code" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f" title="A constructor for creating a MouseLock.">MouseLock</a> {
30      <span class="keyword">class </span>MyInstance() : pp::<a class="code" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f" title="A constructor for creating a MouseLock.">MouseLock</a>(this) {
31      }
32      ...
33    };
34 </pre></div><p><b>Example (composition):</b> </p>
35 <div class="fragment"><pre class="fragment">   <span class="keyword">class </span>MyMouseLock : <span class="keyword">public</span> pp::<a class="code" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f" title="A constructor for creating a MouseLock.">MouseLock</a> {
36      ...
37    };
38
39    <span class="keyword">class </span>MyInstance : <span class="keyword">public</span> pp::Instance {
40      MyInstance() : mouse_lock_(this) {
41      }
42
43      MyMouseLock mouse_lock_;
44    };
45 </pre></div> </div><hr /><h2>Constructor &amp; Destructor Documentation</h2>
46 <a class="anchor" id="a2c304f04bbcca852cfff575595de291f"></a><!-- doxytag: member="pp::MouseLock::MouseLock" ref="a2c304f04bbcca852cfff575595de291f" args="(Instance *instance)" -->
47 <div class="memitem">
48 <div class="memproto">
49 <table class="memname">
50 <tr>
51 <td class="memname"><a class="el" href="classpp_1_1_mouse_lock.html#a2c304f04bbcca852cfff575595de291f">pp::MouseLock::MouseLock</a> </td>
52 <td>(</td>
53 <td class="paramtype"><a class="el" href="classpp_1_1_instance.html">Instance</a> *&#160;</td>
54 <td class="paramname"><em>instance</em></td><td>)</td>
55 <td><code> [explicit]</code></td>
56 </tr>
57 </table>
58 </div>
59 <div class="memdoc">
60 <p>A constructor for creating a <code><a class="el" href="classpp_1_1_mouse_lock.html" title="This class allows you to associate the PPP_MouseLock and PPB_MouseLock C-based interfaces with an obj...">MouseLock</a></code>. </p>
61 <dl class="params"><dt><b>Parameters:</b></dt><dd>
62 <table class="params">
63 <tr><td class="paramdir">[in]</td><td class="paramname">instance</td><td>The instance with which this resource will be associated. </td></tr>
64 </table>
65 </dd>
66 </dl>
67 </div>
68 </div>
69 <a class="anchor" id="a2ac121eb177f22d69c46066d979e06a8"></a><!-- doxytag: member="pp::MouseLock::~MouseLock" ref="a2ac121eb177f22d69c46066d979e06a8" args="()" -->
70 <div class="memitem">
71 <div class="memproto">
72 <table class="memname">
73 <tr>
74 <td class="memname">virtual <a class="el" href="classpp_1_1_mouse_lock.html#a2ac121eb177f22d69c46066d979e06a8">pp::MouseLock::~MouseLock</a> </td>
75 <td>(</td>
76 <td class="paramname"></td><td>)</td>
77 <td><code> [virtual]</code></td>
78 </tr>
79 </table>
80 </div>
81 <div class="memdoc">
82 <p>Destructor. </p>
83 </div>
84 </div>
85 <hr /><h2>Member Function Documentation</h2>
86 <a class="anchor" id="ad17ce49daa092ec8ec6ca56aebf5b2cc"></a><!-- doxytag: member="pp::MouseLock::LockMouse" ref="ad17ce49daa092ec8ec6ca56aebf5b2cc" args="(const CompletionCallback &amp;cc)" -->
87 <div class="memitem">
88 <div class="memproto">
89 <table class="memname">
90 <tr>
91 <td class="memname">int32_t <a class="el" href="classpp_1_1_mouse_lock.html#ad17ce49daa092ec8ec6ca56aebf5b2cc">pp::MouseLock::LockMouse</a> </td>
92 <td>(</td>
93 <td class="paramtype">const <a class="el" href="classpp_1_1_completion_callback.html">CompletionCallback</a> &amp;&#160;</td>
94 <td class="paramname"><em>cc</em></td><td>)</td>
95 <td></td>
96 </tr>
97 </table>
98 </div>
99 <div class="memdoc">
100 <p><a class="el" href="classpp_1_1_mouse_lock.html#ad17ce49daa092ec8ec6ca56aebf5b2cc" title="LockMouse() requests the mouse to be locked.">LockMouse()</a> requests the mouse to be locked. </p>
101 <p>While the mouse is locked, the cursor is implicitly hidden from the user. Any movement of the mouse will generate a <code>PP_INPUTEVENT_TYPE_MOUSEMOVE</code> event. The <code>GetPosition()</code> function in <code>InputEvent()</code> reports the last known mouse position just as mouse lock was entered. The <code>GetMovement()</code> function provides relative movement information indicating what the change in position of the mouse would be had it not been locked.</p>
102 <p>The browser may revoke the mouse lock for reasons including (but not limited to) the user pressing the ESC key, the user activating another program using a reserved keystroke (e.g. ALT+TAB), or some other system event.</p>
103 <dl class="params"><dt><b>Parameters:</b></dt><dd>
104 <table class="params">
105 <tr><td class="paramdir">[in]</td><td class="paramname">cc</td><td>A <code><a class="el" href="classpp_1_1_completion_callback.html" title="This API enables you to implement and receive callbacks when Pepper operations complete asynchronousl...">CompletionCallback</a></code> to be called upon completion.</td></tr>
106 </table>
107 </dd>
108 </dl>
109 <dl class="return"><dt><b>Returns:</b></dt><dd>An int32_t containing an error code from <code>pp_errors.h</code>. </dd></dl>
110 </div>
111 </div>
112 <a class="anchor" id="a325767b75e132ae0c1ca7d4776f5d05c"></a><!-- doxytag: member="pp::MouseLock::MouseLockLost" ref="a325767b75e132ae0c1ca7d4776f5d05c" args="()=0" -->
113 <div class="memitem">
114 <div class="memproto">
115 <table class="memname">
116 <tr>
117 <td class="memname">virtual void <a class="el" href="classpp_1_1_mouse_lock.html#a325767b75e132ae0c1ca7d4776f5d05c">pp::MouseLock::MouseLockLost</a> </td>
118 <td>(</td>
119 <td class="paramname"></td><td>)</td>
120 <td><code> [pure virtual]</code></td>
121 </tr>
122 </table>
123 </div>
124 <div class="memdoc">
125 <p>PPP_MouseLock functions exposed as virtual functions for you to override. </p>
126 </div>
127 </div>
128 <a class="anchor" id="ad896ad4a23395cc6735930437bfb92e6"></a><!-- doxytag: member="pp::MouseLock::UnlockMouse" ref="ad896ad4a23395cc6735930437bfb92e6" args="()" -->
129 <div class="memitem">
130 <div class="memproto">
131 <table class="memname">
132 <tr>
133 <td class="memname">void <a class="el" href="classpp_1_1_mouse_lock.html#ad896ad4a23395cc6735930437bfb92e6">pp::MouseLock::UnlockMouse</a> </td>
134 <td>(</td>
135 <td class="paramname"></td><td>)</td>
136 <td></td>
137 </tr>
138 </table>
139 </div>
140 <div class="memdoc">
141 <p>UnlockMouse causes the mouse to be unlocked, allowing it to track user movement again. </p>
142 <p>This is an asynchronous operation. The module instance will be notified using the <code>PPP_MouseLock</code> interface when it has lost the mouse lock. </p>
143 </div>
144 </div>
145 <hr />The documentation for this class was generated from the following file:<ul>
146 <li><a class="el" href="mouse__lock_8h.html">mouse_lock.h</a></li>
147 </ul>
148 </div><!-- contents -->
149 </div>
150 {{/partials.standard_nacl_article}}