Commit Graph

333 Commits

Author SHA1 Message Date
Romain Guy
4a123c4d69 Allow bitmap filtering on NinePatchDrawable.
There's no reason to not allow it anymore.

Change-Id: Id1881784e6abb49f1965af6595a77391b88b426f
2011-04-26 11:23:08 -07:00
Fabrice Di Meglio
0a1413e4bf Clean getTextRunAdvances() APIs
- remove ICU reference in API names
- use a "reserved" int parameter to pass either "0" for Harfbuzz or "1" for "ICU"

Change-Id: I88b4f76feafd203a6999cd7349402fa36a9a4b2a
2011-04-21 17:36:26 -07:00
Dianne Hackborn
44bc17c6b5 Rework display size access.
Applications now get the display size from the window manager.  No
behavior should be changed yet, this is just prep for some real
changes.

Change-Id: I2958a6660895c1cba2b670509600014e55ee9273
2011-04-21 15:17:52 -07:00
Fabrice Di Meglio
fcf2be1846 TextLayoutCache - add glyphs caching
- cache glyphs after Harfbuzz shaping
- use "m" prefix for member variables
- add temporary API for drawing text with glyphs
- update BiDiTest app

Change-Id: I619b3f313b15f010018daad21b3e5e486619b4e4
2011-04-08 14:37:18 -07:00
Fabrice Di Meglio
eee49c699c Fix text redering issue where the text was sometimes truncated
- mostly was visible in Settings apps / Wi-Fi networks summary info for each network
- correctly setup the local SkPaint for advances computation
- improve test app for adding live resizing

Change-Id: Ia031fe1b115b521ba55c7e68f2a26300f02e48ca
2011-03-29 19:44:33 -07:00
Romain Guy
a3cbe69ae6 Merge "Move the drawable state to the correct class. Bug #4170455" 2011-03-29 18:33:12 -07:00
Romain Guy
2660a3ec85 Move the drawable state to the correct class.
Bug #4170455

The state tracking whether the Paint's shader should be rebuilt was kept in the
wrong class. This lead to the Drawable keeping track of the dirty status of the
Paint stored in the ConstantState. This of course does not work properly when
several drawables are inflated form the same ConstantState. This change fixes
the issue by moving the dirty Paint state to the ConstantState class. This is
allowed to work because of the single-thread rule enforced by the UI toolkit.

Change-Id: I9bb31d8e7335d6bb418470b59ae25d9085d7bd23
2011-03-29 18:31:08 -07:00
Brad Fitzpatrick
37c1bbb51a am 8ef609ab: am a4206029: am 5d5a0ca5: Merge "Fixing the wrong link in YuvImage JavaDoc."
* commit '8ef609abe56c9872c93fc304037d1e52d4475e5e':
  Fixing the wrong link in YuvImage JavaDoc.
2011-03-29 08:53:38 -07:00
Brad Fitzpatrick
8ef609abe5 am a4206029: am 5d5a0ca5: Merge "Fixing the wrong link in YuvImage JavaDoc."
* commit 'a4206029cbb8f6c02c47db52f84b7d52e154e35a':
  Fixing the wrong link in YuvImage JavaDoc.
2011-03-29 08:45:20 -07:00
Eino-Ville Talvala
a5d42c8578 Merge "NEW_API: Add getTimestamp() to SurfaceTexture." 2011-03-24 15:36:56 -07:00
Romain Guy
ee0c116ab2 Always apply the tile mode.
Bug #4170455

Change-Id: Id537a226a0b59bfa65b54bcea062aa5bf1a730b8
2011-03-24 14:05:06 -07:00
Brad Fitzpatrick
5d5a0ca5eb Merge "Fixing the wrong link in YuvImage JavaDoc." 2011-03-23 12:30:28 -07:00
Fabrice Di Meglio
aa5eb64a0c Merge "Use Harfbuzz instead of ICU4C for computing advances" 2011-03-23 10:56:41 -07:00
Fabrice Di Meglio
9f82b580d7 Use Harfbuzz instead of ICU4C for computing advances
- use Harfbuzz shaper for shaping and getting glyphs
- add test app for showing result of drawText() and drawGlyphs()
- add private API in Canvas and Paint for test app

Change-Id: Ia15be216f8636d2d864066e9b7de2f53008c30f6
2011-03-22 19:36:30 -07:00
Eino-Ville Talvala
e309a0fd2e NEW_API: Add getTimestamp() to SurfaceTexture.
Like getTransformMatrix, getTimestamp provides a timestamp for the
OpenGL texture produced by the latest call to updateTexImage().

Timestamps are measured in nanoseconds, and are monotonically
increasing.  Other properties of the timestamps (zero point,
comparability) depend on the source providing frames to the
SurfaceTexture, and need to be documented by the source.

bug:3300707

