1325 Commits

Author SHA1 Message Date
Victoria Lease
1e546815bb Support RGBA fonts and bitmap fonts (and RGBA bitmap fonts)
Quite a few things going on in this commit:

- Enable bitmap strikes by default in Paint objects.

The SkPaint parameter that enables bitmap strikes was not previously
included in DEFAULT_PAINT_FLAGS. This effectively disabled bitmap
fonts. Oops! It's for the best, though, as additional work was needed
in Skia to make bitmap fonts work anyway.

- Complain if TEXTURE_BORDER_SIZE is not 1.

Our glyph cache code does not currently handle any value other than 1
here, including zero. I've added a little C preprocessor check to
prevent future engineers (including especially future-me) from
thinking that they can change this value without updating the related
code.

- Add GL_RGBA support to hwui's FontRenderer and friends

This also happened to involve some refactoring for convenience and
cleanliness.

Bug: 9577689
Change-Id: I0abd1e5a0d6623106247fb6421787e2c2f2ea19c
2013-07-31 15:50:47 -07:00
Romain Guy
6d64d5ab84 Merge "Add missing InsetDrawable.getDrawable() method" 2013-07-31 00:54:25 +00:00
Romain Guy
84956d53f1 Add missing InsetDrawable.getDrawable() method
Change-Id: I216b0e8a327f495fd83ebac79013418dbae007b9
2013-07-30 13:01:40 -07:00
Eino-Ville Talvala
2f1a2e423e Camera2 API: Rename package to android.hardware.camera2
Change-Id: I77b7939e199f9fe8e12a59393c24cff08097448c
2013-07-30 11:37:31 -07:00
Romain Guy
56fbb6362b Merge "Add path ops API" 2013-07-30 17:53:05 +00:00
Romain Guy
8018c8db82 Add path ops API
Path ops can be used to combine two paths instances in a single path
object. The following operations can be used:

- Difference
- Reverse difference
- Union
- XOR
- Intersection

To use the API:

Path p1 = createCircle();
Path p2 = createRect();

Path result = new Path();
result.op(p1, p2, Path.Op.DIFFERENCE);

This code will subtract the rectangle from the circle and generate
the resulting path in "result."

Change-Id: Ic25244665b6691a7df0b0002a09da73d937b553b
2013-07-30 10:51:24 -07:00
Jason Sams
d979208974 Relax restriction on Colormatrix and add Add step.
Change-Id: Iccb519bb40f58f02346b5c0a10c1378cb853e3f8
2013-07-29 22:09:08 +00:00
Mathias Agopian
cb92a8d942 fix SDK build
Change-Id: I41c19740b8f0532dbd6184e13bae43a13aaa46e2
2013-07-27 17:16:53 -07:00
Mathias Agopian
e591b49de0 single buffer mode for SurfaceTexture
Bug: 9891035
Change-Id: Ib9cc2b64f7ff3c084ef1d7db442db8e7a24a923d
2013-07-26 19:33:54 -07:00
Mathias Agopian
9f213c8b64 Merge changes I487d4eef,Ia750811f
* changes:
  get rid of PixelFormatInfo and simplify things
  get rid of PIXEL_FORMAT_A_8
2013-07-26 20:56:23 +00:00
Mathias Agopian
2ca204e4c0 get rid of PixelFormatInfo and simplify things
Change-Id: I487d4eef7db0095ace4babf5bb100a8769711257
2013-07-25 19:25:10 -07:00
Scott Main
a06cba19c9 am 8d9a4bd1: am 174dd066: Merge "remove link to renderscript support library" into jb-mr2-ub-dev
* commit '8d9a4bd1eb09cc795bf96c4f3a2824f9642c70e4':
  remove link to renderscript support library
2013-07-24 16:26:43 -07:00
Scott Main
d2d43b9647 remove link to renderscript support library
Change-Id: If8e693239b92058c0a2928e0811870bec3a150fe
2013-07-23 21:08:30 -07:00
Chris Craik
9c2cde0583 Use IllegaleStateException to be consistent with rest of Bitmap class
Change-Id: Idd1c77f92eafa8a43619d27a9567382447540e5f
2013-07-23 14:14:45 -07:00
Mathias Agopian
d84feebba4 Merge "update to new Consumer APIs" 2013-07-20 01:03:22 +00:00
Chris Craik
ef5498edf6 Merge "Add reconfigure method to Bitmap" 2013-07-18 22:55:44 +00:00
Chris Craik
c84d203da2 Add reconfigure method to Bitmap
bug:9797004

Grants a means to reuse a bitmap's allocation for different
width/height/Config without going through
BitmapFactoryOptions.inBitmap

