1page.title=Bitmap
2page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css">
3@jd:body
4<!-- Generated by Doxygen 1.8.6 -->
5</div><!-- top -->
6<div class="header">
7  <div class="summary">
8<a href="#files">Files</a> &#124;
9<a href="#nested-classes">Data Structures</a> &#124;
10<a href="#define-members">Macros</a> &#124;
11<a href="#enum-members">Enumerations</a> &#124;
12<a href="#func-members">Functions</a>  </div>
13  <div class="headertitle">
14<div class="title">Bitmap</div>  </div>
15</div><!--header-->
16<div class="contents">
17<table class="memberdecls">
18<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
19Files</h2></td></tr>
20<tr class="memitem:bitmap_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bitmap_8h.html">bitmap.h</a></td></tr>
21<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
22</table><table class="memberdecls">
23<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
24Data Structures</h2></td></tr>
25<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_android_bitmap_info.html">AndroidBitmapInfo</a></td></tr>
26<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
27</table><table class="memberdecls">
28<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
29Macros</h2></td></tr>
30<tr class="memitem:gafb665ac9fefad34ac5c035f5d1314080"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#gafb665ac9fefad34ac5c035f5d1314080">ANDROID_BITMAP_RESUT_SUCCESS</a>&#160;&#160;&#160;<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076">ANDROID_BITMAP_RESULT_SUCCESS</a></td></tr>
31<tr class="separator:gafb665ac9fefad34ac5c035f5d1314080"><td class="memSeparator" colspan="2">&#160;</td></tr>
32</table><table class="memberdecls">
33<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
34Enumerations</h2></td></tr>
35<tr class="memitem:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076">ANDROID_BITMAP_RESULT_SUCCESS</a> = 0,
36<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7acf7205d1a348d867c63ac2885ce01374">ANDROID_BITMAP_RESULT_BAD_PARAMETER</a> = -1,
37<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6b099b9533c38729a6c305f2fe93f98d">ANDROID_BITMAP_RESULT_JNI_EXCEPTION</a> = -2,
38<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a512f5b95b6b57e78d65502c06391f990">ANDROID_BITMAP_RESULT_ALLOCATION_FAILED</a> = -3
39 }</td></tr>
40<tr class="separator:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
41<tr class="memitem:gaea286a2d4c61ae2abb02b51500499f13"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#gaea286a2d4c61ae2abb02b51500499f13">AndroidBitmapFormat</a> { <br/>
42&#160;&#160;<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ac6f0378ea5cfefd9abee2596af5a9021">ANDROID_BITMAP_FORMAT_NONE</a> = 0,
43<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ab92ae96ceea06aa534583beadba84057">ANDROID_BITMAP_FORMAT_RGBA_8888</a> = 1,
44<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13a11b32e10d6db28fae70ec3590cb9ee91">ANDROID_BITMAP_FORMAT_RGB_565</a> = 4,
45<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13adc2ede06eafe20439271cb8137dc7528">ANDROID_BITMAP_FORMAT_RGBA_4444</a> = 7,
46<br/>
47&#160;&#160;<a class="el" href="group___bitmap.html#ggaea286a2d4c61ae2abb02b51500499f13ad29996be25f8f88c96e016a1da5c4bca">ANDROID_BITMAP_FORMAT_A_8</a> = 8
48<br/>
49 }</td></tr>
50<tr class="separator:gaea286a2d4c61ae2abb02b51500499f13"><td class="memSeparator" colspan="2">&#160;</td></tr>
51</table><table class="memberdecls">
52<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
53Functions</h2></td></tr>
54<tr class="memitem:ga80292ee39d8a675928e38849742b54bf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#ga80292ee39d8a675928e38849742b54bf">AndroidBitmap_getInfo</a> (JNIEnv *env, jobject jbitmap, <a class="el" href="struct_android_bitmap_info.html">AndroidBitmapInfo</a> *info)</td></tr>
55<tr class="separator:ga80292ee39d8a675928e38849742b54bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
56<tr class="memitem:ga2908d42fa4db286c34b7f8c11f29206f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#ga2908d42fa4db286c34b7f8c11f29206f">AndroidBitmap_lockPixels</a> (JNIEnv *env, jobject jbitmap, void **addrPtr)</td></tr>
57<tr class="separator:ga2908d42fa4db286c34b7f8c11f29206f"><td class="memSeparator" colspan="2">&#160;</td></tr>
58<tr class="memitem:ga4aca91f37baddd42d0051dca8179d4ed"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___bitmap.html#ga4aca91f37baddd42d0051dca8179d4ed">AndroidBitmap_unlockPixels</a> (JNIEnv *env, jobject jbitmap)</td></tr>
59<tr class="separator:ga4aca91f37baddd42d0051dca8179d4ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
60</table>
61<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
62<h2 class="groupheader">Macro Definition Documentation</h2>
63<a class="anchor" id="gafb665ac9fefad34ac5c035f5d1314080"></a>
64<div class="memitem">
65<div class="memproto">
66      <table class="memname">
67        <tr>
68          <td class="memname">#define ANDROID_BITMAP_RESUT_SUCCESS&#160;&#160;&#160;<a class="el" href="group___bitmap.html#ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076">ANDROID_BITMAP_RESULT_SUCCESS</a></td>
69        </tr>
70      </table>
71</div><div class="memdoc">
72<p>Backward compatibility: this macro used to be misspelled. </p>
73
74</div>
75</div>
76<h2 class="groupheader">Enumeration Type Documentation</h2>
77<a class="anchor" id="gadf764cbdea00d65edcd07bb9953ad2b7"></a>
78<div class="memitem">
79<div class="memproto">
80      <table class="memname">
81        <tr>
82          <td class="memname">anonymous enum</td>
83        </tr>
84      </table>
85</div><div class="memdoc">
86<p>AndroidBitmap functions result code. </p>
87<table class="fieldtable">
88<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7a07f71cf5c5d4950ac9813ae4bbf6d076"></a>ANDROID_BITMAP_RESULT_SUCCESS</em>&#160;</td><td class="fielddoc">
89<p>Operation was successful. </p>
90</td></tr>
91<tr><td class="fieldname"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7acf7205d1a348d867c63ac2885ce01374"></a>ANDROID_BITMAP_RESULT_BAD_PARAMETER</em>&#160;</td><td class="fielddoc">
92<p>Bad parameter. </p>
93</td></tr>
94<tr><td class="fieldname"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7a6b099b9533c38729a6c305f2fe93f98d"></a>ANDROID_BITMAP_RESULT_JNI_EXCEPTION</em>&#160;</td><td class="fielddoc">
95<p>JNI exception occured. </p>
96</td></tr>
97<tr><td class="fieldname"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7a512f5b95b6b57e78d65502c06391f990"></a>ANDROID_BITMAP_RESULT_ALLOCATION_FAILED</em>&#160;</td><td class="fielddoc">
98<p>Allocation failed. </p>
99</td></tr>
100</table>
101
102</div>
103</div>
104<a class="anchor" id="gaea286a2d4c61ae2abb02b51500499f13"></a>
105<div class="memitem">
106<div class="memproto">
107      <table class="memname">
108        <tr>
109          <td class="memname">enum <a class="el" href="group___bitmap.html#gaea286a2d4c61ae2abb02b51500499f13">AndroidBitmapFormat</a></td>
110        </tr>
111      </table>
112</div><div class="memdoc">
113<p>Bitmap pixel format. </p>
114<table class="fieldtable">
115<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaea286a2d4c61ae2abb02b51500499f13ac6f0378ea5cfefd9abee2596af5a9021"></a>ANDROID_BITMAP_FORMAT_NONE</em>&#160;</td><td class="fielddoc">
116<p>No format. </p>
117</td></tr>
118<tr><td class="fieldname"><em><a class="anchor" id="ggaea286a2d4c61ae2abb02b51500499f13ab92ae96ceea06aa534583beadba84057"></a>ANDROID_BITMAP_FORMAT_RGBA_8888</em>&#160;</td><td class="fielddoc">
119<p>Red: 8 bits, Green: 8 bits, Blue: 8 bits, Alpha: 8 bits. </p>
120</td></tr>
121<tr><td class="fieldname"><em><a class="anchor" id="ggaea286a2d4c61ae2abb02b51500499f13a11b32e10d6db28fae70ec3590cb9ee91"></a>ANDROID_BITMAP_FORMAT_RGB_565</em>&#160;</td><td class="fielddoc">
122<p>Red: 5 bits, Green: 6 bits, Blue: 5 bits. </p>
123</td></tr>
124<tr><td class="fieldname"><em><a class="anchor" id="ggaea286a2d4c61ae2abb02b51500499f13adc2ede06eafe20439271cb8137dc7528"></a>ANDROID_BITMAP_FORMAT_RGBA_4444</em>&#160;</td><td class="fielddoc">
125<p>Red: 4 bits, Green: 4 bits, Blue: 4 bits, Alpha: 4 bits. </p>
126</td></tr>
127<tr><td class="fieldname"><em><a class="anchor" id="ggaea286a2d4c61ae2abb02b51500499f13ad29996be25f8f88c96e016a1da5c4bca"></a>ANDROID_BITMAP_FORMAT_A_8</em>&#160;</td><td class="fielddoc">
128<p>Deprecated. </p>
129</td></tr>
130</table>
131
132</div>
133</div>
134<h2 class="groupheader">Function Documentation</h2>
135<a class="anchor" id="ga80292ee39d8a675928e38849742b54bf"></a>
136<div class="memitem">
137<div class="memproto">
138      <table class="memname">
139        <tr>
140          <td class="memname">int AndroidBitmap_getInfo </td>
141          <td>(</td>
142          <td class="paramtype">JNIEnv *&#160;</td>
143          <td class="paramname"><em>env</em>, </td>
144        </tr>
145        <tr>
146          <td class="paramkey"></td>
147          <td></td>
148          <td class="paramtype">jobject&#160;</td>
149          <td class="paramname"><em>jbitmap</em>, </td>
150        </tr>
151        <tr>
152          <td class="paramkey"></td>
153          <td></td>
154          <td class="paramtype"><a class="el" href="struct_android_bitmap_info.html">AndroidBitmapInfo</a> *&#160;</td>
155          <td class="paramname"><em>info</em>&#160;</td>
156        </tr>
157        <tr>
158          <td></td>
159          <td>)</td>
160          <td></td><td></td>
161        </tr>
162      </table>
163</div><div class="memdoc">
164<p>Given a java bitmap object, fill out the <a class="el" href="struct_android_bitmap_info.html">AndroidBitmapInfo</a> struct for it. If the call fails, the info parameter will be ignored. </p>
165
166</div>
167</div>
168<a class="anchor" id="ga2908d42fa4db286c34b7f8c11f29206f"></a>
169<div class="memitem">
170<div class="memproto">
171      <table class="memname">
172        <tr>
173          <td class="memname">int AndroidBitmap_lockPixels </td>
174          <td>(</td>
175          <td class="paramtype">JNIEnv *&#160;</td>
176          <td class="paramname"><em>env</em>, </td>
177        </tr>
178        <tr>
179          <td class="paramkey"></td>
180          <td></td>
181          <td class="paramtype">jobject&#160;</td>
182          <td class="paramname"><em>jbitmap</em>, </td>
183        </tr>
184        <tr>
185          <td class="paramkey"></td>
186          <td></td>
187          <td class="paramtype">void **&#160;</td>
188          <td class="paramname"><em>addrPtr</em>&#160;</td>
189        </tr>
190        <tr>
191          <td></td>
192          <td>)</td>
193          <td></td><td></td>
194        </tr>
195      </table>
196</div><div class="memdoc">
197<p>Given a java bitmap object, attempt to lock the pixel address. Locking will ensure that the memory for the pixels will not move until the unlockPixels call, and ensure that, if the pixels had been previously purged, they will have been restored.</p>
198<p>If this call succeeds, it must be balanced by a call to AndroidBitmap_unlockPixels, after which time the address of the pixels should no longer be used.</p>
199<p>If this succeeds, *addrPtr will be set to the pixel address. If the call fails, addrPtr will be ignored. </p>
200
201</div>
202</div>
203<a class="anchor" id="ga4aca91f37baddd42d0051dca8179d4ed"></a>
204<div class="memitem">
205<div class="memproto">
206      <table class="memname">
207        <tr>
208          <td class="memname">int AndroidBitmap_unlockPixels </td>
209          <td>(</td>
210          <td class="paramtype">JNIEnv *&#160;</td>
211          <td class="paramname"><em>env</em>, </td>
212        </tr>
213        <tr>
214          <td class="paramkey"></td>
215          <td></td>
216          <td class="paramtype">jobject&#160;</td>
217          <td class="paramname"><em>jbitmap</em>&#160;</td>
218        </tr>
219        <tr>
220          <td></td>
221          <td>)</td>
222          <td></td><td></td>
223        </tr>
224      </table>
225</div><div class="memdoc">
226<p>Call this to balance a successful call to AndroidBitmap_lockPixels. </p>
227
228</div>
229</div>
230</div><!-- contents -->
231