blob: d0b2178e389fee3ce6160e1e11717d672173b62a [file] [log] [blame]
page.title=Native Activity
page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
@jd:body
<!-- Generated by Doxygen 1.8.6 -->
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#files">Files</a> &#124;
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">Native Activity</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:native__activity_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="native__activity_8h.html">native_activity.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:native__window_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="native__window_8h.html">native_window.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:native__window__jni_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="native__window__jni_8h.html">native_window_jni.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:rect_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rect_8h.html">rect.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:window_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="window_8h.html">window.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_a_rect.html">ARect</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga8abd07923f37feb1ce724d139cc2609d"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_native_activity.html">ANativeActivity</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga8abd07923f37feb1ce724d139cc2609d">ANativeActivity</a></td></tr>
<tr class="separator:ga8abd07923f37feb1ce724d139cc2609d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga28dca784e5ee939427135c72c0151c38"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
<a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga28dca784e5ee939427135c72c0151c38">ANativeActivityCallbacks</a></td></tr>
<tr class="separator:ga28dca784e5ee939427135c72c0151c38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga569a53bcac3fcedb0189b7c412ebcb22"><td class="memItemLeft" align="right" valign="top">typedef void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga569a53bcac3fcedb0189b7c412ebcb22">ANativeActivity_createFunc</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, void *savedState, size_t savedStateSize)</td></tr>
<tr class="separator:ga569a53bcac3fcedb0189b7c412ebcb22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga66956d540c2e3709e12156d195e64726"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a></td></tr>
<tr class="separator:ga66956d540c2e3709e12156d195e64726"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad0983ca473ce36293baf5e51a14c3357"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gad0983ca473ce36293baf5e51a14c3357">ANativeWindow_Buffer</a></td></tr>
<tr class="separator:gad0983ca473ce36293baf5e51a14c3357"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa984a498f0e146ac57c6022a323423cf"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="struct_a_rect.html">ARect</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaa984a498f0e146ac57c6022a323423cf">ARect</a></td></tr>
<tr class="separator:gaa984a498f0e146ac57c6022a323423cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga39fca1837c5ce7715cbf571669660c13"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a9b7250ac0e5a626a81b176462a9df7c9">ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT</a> = 0x0001,
<a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a324062ac78fab16b40e8de1b1ae173b5">ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED</a> = 0x0002
}</td></tr>
<tr class="separator:ga39fca1837c5ce7715cbf571669660c13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf8fd5f0e57d456151c951e0f3715fc4"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___native_activity.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a642e76508cc737bbc1df149756c2a807">ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY</a> = 0x0001,
<a class="el" href="group___native_activity.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a0f4cbb55fa4c29b963b7b37d13352e6f">ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS</a> = 0x0002
}</td></tr>
<tr class="separator:gaaf8fd5f0e57d456151c951e0f3715fc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga94798fdadfbf49a7c658ace669a1d310"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310a6a165383340acce0b32c555dd2ac2c01">WINDOW_FORMAT_RGBA_8888</a> = 1,
<a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310a5f83a97ccf64fc1554c220476e8aaf30">WINDOW_FORMAT_RGBX_8888</a> = 2,
<a class="el" href="group___native_activity.html#gga94798fdadfbf49a7c658ace669a1d310ab26fa9c38f169263b611a8b757bb0259">WINDOW_FORMAT_RGB_565</a> = 4
}</td></tr>
<tr class="separator:ga94798fdadfbf49a7c658ace669a1d310"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf715e26dfffd1f8de1c18449e2770cff"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa67363c129036872bc9dd29557e807508">AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON</a> = 0x00000001,
<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6155e77ae4e12cc56fb3f6f55f56bf6f">AWINDOW_FLAG_DIM_BEHIND</a> = 0x00000002,
<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa0377f46a626d411ace179c1c27d0a3f7">AWINDOW_FLAG_BLUR_BEHIND</a> = 0x00000004,
<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f">AWINDOW_FLAG_NOT_FOCUSABLE</a> = 0x00000008,
<br/>
&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae9f1278ffa6fe9c12c2305d4f4de1450">AWINDOW_FLAG_NOT_TOUCHABLE</a> = 0x00000010,
<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5ef903c3617dd33e3c22f567abd64b09">AWINDOW_FLAG_NOT_TOUCH_MODAL</a> = 0x00000020,
<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5574a513645e6e7cb4d6a9f4a043d773">AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING</a> = 0x00000040,
<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaf6f66a498bd3bda8d51b6983eb2a99d8">AWINDOW_FLAG_KEEP_SCREEN_ON</a> = 0x00000080,
<br/>
&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6978968d7e0dc1a0e12f58ad395a959a">AWINDOW_FLAG_LAYOUT_IN_SCREEN</a> = 0x00000100,
<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffade9722581a203ee0db25d42f4d2bd389">AWINDOW_FLAG_LAYOUT_NO_LIMITS</a> = 0x00000200,
<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaca1f1d91313d7c32bb7982d8a5abcd71">AWINDOW_FLAG_FULLSCREEN</a> = 0x00000400,
<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa4c21235db629d3937f87ffe98cd6fe5d">AWINDOW_FLAG_FORCE_NOT_FULLSCREEN</a> = 0x00000800,
<br/>
&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffae73488b436aaea163ba2f7051bf93d9d">AWINDOW_FLAG_DITHER</a> = 0x00001000,
<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa8ff70709a588a05781d7cb178b526cc0">AWINDOW_FLAG_SECURE</a> = 0x00002000,
<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa80316264eeae9681a56c1a2297bf465a">AWINDOW_FLAG_SCALED</a> = 0x00004000,
<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaa2fe4ee2307bb814a37a043de6d7d326">AWINDOW_FLAG_IGNORE_CHEEK_PRESSES</a> = 0x00008000,
<br/>
&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa97b8542941bfe613bcf92357be89b563">AWINDOW_FLAG_LAYOUT_INSET_DECOR</a> = 0x00010000,
<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa961ff4c9c0903cfb8867d961bebe1659">AWINDOW_FLAG_ALT_FOCUSABLE_IM</a> = 0x00020000,
<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa35229f75b3309bafdd828cbbf27d05b6">AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH</a> = 0x00040000,
<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b">AWINDOW_FLAG_SHOW_WHEN_LOCKED</a> = 0x00080000,
<br/>
&#160;&#160;<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa952ae6ceebe94d3f0d666454548b8824">AWINDOW_FLAG_SHOW_WALLPAPER</a> = 0x00100000,
<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffac4deee26ac742bbd0bb4c44fda140a01">AWINDOW_FLAG_TURN_SCREEN_ON</a> = 0x00200000,
<a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa37c1077a12f1c8c6805b1da6f7bb213a">AWINDOW_FLAG_DISMISS_KEYGUARD</a> = 0x00400000
<br/>
}</td></tr>
<tr class="separator:gaf715e26dfffd1f8de1c18449e2770cff"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga4d872ae54a239704c06a0517e23cc0ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga4d872ae54a239704c06a0517e23cc0ad">ANativeActivity_finish</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity)</td></tr>
<tr class="separator:ga4d872ae54a239704c06a0517e23cc0ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec8b12decdf2b9841344e75c4c038c5a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaec8b12decdf2b9841344e75c4c038c5a">ANativeActivity_setWindowFormat</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, int32_t format)</td></tr>
<tr class="separator:gaec8b12decdf2b9841344e75c4c038c5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa1d091ca4a99b0ce570bab1c8c06f297"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaa1d091ca4a99b0ce570bab1c8c06f297">ANativeActivity_setWindowFlags</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, uint32_t addFlags, uint32_t removeFlags)</td></tr>
<tr class="separator:gaa1d091ca4a99b0ce570bab1c8c06f297"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga14eaeb6190f266369023b04d8ab9dba7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga14eaeb6190f266369023b04d8ab9dba7">ANativeActivity_showSoftInput</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, uint32_t flags)</td></tr>
<tr class="separator:ga14eaeb6190f266369023b04d8ab9dba7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf673d6efea7ce517ef46ff2551b25944"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gaf673d6efea7ce517ef46ff2551b25944">ANativeActivity_hideSoftInput</a> (<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, uint32_t flags)</td></tr>
<tr class="separator:gaf673d6efea7ce517ef46ff2551b25944"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga533876b57909243b238927344a6592db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga533876b57909243b238927344a6592db">ANativeWindow_acquire</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
<tr class="separator:ga533876b57909243b238927344a6592db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae944e98865b902bd924663785d7b0258"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#gae944e98865b902bd924663785d7b0258">ANativeWindow_release</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
<tr class="separator:gae944e98865b902bd924663785d7b0258"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga186f0040c5cb405a63d93889bb9a4ff1"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga186f0040c5cb405a63d93889bb9a4ff1">ANativeWindow_getWidth</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
<tr class="separator:ga186f0040c5cb405a63d93889bb9a4ff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga463ba99f6dee3edc1167a54e1ff7de15"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga463ba99f6dee3edc1167a54e1ff7de15">ANativeWindow_getHeight</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
<tr class="separator:ga463ba99f6dee3edc1167a54e1ff7de15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e3a492a8300146b30d864f0ab22bb2e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga9e3a492a8300146b30d864f0ab22bb2e">ANativeWindow_getFormat</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
<tr class="separator:ga9e3a492a8300146b30d864f0ab22bb2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b0652533998d61e1a3b542485889113"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga7b0652533998d61e1a3b542485889113">ANativeWindow_setBuffersGeometry</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window, int32_t width, int32_t height, int32_t format)</td></tr>
<tr class="separator:ga7b0652533998d61e1a3b542485889113"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0b0e3b7d442dee83e1a1b42e5b0caee6"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">ANativeWindow_lock</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window, <a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a> *outBuffer, <a class="el" href="struct_a_rect.html">ARect</a> *inOutDirtyBounds)</td></tr>
<tr class="separator:ga0b0e3b7d442dee83e1a1b42e5b0caee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4dc9b687ead9034fbc11bf2d90f203f9"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga4dc9b687ead9034fbc11bf2d90f203f9">ANativeWindow_unlockAndPost</a> (<a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *window)</td></tr>
<tr class="separator:ga4dc9b687ead9034fbc11bf2d90f203f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga774d0a87ec496b3940fcddccbc31fd9d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga774d0a87ec496b3940fcddccbc31fd9d">ANativeWindow_fromSurface</a> (JNIEnv *env, jobject surface)</td></tr>
<tr class="separator:ga774d0a87ec496b3940fcddccbc31fd9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga02791d0d490839055169f39fdc905c5e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___native_activity.html#ga569a53bcac3fcedb0189b7c412ebcb22">ANativeActivity_createFunc</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___native_activity.html#ga02791d0d490839055169f39fdc905c5e">ANativeActivity_onCreate</a></td></tr>
<tr class="separator:ga02791d0d490839055169f39fdc905c5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga8abd07923f37feb1ce724d139cc2609d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="struct_a_native_activity.html">ANativeActivity</a> <a class="el" href="struct_a_native_activity.html">ANativeActivity</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>This structure defines the native side of an android.app.NativeActivity. It is created by the framework, and handed to the application's native code as it is being launched. </p>
</div>
</div>
<a class="anchor" id="ga569a53bcac3fcedb0189b7c412ebcb22"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void ANativeActivity_createFunc(<a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *activity, void *savedState, size_t savedStateSize)</td>
</tr>
</table>
</div><div class="memdoc">
<p>This is the function that must be in the native code to instantiate the application's native activity. It is called with the activity instance (see above); if the code is being instantiated from a previously saved instance, the savedState will be non-NULL and point to the saved data. You must make any copy of this data you need &ndash; it will be released after you return from this function. </p>
</div>
</div>
<a class="anchor" id="ga28dca784e5ee939427135c72c0151c38"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a> <a class="el" href="struct_a_native_activity_callbacks.html">ANativeActivityCallbacks</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>These are the callbacks the framework makes into a native application. All of these callbacks happen on the main thread of the application. By default, all callbacks are NULL; set to a pointer to your own function to have it called. </p>
</div>
</div>
<a class="anchor" id="ga66956d540c2e3709e12156d195e64726"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> <a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a></td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> is opaque type that provides access to a native window.</p>
<p>A pointer can be obtained using <a class="el" href="group___native_activity.html#ga774d0a87ec496b3940fcddccbc31fd9d">ANativeWindow_fromSurface()</a>. </p>
</div>
</div>
<a class="anchor" id="gad0983ca473ce36293baf5e51a14c3357"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a> <a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a></td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> is a struct that represents a windows buffer.</p>
<p>A pointer can be obtained using <a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">ANativeWindow_lock()</a>. </p>
</div>
</div>
<a class="anchor" id="gaa984a498f0e146ac57c6022a323423cf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="struct_a_rect.html">ARect</a> <a class="el" href="struct_a_rect.html">ARect</a></td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="struct_a_rect.html">ARect</a> is a struct that represents a rectangular window area.</p>
<p>It is used with <a class="el" href="struct_a_native_activity_callbacks.html#a61d30a43b3c77b6047afe951706f6a1e">ANativeActivityCallbacks::onContentRectChanged</a> event callback and <a class="el" href="group___native_activity.html#ga0b0e3b7d442dee83e1a1b42e5b0caee6">ANativeWindow_lock()</a> function. </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga39fca1837c5ce7715cbf571669660c13"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<p>Flags for ANativeActivity_showSoftInput; see the Java InputMethodManager API for documentation. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga39fca1837c5ce7715cbf571669660c13a9b7250ac0e5a626a81b176462a9df7c9"></a>ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT</em>&#160;</td><td class="fielddoc">
<p>Implicit request to show the input window, not as the result of a direct request by the user. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga39fca1837c5ce7715cbf571669660c13a324062ac78fab16b40e8de1b1ae173b5"></a>ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED</em>&#160;</td><td class="fielddoc">
<p>The user has forced the input method open (such as by long-pressing menu) so it should not be closed until they explicitly do so. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gaaf8fd5f0e57d456151c951e0f3715fc4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<p>Flags for ANativeActivity_hideSoftInput; see the Java InputMethodManager API for documentation. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaaf8fd5f0e57d456151c951e0f3715fc4a642e76508cc737bbc1df149756c2a807"></a>ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY</em>&#160;</td><td class="fielddoc">
<p>The soft input window should only be hidden if it was not explicitly shown by the user. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaaf8fd5f0e57d456151c951e0f3715fc4a0f4cbb55fa4c29b963b7b37d13352e6f"></a>ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS</em>&#160;</td><td class="fielddoc">
<p>The soft input window should normally be hidden, unless it was originally shown with <a class="el" href="group___native_activity.html#gga39fca1837c5ce7715cbf571669660c13a324062ac78fab16b40e8de1b1ae173b5">ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED</a>. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga94798fdadfbf49a7c658ace669a1d310"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<p>Pixel formats that a window can use. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga94798fdadfbf49a7c658ace669a1d310a6a165383340acce0b32c555dd2ac2c01"></a>WINDOW_FORMAT_RGBA_8888</em>&#160;</td><td class="fielddoc">
<p>Red: 8 bits, Green: 8 bits, Blue: 8 bits, Alpha: 8 bits. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga94798fdadfbf49a7c658ace669a1d310a5f83a97ccf64fc1554c220476e8aaf30"></a>WINDOW_FORMAT_RGBX_8888</em>&#160;</td><td class="fielddoc">
<p>Red: 8 bits, Green: 8 bits, Blue: 8 bits, Unused: 8 bits. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga94798fdadfbf49a7c658ace669a1d310ab26fa9c38f169263b611a8b757bb0259"></a>WINDOW_FORMAT_RGB_565</em>&#160;</td><td class="fielddoc">
<p>Red: 5 bits, Green: 6 bits, Blue: 5 bits. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gaf715e26dfffd1f8de1c18449e2770cff"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<p>Window flags, as per the Java API at android.view.WindowManager.LayoutParams. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa67363c129036872bc9dd29557e807508"></a>AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON</em>&#160;</td><td class="fielddoc">
<p>As long as this window is visible to the user, allow the lock screen to activate while the screen is on. This can be used independently, or in combination with <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaf6f66a498bd3bda8d51b6983eb2a99d8">AWINDOW_FLAG_KEEP_SCREEN_ON</a> and/or <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b">AWINDOW_FLAG_SHOW_WHEN_LOCKED</a> </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa6155e77ae4e12cc56fb3f6f55f56bf6f"></a>AWINDOW_FLAG_DIM_BEHIND</em>&#160;</td><td class="fielddoc">
<p>Everything behind this window will be dimmed. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa0377f46a626d411ace179c1c27d0a3f7"></a>AWINDOW_FLAG_BLUR_BEHIND</em>&#160;</td><td class="fielddoc">
<p>Blur everything behind this window. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd>Blurring is no longer supported. </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f"></a>AWINDOW_FLAG_NOT_FOCUSABLE</em>&#160;</td><td class="fielddoc">
<p>This window won't ever get key input focus, so the user can not send key or other button events to it. Those will instead go to whatever focusable window is behind it. This flag will also enable <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5ef903c3617dd33e3c22f567abd64b09">AWINDOW_FLAG_NOT_TOUCH_MODAL</a> whether or not that is explicitly set.</p>
<p>Setting this flag also implies that the window will not need to interact with a soft input method, so it will be Z-ordered and positioned independently of any active input method (typically this means it gets Z-ordered on top of the input method, so it can use the full screen for its content and cover the input method if needed. You can use <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa961ff4c9c0903cfb8867d961bebe1659">AWINDOW_FLAG_ALT_FOCUSABLE_IM</a> to modify this behavior. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffae9f1278ffa6fe9c12c2305d4f4de1450"></a>AWINDOW_FLAG_NOT_TOUCHABLE</em>&#160;</td><td class="fielddoc">
<p>this window can never receive touch events. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa5ef903c3617dd33e3c22f567abd64b09"></a>AWINDOW_FLAG_NOT_TOUCH_MODAL</em>&#160;</td><td class="fielddoc">
<p>Even when this window is focusable (its <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f">AWINDOW_FLAG_NOT_FOCUSABLE</a> is not set), allow any pointer events outside of the window to be sent to the windows behind it. Otherwise it will consume all pointer events itself, regardless of whether they are inside of the window. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa5574a513645e6e7cb4d6a9f4a043d773"></a>AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING</em>&#160;</td><td class="fielddoc">
<p>When set, if the device is asleep when the touch screen is pressed, you will receive this first touch event. Usually the first touch event is consumed by the system since the user can not see what they are pressing on.</p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated:</a></b></dt><dd>This flag has no effect. </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffaf6f66a498bd3bda8d51b6983eb2a99d8"></a>AWINDOW_FLAG_KEEP_SCREEN_ON</em>&#160;</td><td class="fielddoc">
<p>As long as this window is visible to the user, keep the device's screen turned on and bright. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa6978968d7e0dc1a0e12f58ad395a959a"></a>AWINDOW_FLAG_LAYOUT_IN_SCREEN</em>&#160;</td><td class="fielddoc">
<p>Place the window within the entire screen, ignoring decorations around the border (such as the status bar). The window must correctly position its contents to take the screen decoration into account. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffade9722581a203ee0db25d42f4d2bd389"></a>AWINDOW_FLAG_LAYOUT_NO_LIMITS</em>&#160;</td><td class="fielddoc">
<p>allow window to extend outside of the screen. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffaca1f1d91313d7c32bb7982d8a5abcd71"></a>AWINDOW_FLAG_FULLSCREEN</em>&#160;</td><td class="fielddoc">
<p>Hide all screen decorations (such as the status bar) while this window is displayed. This allows the window to use the entire display space for itself &ndash; the status bar will be hidden when an app window with this flag set is on the top layer. A fullscreen window will ignore a value of <a class="el" href="">AWINDOW_SOFT_INPUT_ADJUST_RESIZE</a>; the window will stay fullscreen and will not resize. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa4c21235db629d3937f87ffe98cd6fe5d"></a>AWINDOW_FLAG_FORCE_NOT_FULLSCREEN</em>&#160;</td><td class="fielddoc">
<p>Override <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaca1f1d91313d7c32bb7982d8a5abcd71">AWINDOW_FLAG_FULLSCREEN</a> and force the screen decorations (such as the status bar) to be shown. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffae73488b436aaea163ba2f7051bf93d9d"></a>AWINDOW_FLAG_DITHER</em>&#160;</td><td class="fielddoc">
<p>Turn on dithering when compositing this window to the screen. </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000006">Deprecated:</a></b></dt><dd>This flag is no longer used. </dd></dl>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa8ff70709a588a05781d7cb178b526cc0"></a>AWINDOW_FLAG_SECURE</em>&#160;</td><td class="fielddoc">
<p>Treat the content of the window as secure, preventing it from appearing in screenshots or from being viewed on non-secure displays. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa80316264eeae9681a56c1a2297bf465a"></a>AWINDOW_FLAG_SCALED</em>&#160;</td><td class="fielddoc">
<p>A special mode where the layout parameters are used to perform scaling of the surface when it is composited to the screen. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffaa2fe4ee2307bb814a37a043de6d7d326"></a>AWINDOW_FLAG_IGNORE_CHEEK_PRESSES</em>&#160;</td><td class="fielddoc">
<p>Intended for windows that will often be used when the user is holding the screen against their face, it will aggressively filter the event stream to prevent unintended presses in this situation that may not be desired for a particular window, when such an event stream is detected, the application will receive a <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a3952b960f5eb8c4f55b42741e286b74e">AMOTION_EVENT_ACTION_CANCEL</a> to indicate this so applications can handle this accordingly by taking no action on the event until the finger is released. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa97b8542941bfe613bcf92357be89b563"></a>AWINDOW_FLAG_LAYOUT_INSET_DECOR</em>&#160;</td><td class="fielddoc">
<p>A special option only for use in combination with <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa6978968d7e0dc1a0e12f58ad395a959a">AWINDOW_FLAG_LAYOUT_IN_SCREEN</a>. When requesting layout in the screen your window may appear on top of or behind screen decorations such as the status bar. By also including this flag, the window manager will report the inset rectangle needed to ensure your content is not covered by screen decorations. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa961ff4c9c0903cfb8867d961bebe1659"></a>AWINDOW_FLAG_ALT_FOCUSABLE_IM</em>&#160;</td><td class="fielddoc">
<p>Invert the state of <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f">AWINDOW_FLAG_NOT_FOCUSABLE</a> with respect to how this window interacts with the current method. That is, if FLAG_NOT_FOCUSABLE is set and this flag is set, then the window will behave as if it needs to interact with the input method and thus be placed behind/away from it; if <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffab5f19f59dd6b2601e4d1a7ff533bc50f">AWINDOW_FLAG_NOT_FOCUSABLE</a> is not set and this flag is set, then the window will behave as if it doesn't need to interact with the input method and can be placed to use more space and cover the input method. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa35229f75b3309bafdd828cbbf27d05b6"></a>AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH</em>&#160;</td><td class="fielddoc">
<p>If you have set <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa5ef903c3617dd33e3c22f567abd64b09">AWINDOW_FLAG_NOT_TOUCH_MODAL</a>, you can set this flag to receive a single special MotionEvent with the action <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a7c3c96b74af4c8304b8137ac6d201517">AMOTION_EVENT_ACTION_OUTSIDE</a> for touches that occur outside of your window. Note that you will not receive the full down/move/up gesture, only the location of the first down as an <a class="el" href="group___input.html#ggabed82baf7f470b522273a3e37c24c600a7c3c96b74af4c8304b8137ac6d201517">AMOTION_EVENT_ACTION_OUTSIDE</a>. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b"></a>AWINDOW_FLAG_SHOW_WHEN_LOCKED</em>&#160;</td><td class="fielddoc">
<p>Special flag to let windows be shown when the screen is locked. This will let application windows take precedence over key guard or any other lock screens. Can be used with <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffaf6f66a498bd3bda8d51b6983eb2a99d8">AWINDOW_FLAG_KEEP_SCREEN_ON</a> to turn screen on and display windows directly before showing the key guard window. Can be used with <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa37c1077a12f1c8c6805b1da6f7bb213a">AWINDOW_FLAG_DISMISS_KEYGUARD</a> to automatically fully dismisss non-secure keyguards. This flag only applies to the top-most full-screen window. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa952ae6ceebe94d3f0d666454548b8824"></a>AWINDOW_FLAG_SHOW_WALLPAPER</em>&#160;</td><td class="fielddoc">
<p>Ask that the system wallpaper be shown behind your window. The window surface must be translucent to be able to actually see the wallpaper behind it; this flag just ensures that the wallpaper surface will be there if this window actually has translucent regions. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffac4deee26ac742bbd0bb4c44fda140a01"></a>AWINDOW_FLAG_TURN_SCREEN_ON</em>&#160;</td><td class="fielddoc">
<p>When set as a window is being added or made visible, once the window has been shown then the system will poke the power manager's user activity (as if the user had woken up the device) to turn the screen on. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaf715e26dfffd1f8de1c18449e2770cffa37c1077a12f1c8c6805b1da6f7bb213a"></a>AWINDOW_FLAG_DISMISS_KEYGUARD</em>&#160;</td><td class="fielddoc">
<p>When set the window will cause the keyguard to be dismissed, only if it is not a secure lock keyguard. Because such a keyguard is not needed for security, it will never re-appear if the user navigates to another window (in contrast to <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b">AWINDOW_FLAG_SHOW_WHEN_LOCKED</a>, which will only temporarily hide both secure and non-secure keyguards but ensure they reappear when the user moves to another UI that doesn't hide them). If the keyguard is currently active and is secure (requires an unlock pattern) than the user will still need to confirm it before seeing this window, unless <a class="el" href="group___native_activity.html#ggaf715e26dfffd1f8de1c18449e2770cffa549f08950ef1ed3a334338d08ced1c3b">AWINDOW_FLAG_SHOW_WHEN_LOCKED</a> has also been set. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga4d872ae54a239704c06a0517e23cc0ad"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ANativeActivity_finish </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *&#160;</td>
<td class="paramname"><em>activity</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Finish the given activity. Its finish() method will be called, causing it to be stopped and destroyed. Note that this method can be called from <em>any</em> thread; it will send a message to the main thread of the process where the Java finish call will take place. </p>
</div>
</div>
<a class="anchor" id="gaf673d6efea7ce517ef46ff2551b25944"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ANativeActivity_hideSoftInput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *&#160;</td>
<td class="paramname"><em>activity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Hide the IME while in the given activity. Calls InputMethodManager.hideSoftInput() for the given activity. Note that this method can be called from <em>any</em> thread; it will send a message to the main thread of the process where the Java finish call will take place. </p>
</div>
</div>
<a class="anchor" id="gaa1d091ca4a99b0ce570bab1c8c06f297"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ANativeActivity_setWindowFlags </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *&#160;</td>
<td class="paramname"><em>activity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>addFlags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>removeFlags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Change the window flags of the given activity. Calls getWindow().setFlags() of the given activity. Note that this method can be called from <em>any</em> thread; it will send a message to the main thread of the process where the Java finish call will take place. See <a class="el" href="window_8h.html">window.h</a> for flag constants. </p>
</div>
</div>
<a class="anchor" id="gaec8b12decdf2b9841344e75c4c038c5a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ANativeActivity_setWindowFormat </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *&#160;</td>
<td class="paramname"><em>activity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>format</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Change the window format of the given activity. Calls getWindow().setFormat() of the given activity. Note that this method can be called from <em>any</em> thread; it will send a message to the main thread of the process where the Java finish call will take place. </p>
</div>
</div>
<a class="anchor" id="ga14eaeb6190f266369023b04d8ab9dba7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ANativeActivity_showSoftInput </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_a_native_activity.html">ANativeActivity</a> *&#160;</td>
<td class="paramname"><em>activity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Show the IME while in the given activity. Calls InputMethodManager.showSoftInput() for the given activity. Note that this method can be called from <em>any</em> thread; it will send a message to the main thread of the process where the Java finish call will take place. </p>
</div>
</div>
<a class="anchor" id="ga533876b57909243b238927344a6592db"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ANativeWindow_acquire </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
<td class="paramname"><em>window</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Acquire a reference on the given ANativeWindow object. This prevents the object from being deleted until the reference is removed. </p>
</div>
</div>
<a class="anchor" id="ga774d0a87ec496b3940fcddccbc31fd9d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a>* ANativeWindow_fromSurface </td>
<td>(</td>
<td class="paramtype">JNIEnv *&#160;</td>
<td class="paramname"><em>env</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">jobject&#160;</td>
<td class="paramname"><em>surface</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the ANativeWindow associated with a Java Surface object, for interacting with it through native code. This acquires a reference on the ANativeWindow that is returned; be sure to use <a class="el" href="group___native_activity.html#gae944e98865b902bd924663785d7b0258">ANativeWindow_release()</a> when done with it so that it doesn't leak. </p>
</div>
</div>
<a class="anchor" id="ga9e3a492a8300146b30d864f0ab22bb2e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t ANativeWindow_getFormat </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
<td class="paramname"><em>window</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the current pixel format of the window surface. Returns a negative value on error. </p>
</div>
</div>
<a class="anchor" id="ga463ba99f6dee3edc1167a54e1ff7de15"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t ANativeWindow_getHeight </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
<td class="paramname"><em>window</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the current height in pixels of the window surface. Returns a negative value on error. </p>
</div>
</div>
<a class="anchor" id="ga186f0040c5cb405a63d93889bb9a4ff1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t ANativeWindow_getWidth </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
<td class="paramname"><em>window</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the current width in pixels of the window surface. Returns a negative value on error. </p>
</div>
</div>
<a class="anchor" id="ga0b0e3b7d442dee83e1a1b42e5b0caee6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t ANativeWindow_lock </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_a_native_window___buffer.html">ANativeWindow_Buffer</a> *&#160;</td>
<td class="paramname"><em>outBuffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_a_rect.html">ARect</a> *&#160;</td>
<td class="paramname"><em>inOutDirtyBounds</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Lock the window's next drawing surface for writing. inOutDirtyBounds is used as an in/out parameter, upon entering the function, it contains the dirty region, that is, the region the caller intends to redraw. When the function returns, inOutDirtyBounds is updated with the actual area the caller needs to redraw &ndash; this region is often extended by ANativeWindow_lock. </p>
</div>
</div>
<a class="anchor" id="gae944e98865b902bd924663785d7b0258"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ANativeWindow_release </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
<td class="paramname"><em>window</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove a reference that was previously acquired with <a class="el" href="group___native_activity.html#ga533876b57909243b238927344a6592db">ANativeWindow_acquire()</a>. </p>
</div>
</div>
<a class="anchor" id="ga7b0652533998d61e1a3b542485889113"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t ANativeWindow_setBuffersGeometry </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
<td class="paramname"><em>window</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>height</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>format</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Change the format and size of the window buffers.</p>
<p>The width and height control the number of pixels in the buffers, not the dimensions of the window on screen. If these are different than the window's physical size, then it buffer will be scaled to match that size when compositing it to the screen.</p>
<p>For all of these parameters, if 0 is supplied then the window's base value will come back in force.</p>
<p>width and height must be either both zero or both non-zero. </p>
</div>
</div>
<a class="anchor" id="ga4dc9b687ead9034fbc11bf2d90f203f9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int32_t ANativeWindow_unlockAndPost </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___native_activity.html#ga66956d540c2e3709e12156d195e64726">ANativeWindow</a> *&#160;</td>
<td class="paramname"><em>window</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Unlock the window's drawing surface after previously locking it, posting the new buffer to the display. </p>
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="ga02791d0d490839055169f39fdc905c5e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___native_activity.html#ga569a53bcac3fcedb0189b7c412ebcb22">ANativeActivity_createFunc</a> ANativeActivity_onCreate</td>
</tr>
</table>
</div><div class="memdoc">
<p>The name of the function that NativeInstance looks for when launching its native code. This is the default function that is used, you can specify "android.app.func_name" string meta-data in your manifest to use a different function. </p>
</div>
</div>
</div><!-- contents -->