Change-Id: Ib62319f3bd96c451fc1636288adf06a8275b4e3d
2013-07-17 12:08:01 -07:00
Mathias Agopian
e32632682c update to new Consumer APIs
Change-Id: I8649f3add40e0aeeeb0396b98e2cb93312e8e990
2013-07-16 23:14:24 -07:00
Romain Guy
4e7b772b73 Fix crashes in setMatrix() and concat()
setMatrix() was crashing in native code, only with hw acceleration on.
concat() would throw a NullPointerException. It now ignores null matrices.

Change-Id: Iebd8b410a957d2ba501570c6fbb3f680ff4a1a23
2013-07-16 14:52:55 -07:00
Romain Guy
787e35793f Trace bitmaps decoding
Also remove dead code

Change-Id: Ie931b21858ccbe6ee4def54caf028fd2aed23317
2013-07-11 17:37:31 -07:00
Andy McFadden
e68720ee15 Merge "Minor fixes to android.graphics.Matrix" 2013-07-10 16:44:40 +00:00
Andy McFadden
73b81e75df Minor fixes to android.graphics.Matrix
Tweaked equals() and finalize(), introduced trivial hashCode().

(Also picked up a handful of automatic trailing-space removals.)

Bug 9756081

Change-Id: I4639cf1e970a16179fa6c0d24785f4d0dfbe58ed
2013-07-09 16:45:20 -07:00
Chris Craik
0c20c3898a Use global references for Bitmap AndroidPixelRefs
bug:9621717

Because we're no longer holding onto Bitmaps Java side during
DisplayList lifetime, use global refs to keep the backing byte arrays
around.

Adds back bitmap buffer passing + native ref management removed by
3b748a44c6bd2ea05fe16839caf73dbe50bd7ae9

Adds back globalRef-ing removed by
f890fab5a6715548e520a6f010a3bfe7607ce56e

Change-Id: Ia59ba42f05bea6165aec2b800619221a8083d580
2013-07-08 11:08:02 -07:00
Jason Sams
ec6221e555 Merge "Add 2,3 vectors to allowed intrinsic list." 2013-06-27 22:45:26 +00:00
Jason Sams
d93fdb77d8 Add 2,3 vectors to allowed intrinsic list.
Change-Id: Iafd90ef4337076ed9d1e335c16272a0517f846b3
2013-06-27 15:42:30 -07:00
Romain Guy
e3b0a0117a Refcount 9-patches and properly handle GC events
This change adds refcounting of Res_png_9patch instances, the native
data structure used to represent 9-patches. The Dalvik NinePatch class
now holds a native pointer instead of a Dalvik byte[]. This pointer
is used whenever we need to draw the 9-patch (software or hardware.)

Since we are now tracking garbage collection of NinePatch objects
libhwui's PatchCache must keep a list of free blocks in the VBO
used to store the meshes.

This change also removes unnecessary instances tracking from
GLES20DisplayList. Bitmaps and 9-patches are refcounted at the
native level and do not need to be tracked by the Dalvik layer.

Change-Id: Ib8682d573a538aaf1945f8ec5a9bd5da5d16f74b
2013-06-26 17:15:08 -07:00
Romain Guy
f296dca95f (Small) 9patch drawing improvements
Save a bit of memory in meshs generated from native code
Avoid an extra if/else when drawing with hardware accelration on

Change-Id: I31a4550bde4d2c27961710ebcc92b66cd71153cc
2013-06-24 16:45:41 -07:00
Svetoslav Ganov
ff4adde573 Generate PDF from Canvas.
This change adds simple APIs that enable an Android application
to generate a PDF document by drawing content on a canvas.

Change-Id: Ibac93d7c37b01a376ce7c48238657d8c7698d588
2013-06-19 19:35:38 -07:00
Jason Sams
9274384ff0 Fix docs
Change-Id: Ie6563f633481951d97f319aefd282b15c049e281
2013-06-18 18:52:42 -07:00
Jason Sams
1a3edb00c5 Update histogram docs.
Change-Id: I6cfedb5cac459befb083f352f43ed33f4418145a
2013-06-18 18:23:37 -07:00
Jason Sams
048c978ae5 Allow single channel and float convolve.
Change-Id: If448ea2ae38de2f8b95fc884ea0dbf8222964012
2013-06-18 17:39:10 -07:00
Jason Sams
8ace2acbf1 Add support for vec2 histogram
Change-Id: I30ab758a44485a8ea30043c4cd782c3560074c58
2013-06-18 17:34:34 -07:00
Jason Sams
109c46b8ea Merge "Add histogram intrinsic" 2013-06-19 00:26:38 +00:00
Jason Sams
01e9f90576 Add histogram intrinsic
Change-Id: I67bcaaef033d8770047923e8243e739010238539
2013-06-18 11:53:03 -07:00
Zhijun He
1eb818e5b3 Add Y8 and Y16 image format
These APIs are hidden. Also correct the value of RAW_SENSOR.