Change-Id: I380d94926d0e9f1c77bb5c1576b72d5ef4e2eba1
2011-03-21 15:38:36 -07:00
Eino-Ville Talvala
c5f94d8a47 Add support for timestamps into SurfaceTexture.
API addition: The timestamps are represented as nanoseconds from some
arbitrary time point. Like the SurfaceTexture transform matrix, the
timestamp retrieved by getTimestamp is for the last frame sent to the
GL texture using updateTexImage().

Camera HAL change: Expect vendors to set these timestamps using
native_window_set_buffers_timestamp().  For now, they are
autogenerated by SurfaceTextureClient if set_buffers_timestamp() is
never called, but such timing is likely not accurate enough to pass a
CTS test.

bug:3300707

Change-Id: Ife131a0c2a826ac27342e11b8a6c42ff49e1bea7
2011-03-17 13:10:03 -07:00
Mathias Agopian
58a7775d3e fix YV12 documentation
Change-Id: I9a2022101930721a3b3bacc95b02ca21d05f21bb
2011-03-02 13:51:21 -08:00
Mathias Agopian
525af5d5b0 reformat file, which contained tabs instead of spaces
Change-Id: If26ef8be8c80a7894d256572cb3b9e60742dce57
2011-03-01 14:04:28 -08:00
Jamie Gennis
8588732712 Expand on the SurfaceTexture API docs.
This change adds additional documentation explaining how a
SurfaceTexture should be used in OpenGL ES.  It describes some of the
limitations of using the GL_TEXTURE_EXTERNAL_OES texture target.

Change-Id: I7424c1b422e4f402e87372e8b361391fbec82c5c
2011-02-25 13:34:06 -08:00
Jamie Gennis
dc02e18d15 Revert "Merge "Expand on the SurfaceTexture API docs.""
This reverts commit 069d748da8, reversing
changes made to b607b884bd.
2011-02-24 16:45:21 -08:00
Jamie Gennis
069d748da8 Merge "Expand on the SurfaceTexture API docs." 2011-02-24 14:24:04 -08:00
Glenn Kasten
373ed6fc79 Merge "Bug 3438258 Add SurfaceTexture as MediaPlayer sink" 2011-02-24 12:37:02 -08:00
Romain Guy
47b8adec39 Add a new Camera API to control the camera's location
Change-Id: Id9a082d2def803eb527e1987875e0d8a22c6e8aa
2011-02-23 19:51:42 -08:00
Romain Guy
4a317db43d More documentation for Canvas.drawArc()
Change-Id: I007a1db94306e05cf4e245f876aa1921f518c113
2011-02-23 16:34:21 -08:00
Romain Guy
ed7894352f Add dither XML attribute support to Gradient and ShapeDrawable.
Change-Id: I4b60a0ba6766b7e7b176e78dc7f15f8467e2b890
2011-02-23 15:57:08 -08:00
Glenn Kasten
cc562a3576 Bug 3438258 Add SurfaceTexture as MediaPlayer sink
This change enables the use of a SurfaceTexture in place of a Surface
as the video sink for an android.media.MediaPlayer. The new API
MediaPlayer.setTexture is currently hidden.

This includes:
 - New Java and C++ interfaces
 - C++ plumbing and implementation (JNI, Binder)
 - Stagefright AwesomePlayer and NuPlayer use ANativeWindow
   (either Surface or SurfaceTextureClient)

Change-Id: I2b568bee143d9eaf3dfc6cc4533c1bebbd5afc51
2011-02-23 15:02:56 -08:00
Jamie Gennis
acf33974b3 Expand on the SurfaceTexture API docs.
This change adds additional documentation explaining how a
SurfaceTexture should be used in OpenGL ES.  It describes some of the
limitations of using the GL_TEXTURE_EXTERNAL_OES texture target.

Change-Id: I9d3446a012376166b6c598b827a0aa0e9585d00f
2011-02-23 13:58:44 -08:00
Romain Guy
39c512b623 Don't swap bottom left and bottom right corner radii.
Change-Id: If57b6627f67998edc384de15e3d970f8edf18211
2011-02-23 11:21:39 -08:00
Jesse Wilson
f7f9d9c39d Expose an API to get a bitmap's size in bytes.
Change-Id: I960c3b02b1ba8d3a8d92aaa98955a159e6f3a228
http://b/3184897
2011-02-16 17:50:43 -08:00
Brian Muramatsu
8a9f9d880d Fix Paint#breakText(char[]..) JavaDoc
The JavaDoc says that if the "...count is negative then the
characters before index are measured in reverse order. This
allows for measuring the end of string."

However, the native code doesn't work its way backwards
from the given index when the count is negative. It always
passes Skia the substring starting from index and the
absolute value of count.

Its better to fix the JavaDoc rather than the behavior, since
this API is public and has been this way for some time. It
is also used by TextUtils.ellipsize indirectly, so its best
to avoid breaking that sensitive code.

