diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/html/google/gcm/gcm.jd | 1 | ||||
-rw-r--r-- | docs/html/guide/topics/graphics/hardware-accel.jd | 355 |
2 files changed, 252 insertions, 104 deletions
diff --git a/docs/html/google/gcm/gcm.jd b/docs/html/google/gcm/gcm.jd index fb57a91..f8ba7b4 100644 --- a/docs/html/google/gcm/gcm.jd +++ b/docs/html/google/gcm/gcm.jd @@ -942,6 +942,7 @@ Check that the token you're sending inside the <code>Authorization</code> header # curl --header "Authorization: key=$api_key" --header Content-Type:"application/json" https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\"ABC\"]}"</pre> + If you receive a 401 HTTP status code, your API key is not valid. Otherwise you should see something like this:<br/> <pre> diff --git a/docs/html/guide/topics/graphics/hardware-accel.jd b/docs/html/guide/topics/graphics/hardware-accel.jd index 04fb564..9859c28 100644 --- a/docs/html/guide/topics/graphics/hardware-accel.jd +++ b/docs/html/guide/topics/graphics/hardware-accel.jd @@ -270,110 +270,257 @@ changed.</li> android.graphics.Canvas} drawing operations as well as many less-used operations. All of the drawing operations that are used to render applications that ship with Android, default widgets and layouts, and common advanced visual effects such as reflections and tiled textures are - supported. The following list describes known operations that are <strong>not supported</strong> - with hardware acceleration:</p> - - <ul> - <li> - <strong>Canvas</strong> - - <ul> - <li>{@link android.graphics.Canvas#clipPath clipPath()}</li> - - <li>{@link android.graphics.Canvas#clipRegion clipRegion()}</li> - - <li>{@link android.graphics.Canvas#drawPicture drawPicture()}</li> - - <li>{@link android.graphics.Canvas#drawTextOnPath drawTextOnPath()}</li> - - <li>{@link android.graphics.Canvas#drawVertices drawVertices()}</li> - </ul> - </li> - - <li> - <strong>Paint</strong> - - <ul> - <li>{@link android.graphics.Paint#setLinearText setLinearText()}</li> - - <li>{@link android.graphics.Paint#setMaskFilter setMaskFilter()}</li> - - <li>{@link android.graphics.Paint#setRasterizer setRasterizer()}</li> - </ul> - </li> - - <li> - <strong>Xfermodes</strong> - - <ul> - <li>{@link android.graphics.AvoidXfermode AvoidXfermode}</li> - - <li>{@link android.graphics.PixelXorXfermode PixelXorXfermode}</li> - </ul> - </li> - </ul> - - <p>In addition, some operations behave differently with hardware acceleration enabled:</p> - - <ul> - <li> - <strong>Canvas</strong> - - <ul> - <li>{@link android.graphics.Canvas#clipRect clipRect()}: <code>XOR</code>, - <code>Difference</code> and <code>ReverseDifference</code> clip modes are ignored. 3D - transforms do not apply to the clip rectangle</li> - - <li>{@link android.graphics.Canvas#drawBitmapMesh drawBitmapMesh()}: colors array is - ignored</li> - </ul> - </li> - - <li> - <strong>Paint</strong> - - <ul> - <li>{@link android.graphics.Paint#setDither setDither()}: ignored</li> - - <li>{@link android.graphics.Paint#setFilterBitmap setFilterBitmap()}: filtering is always - on</li> - - <li>{@link android.graphics.Paint#setShadowLayer setShadowLayer()}: works with text - only</li> - </ul> - </li> - - <li> - <strong>PorterDuffXfermode</strong> - - <ul> - <li>{@link android.graphics.PorterDuff.Mode#DARKEN PorterDuff.Mode.DARKEN} will - be equivalent to {@link android.graphics.PorterDuff.Mode#SRC_OVER} when blending - against the framebuffer.</li> - - <li>{@link android.graphics.PorterDuff.Mode#LIGHTEN PorterDuff.Mode.LIGHTEN} will - be equivalent to {@link android.graphics.PorterDuff.Mode#SRC_OVER} when blending - against the framebuffer.</li> - - <li>{@link android.graphics.PorterDuff.Mode#OVERLAY PorterDuff.Mode.OVERLAY} will - be equivalent to {@link android.graphics.PorterDuff.Mode#SRC_OVER} when blending - against the framebuffer.</li> - </ul> - </li> - - <li> - <strong>ComposeShader</strong> - - <ul> - <li>{@link android.graphics.ComposeShader} can only contain shaders of different types (a - {@link android.graphics.BitmapShader} and a {@link android.graphics.LinearGradient} for - instance, but not two instances of {@link android.graphics.BitmapShader} )</li> - - <li>{@link android.graphics.ComposeShader} cannot contain a {@link - android.graphics.ComposeShader}</li> - </ul> - </li> - </ul> + supported.</p> + + <p>The following table describes the support level of various operations across API levels:</p> + + <style type="text/css"> + .tblGenFixed,.tblGeneric{font-size:15px}.tblGenFixed td {padding:0 3px;letter-spacing:0;word-spacing:0;background-color:#fff;z-index:1;border-top:0px none;border-left:0px none;border-bottom:1px solid #CCC;border-right:1px solid #CCC;} .dn {display:none} .tblGenFixed td.s0 {background-color:white;border-top:1px solid #CCC;border-left:1px solid #CCC;} .tblGenFixed td.s2 {background-color:#d9d9d9;color:#000000;text-align:center;} .tblGenFixed td.s1 {background-color:#434343;color:#ffffff;text-align:center;border-top:1px solid #CCC;} .tblGenFixed td.s9 {background-color:;color:#6aa84f;text-align:center;} .tblGenFixed td.s12 {background-color:white;color:#6aa84f;text-align:center;} .tblGenFixed td.s13 {background-color:#d9d9d9;color:#6aa84f;text-align:center;} .tblGenFixed td.s7 {background-color:#d9d9d9;color:#980000;text-align:center;} .tblGenFixed td.s8 {background-color:;color:#980000;text-align:center;} .tblGenFixed td.s5 {background-color:#434343;color:#ffffff;text-align:left;border-left:1px solid #CCC;} .tblGenFixed td.s6 {background-color:;font-family:courier new,monospace;color:;text-align:right;border-left:1px solid #CCC;} .tblGenFixed td.s10 {background-color:white;font-family:courier new,monospace;color:#000000;text-align:right;border-left:1px solid #CCC;} .tblGenFixed td.s3 {background-color:white;color:#000000;text-align:center;} .tblGenFixed td.s11 {background-color:white;color:#980000;text-align:center;} .tblGenFixed td.s4 {background-color:#d9d9d9;color:#000000;text-align:center;} + </style> + <table border="0" cellpadding="0" cellspacing="0" class="tblGenFixed" id="tblMain"> + <tbody> + <tr class="rShim"> + <td class="rShim" style="width:380px;"></td> + <td class="rShim" style="width:120px;"></td> + <td class="rShim" style="width:120px;"></td> + <td class="rShim" style="width:120px;"></td> + <td class="rShim" style="width:120px;"></td> + </tr> + <tr> + <td rowspan="2" class="s0"></td> + <td colspan="4" class="s1">API level</td> + </tr> + <tr> + <td style="display:none;"></td> + <td class="s2">< 16</td> + <td class="s3">16</td> + <td class="s4">17</td> + <td class="s3">18</td> + </tr> + <tr> + <td colspan="5" class="s5">Canvas</td> + </tr> + <tr> + <td class="s6">clipPath()</td> + <td class="s7">✗</td> + <td class="s8">✗</td> + <td class="s7">✗</td> + <td class="s9">✓</td> + </tr> + <tr> + <td class="s10">clipRegion()</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s12">✓</td> + </tr> + <tr> + <td class="s10">clipRect(Region.Op.XOR)</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s12">✓</td> + </tr> + <tr> + <td class="s10">clipRect(Region.Op.Difference)</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s12">✓</td> + </tr> + <tr> + <td class="s10">clipRect(Region.Op.ReverseDifference)</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s12">✓</td> + </tr> + <tr> + <td class="s10">drawBitmapMesh() (colors array)</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s12">✓</td> + </tr> + <tr> + <td class="s10">drawPicture()</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + </tr> + <tr> + <td class="s10">drawPosText()</td> + <td class="s7">✗</td> + <td class="s12">✓</td> + <td class="s13">✓</td> + <td class="s12">✓</td> + </tr> + <tr> + <td class="s10">drawTextOnPath()</td> + <td class="s7">✗</td> + <td class="s12">✓</td> + <td class="s13">✓</td> + <td class="s12">✓</td> + </tr> + <tr> + <td class="s10">drawVertices()</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + </tr> + <tr> + <td class="s10">setDrawFilter()</td> + <td class="s7">✗</td> + <td class="s12">✓</td> + <td class="s13">✓</td> + <td class="s12">✓</td> + </tr> + <tr> + <td colspan="5" class="s5">Paint</td> + </tr> + <tr> + <td class="s6">setAntiAlias() (for text)</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s12">✓</td> + </tr> + <tr> + <td class="s6">setAntiAlias() (for lines)</td> + <td class="s7">✗</td> + <td class="s12">✓</td> + <td class="s13">✓</td> + <td class="s12">✓</td> + </tr> + <tr> + <td class="s6">setFilterBitmap()</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s13">✓</td> + <td class="s12">✓</td> + </tr> + <tr> + <td class="s6">setLinearText()</td> + <td class="s7">✗</td> + <td class="s8">✗</td> + <td class="s7">✗</td> + <td class="s8">✗</td> + </tr> + <tr> + <td class="s10">setMaskFilter()</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + </tr> + <tr> + <td class="s10">setPathEffect() (for lines)</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + </tr> + <tr> + <td class="s10">setRasterizer()</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + </tr> + <tr> + <td class="s10">setShadowLayer() (other than text)</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + </tr> + <tr> + <td class="s10">setStrokeCap() (for lines)</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s12">✓</td> + </tr> + <tr> + <td class="s10">setStrokeCap() (for points)</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + </tr> + <tr> + <td class="s10">setSubpixelText()</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + </tr> + <tr> + <td colspan="5" class="s5">Xfermode</td> + </tr> + <tr> + <td class="s6">AvoidXfermode</td> + <td class="s7">✗</td> + <td class="s8">✗</td> + <td class="s7">✗</td> + <td class="s8">✗</td> + </tr> + <tr> + <td class="s10">PixelXorXfermode</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + </tr> + <tr> + <td class="s10">PorterDuff.Mode.DARKEN (framebuffer)</td> + <td class="s7">✗</td> + <td class="s8">✗</td> + <td class="s7">✗</td> + <td class="s8">✗</td> + </tr> + <tr> + <td class="s10">PorterDuff.Mode.LIGHTEN (framebuffer)</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + </tr> + <tr> + <td class="s10">PorterDuff.Mode.OVERLAY (framebuffer)</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + </tr> + <tr> + <td colspan="5" class="s5">Shader</td> + </tr> + <tr> + <td class="s10">ComposeShader inside ComposeShader</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + </tr> + <tr> + <td class="s10">Same type shaders inside ComposeShader</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + </tr> + <tr> + <td class="s10">Local matrix on ComposeShader</td> + <td class="s7">✗</td> + <td class="s11">✗</td> + <td class="s7">✗</td> + <td class="s11">✓</td> + </tr> + </tbody> + </table> <p>If your application is affected by any of these missing features or limitations, you can turn off hardware acceleration for just the affected portion of your application by calling |