Bug: 9254294
Change-Id: Ic6271f5f6bfcfdd8b545d69a9a2154241c34d73b
2013-06-18 10:13:18 -07:00
Alan Viverette
f390f770ee Postpone creating new drawables for DrawableContainerState.
When creating a DrawableContainerState from a constant state, calls to
ConstantState.newDrawable() are postponed and made as they are needed.

Bug: 9280861
Change-Id: I03c93a43ee00aca3ff618d66d7f507f1722538d1
2013-06-13 15:11:16 -07:00
Eino-Ville Talvala
b2675542c2 Initial commit of new camera API, mostly just the interface.
- New core API classes in android.hardware.photography
- android.media.Image and android.media.ImageReader classes for
  application access to direct hardware image buffers.
- Additions to android.graphics.ImageFormat to describe new image
  types needed by new camera API.
- Some documentation included; very little implementation.

Bug: 9111736
Change-Id: I0680f35944d1cb8845b7dc0c67edc8c0f0864573
2013-06-07 21:29:45 +00:00
Romain Guy
81056427e8 Merge "Remove unnecessary Rect, better reuse of NinePatch objects" 2013-06-07 20:14:58 +00:00
Romain Guy
f3187b7df1 Remove unnecessary Rect, better reuse of NinePatch objects
Cloning drawables (which happens a lot) was creating copies of NinePatch
objects, which would cause the hardware renderer to generate more meshes
than necessary. Also avoid keeping a String we don't need (it was interned
but still.) Last but not least, remove 1 RectF per NinePatch in the system.

Change-Id: If4dbfa0c30892c9b00d68875e334fd5c2bde8b94
2013-06-07 12:17:11 -07:00
Chris Craik
34bff87b32 Merge "Add support for post-decode density scaling with reuse" 2013-06-06 21:04:49 +00:00
Alan Viverette
b33d778e9c Merge "Deprecate DrawableStateList.getChildren() and add getChild()." 2013-06-06 17:36:40 +00:00
Chris Craik
1e97ceb469 Merge "Support all formats for BitmapFactory.Options.inBitmap" 2013-06-06 16:13:30 +00:00
Alan Viverette
7214643332 Deprecate DrawableStateList.getChildren() and add getChild().
Moves from exposing the internal structure of a drawable state list
to only exposing the data. Adds getCapacity() and mutate() as
package-private APIs to support various drawable subclasses.

Change-Id: Id08743f979287e1a305f069ccc3c0085a7da6f7b
2013-06-05 17:12:19 -07:00
Chris Craik
905e8246ef Add support for post-decode density scaling with reuse
Also, simplifies scaling path, removing java variant - we always do
the scaling in native, which has the benefit of avoiding non-native
temporary allocations

Change-Id: I39c2219f5d77a267719629704e65611cf4388a82
2013-06-05 16:09:31 -07:00
Tim Murray
3f4579fbe4 am 379641a7: am ea45ab6f: Merge "Improve RS documentation." into jb-mr2-dev
* commit '379641a7ef09e1d7fab34d3027c5809fb2bc21ad':
  Improve RS documentation.
2013-06-05 13:53:28 -07:00
Tim Murray
c11e25c4e6 Improve RS documentation.
bug 8570568
Change-Id: I465fcc8ec3e2cc892dc3cb0067aacf5224338102
2013-06-05 11:28:45 -07:00
Chris Craik
7e8c03c0fe Support all formats for BitmapFactory.Options.inBitmap
bug:9194265

Instead of using custom code in skia to avoid allocations, use a
custom allocator that reuses the allocations from the inBitmap.

In order to avoid inconsistent state, the decode is done in a
separate bitmap and swapped into the existing native bitmap.

Eventually, we'd like to support inScaled=true completely avoiding
java allocations.

Change-Id: Ic4a2f2373b100a80a32c1cdebb7bcb726711c8a7
2013-06-03 18:14:44 -07:00
Jason Sams
1b1c39d773 am d19068a7: am 413adc92: Merge "Fix free after use with createFromBitmapResource" into jb-mr2-dev
* commit 'd19068a7d28d129f5a1a1be478e972b40cea04eb':
  Fix free after use with createFromBitmapResource
2013-06-01 09:51:46 -07:00
Jason Sams
3ece2f3268 Fix free after use with createFromBitmapResource
Bug 9227350

Change-Id: Iee7610a9bf3d9d1baf14b968aed2a7d0876d2af7
2013-05-31 14:01:04 -07:00
Romain Guy
54999da4b6 Remove MipmapDrawable
It's a hidden API that nobody uses.

Change-Id: Ie0ecbc45cd191a595e53fe8765defe6f2aa7e3f6
2013-05-30 17:34:27 -07:00