Change-Id: I8bd51def6ec98251e355370710eb44f58fb737c4
2011-02-16 14:58:45 -08:00
Romain Guy
676b17391f Deprecate ARGB_4444.
It looks awful.
Don't use it.
Use ARGB_8888, it's much better.
If you think you need ARGB_4444, you are wrong.
You are.

Change-Id: I4d6963cf98b6a8fb34cebcd0d24b9fd66b5a0fbf
2011-02-14 14:45:33 -08:00
Romain Guy
366a84056c Expose several useful Bitmap APIs.
Bug #3408073

Bitmap.setHasAlpha() in particular is very useful for applications that use
ARGB_8888 bitmaps but want/need to benefit from an extra speed boost.

Change-Id: I73d081b7e43bd725baffd1a9892c72d8729816f7
2011-02-08 11:58:06 -08:00
Keiji Ariyama
7fb597df52 Fixing the wrong link in YuvImage JavaDoc.
Change-Id: Ie6334e16424e59b75274ef265f10d26ba484316a
2011-02-05 04:03:10 +09:00
Romain Guy
2fc941e465 Fixes cache misses and extra allocations.
Bug #3421454

Change-Id: If4d5c960a7e4c581a9d213073e658284b4e1c497
2011-02-03 16:20:08 -08:00
Romain Guy
feeea8f07c Assume ARGB_8888 for unknown configs.
Bug #3327175

Change-Id: If712a255ec65014cd2e007de1e4c6a1d67c19250
2011-02-01 11:22:46 -08:00
Romain Guy
f6a362a5f6 Don't convert 4444 images to 565.
Bug #3327175

Change-Id: I46d970e41947278f4c2476b347fd2403fe9a05e8
2011-01-31 22:05:58 -08:00
Jamie Gennis
5f8b6653e0 Add SurfaceTexture docs for getTransformMatrix.
Change-Id: Ib08d00525c7932b23ba5066c07c7470f813b74f8
2011-01-31 12:31:53 -08:00
Gilles Debunne
e1df07fc5a Merge "Fix for an IOOBoundsException in Paint." into honeycomb 2011-01-28 10:58:53 -08:00
Jamie Gennis
3c0f91b0e1 Merge "Add docs about threading to SurfaceTexture." into honeycomb 2011-01-28 10:42:53 -08:00
Gilles Debunne
1feba8bb02 Fix for an IOOBoundsException in Paint.
Bug 3331706

The temporary buffer starts at index 0 and shifts indexes by contextStart.
offset has to be changed accordingly.

Note that I didn't try to reproduce the monkey bug after this fix, but it
seems like a perfect explanation for the exception.

Change-Id: Ie69adc413670caed283bc46effc69f17a102922c
2011-01-27 18:39:42 -08:00
Jamie Gennis
37cec0fc50 Add docs about threading to SurfaceTexture.
This is a docs-only change.

Bug: 3362397
Change-Id: I5fad19a8ae112af73b1e235cf3d54bd2179d165a
2011-01-27 17:57:13 -08:00
Scott Main
f4f05b8f24 Update package descriptions with editorial revisions.
Notably, this removes exessive info about resources
from the content package, because it's not a good location
and the info is avilable in the dev guide, but also
added some of the info to the Resources class description.

Change-Id: Ie78af26c9cec66314deb98e53078f48e16c08e70
2011-01-26 14:58:19 -08:00
Romain Guy
2b1847ea60 Remove unused API
Change-Id: I1714fd82a64b752f0350ef4ef9179ce19e089c6a
2011-01-26 13:43:01 -08:00
Romain Guy
a566b7c3aa Fix bitmap meshes to work in display lists.
Change-Id: Ie226d049840942d9ad9cf58e0c19132f49d62a75
2011-01-23 16:36:11 -08:00
Patrick Dubroy
a383b3f646 Update Bitmap.recycle() doc for heap-allocated pixel data 2011-01-21 12:08:51 -08:00
Romain Guy
5a7b466a2b Add support for drawBitmapMesh().
Change-Id: Ic77f9c534bb90dc7b9458299544bd50b8b6ae6a5
2011-01-20 19:09:30 -08:00
Joe Onorato
120856c50a Pass SkRegion::toString() through to java.
Change-Id: I3814b491c689313c1f8da811a104d913175f6268
2011-01-19 15:29:31 -08:00
Owen Lin
4b26247e8b Merge "Change to stream decoding mode if the file descriptor cannot support seek." into honeycomb 2011-01-18 04:13:13 -08:00
Owen Lin
a9d0d47076 Change to stream decoding mode if the file descriptor cannot support seek.
bug: 3298498
Change-Id: Id7ae46bf8e885a417753edbd6648332052fee469
2011-01-18 18:25:32 +08:00
Romain Guy
1689c3459b Merge "Add BitmapFactory.Options.inMutable to load mutable bitmaps." into honeycomb 2011-01-17 13:03:16 -08:00