701 Commits

Author SHA1 Message Date
John Reck
c42bfb95c6 Merge "Refactor VirtualLightRefBase & JNI" 2014-05-09 23:18:26 +00:00
John Reck
9fa4071c47 Refactor VirtualLightRefBase & JNI
Change-Id: I8e244e7109e59d5be96871b23bb9b1201c7f9eaa
2014-05-09 15:28:54 -07:00
Chris Craik
32054b0b3e Fix Bitmap.cpp line endings
Change-Id: Icc0b067437fffaa599c92841518ad0d526112f59
2014-05-09 13:59:36 -07:00
Derek Sollenberger
5b554f0103 Merge "Avoid caching shadow properties in Java & HWUI." 2014-05-08 14:41:47 +00:00
Derek Sollenberger
c29a0a4664 Avoid caching shadow properties in Java & HWUI.
bug: 10650594
Change-Id: I6f57df002710bb0567ed7e53fc0bfe96cfd504b8
2014-05-07 09:36:04 -04:00
Jeff Brown
c7282e57cd Fix crash due to texture view callback threading invariants.
Allow the client of a SurfaceTexture to specify the Handler to
which the update callback should be directed to avoid unnecessary
scheduling ping-pong between threads.

Fixed an invalid assumption in TextureView that it is attached
to the main looper which could result in a crash under certain
circumstances.  In normal app processes, it is true that TextureViews
must be created on the main looper since hardware rendering is
currently only supported on the main looper.  However, in the
system server, UI components run a different thread.  Although
hardware rendering is normally disabled in the system server,
it may be enabled for certain developer features.

Bug: 14445309
Change-Id: I5ae17ad018b9ef05ba87ec2f972c7c82e2bca70a
2014-05-06 17:13:43 -07:00
John Reck
52244fff29 Add CanvasProperty for drawCircle
Change-Id: Icbcc030f5033d2094e567d7c519b9d672f2aac1c
2014-05-02 13:43:46 -07:00
Elliott Hughes
fae7bedcf0 am f84493ec: am 91ff3c18: am 7d3f9e97: Merge "Fix for native leaks in YuvToJpegEncoder.cpp"
* commit 'f84493ec95bfce41106673645a3e56b185e54df5':
  Fix for native leaks in YuvToJpegEncoder.cpp
2014-04-30 23:19:03 +00:00
Elliott Hughes
91ff3c18db am 7d3f9e97: Merge "Fix for native leaks in YuvToJpegEncoder.cpp"
* commit '7d3f9e9730b100de4c0e643e13bf59bf54ef7819':
  Fix for native leaks in YuvToJpegEncoder.cpp
2014-04-30 19:02:53 +00:00
Elliott Hughes
7d3f9e9730 Merge "Fix for native leaks in YuvToJpegEncoder.cpp" 2014-04-30 18:59:54 +00:00
Bill Yi
293513a59d Merge commit '0b62467b142b61ee1e449ba958ba37dfd961ef56' into HEAD 2014-04-29 16:07:29 -07:00
Chris Craik
7979388d4f Support Oval GradientDrawable outlines, and ShapeDrawable
Change-Id: Ifc9e55757d3325cb28a1a812ec696512d4a18b39
2014-04-25 15:59:47 -07:00
Chris Craik
4d1c1538e2 Add floats-only drawRoundRect to Canvas
Change-Id: Ib0033a2d2486a808a44984ec4adf7fef76d9ea17
2014-04-24 14:23:52 -07:00
Raph Levien
0613657426 Merge changes Ia693f512,If3b7d41f
* changes:
  Enable elegant text metrics in Quantum theme
  Add elegantTextHeight text appearance attribute
2014-04-17 19:21:14 +00:00
Raph Levien
53c0077256 Add elegantTextHeight text appearance attribute
This patch adds an elegantTextHeight text appearance attribute and
plumbs it through to the paint. This attribute selects the elegant
variant of fonts (when appropriate, which is typically Arabic and indic
scripts), and also specifies larger vertical metrics, to avoid clipping.

The intent is for this to be the default for quantum themes, but this
patch doesn't change any default behavior, just adds the attribute.

The larger vertical metrics are applied to top and bottom, but should
not affect line spacing in the common case. Also, with the setting,
metrics are no longer dependent on the font, so setting a custom font
will preserve layout and spacing.

Change-Id: If3b7d41f141deff50ca078f479ca90c2aa07829a
2014-04-17 11:16:46 -07:00
Skia_Android Canary Bot
5932b0d8fc Call SkShader::isOpaque() to determine opaqueness.
It is invalid to call SkShader::getFlags() before calling
SkShader::setContext() - it will always return 0. Instead, call
SkShader::isOpaque().

Change-Id: If35108dc7f0eca55d2ec8466b8a50fd54dfb13a2
2014-04-17 09:55:59 -04:00
Leon Scroggins III
2e0103eb34 Remove SkFloatToScalar.
Now that SkScalar is always float (it may someday be double, but
float to double is trivial), remove callers of SkFloatToScalar,
which is deprecated in Skia.

BUG:13694396

Change-Id: I524a9bb6f7702bc810bac55fb9d2cd5361a01cf7
2014-04-07 18:41:17 -04:00
Leon Scroggins
cc11f15f76 Update to call new Skia APIs.
I816129d49c0118453222916f3c818eccac33663d merges a new version of
Skia that updates various APIs. Call the new ones.

SkBitmap::copyTo now takes an SkColorType instead of an
SkBitmap::Config, so do the conversion with
SkBitmapConfigToColorType or use the enum when it makes sense.

Call SkImageDecoder::decodeSubset instead of (deprecated)
SkImageDecoder::decodeRegion.

Override SkCanvas::ClipVisitor::clipRRect in ClipCopier.

In Canvas::clip calls, call SkCanvas::isClipEmpty(), which was
previously called inside the clip call, to determine the return value.

For various SkPaint effects, call the new factories (as the constructors
have been made protected).

Implement SkJavaOutputStream::bytesWritten(), overriding a new pure
virtual function on SkWStream.

Update Matrix calls to always return true (since SkMatrix calls no
longer return a value).

Depends on I816129d49c0118453222916f3c818eccac33663d (skia).

Change-Id: I5cdcea827ebff587df0bbddc0965e3e0fbf48002
2014-04-04 14:42:39 -04:00
Leon Scroggins
4a857b1d47 Merge "Update framework to use M34 version of Skia." 2014-03-27 19:36:43 +00:00
Narayan Kamath
ecd072161e resolved conflicts for merge of 22d07464 to master
Change-Id: Ic037261eedd6e224938c960d2b4597590c81ed9d
2014-03-27 14:22:47 +00:00
Leon Scroggins
46cb9bdbf5 Update framework to use M34 version of Skia.
These changes are needed due to changes in the Skia API.

Depends on https://googleplex-android-review.git.corp.google.com/#/c/439626/1
(Ic3cf846b74d6f10ec30c477b50fd774cc30ad52c)

BitmapFactory.cpp:
Use SkColorType instead of SkBitmap::Config, where possible.
Call SkBitmap::info() instead of deprecated SkBitmap::asImageInfo().
Remove calls to deprecated SkBitmap::getSize64().

Canvas.cpp:
ColorFilter.cpp:
Matrix.cpp
Remove the deprecated SK_SCALAR_IS_FIXED path. Leave in an else case for
SK_SCALAR_IS_FLOAT, to allow for eventual SK_SCALAR_IS_DOUBLE path.

Graphics.cpp:
Like in BitmapFactory.cpp, use new methods for determining the size of
pixels.

Paint.cpp:
Use more precise SkScalar_ToInt versions of macros.

TextLayoutCache.cpp:
Fix bug in macro definition for HB_SurrogateToUcs4.
Use the new name for SkCreateTypefaceForScriptNG.

android_view_SurfaceControl.cpp:
Replace ScreenshotPixelRef with a Skia pixel ref.

This is a merge from master-skia branch:
https://googleplex-android-review.git.corp.google.com/#/c/430554/
(Ie11503bcefd3883c466279fde5ce147c8a72b452)

Change-Id: Idf15746f93dabeb7862ac02cc6bd925f0dcc68ba
2014-03-27 09:42:17 -04:00
Narayan Kamath
22d074643e resolved conflicts for merge of eaab4df0 to klp-modular-dev-plus-aosp
Change-Id: I871431e5a3ce45a33563ced845e044d37471689b
2014-03-27 12:50:58 +00:00
Ashok Bhat
f5df700e6c AArch64: Make frameworks/base code more portable
Changes in this patch include

[x] Use %zu for size_t, %zd for ssize_t

[x] Some minor changes have been done to conform with
    standard JNI practice (e.g. use of jint instead of int
    in JNI function prototypes)

Change-Id: Id1aaa7894a7d0b85ac7ecd7b2bfd8cc40374261f
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2014-03-27 12:30:42 +00:00
Narayan Kamath
163b865564 am ea96d791: am 5f0d44f6: Merge "Fix scaleNinePatch."
* commit 'ea96d791c7eca3eb5d003b8559b89a573f81dac9':
  Fix scaleNinePatch.
2014-03-25 14:32:10 +00:00
Narayan Kamath
ab9efda69f am ea96d791: am 5f0d44f6: Merge "Fix scaleNinePatch."
* commit 'ea96d791c7eca3eb5d003b8559b89a573f81dac9':
  Fix scaleNinePatch.
2014-03-25 14:31:45 +00:00
Narayan Kamath
02eb6bfd66 Fix scaleNinePatch.
Use yDivs for yDivs, and not xDivs.

bug: 13394494

(cherry picked from commit 42a51ae8812bccde7ff370cc2688f7955e489ad4)

Change-Id: Ia0a7d701a170945216ab247a483e7f972b6fe17e
2014-03-24 12:35:01 +00:00
Victoria Lease
1e0ae4fa4b am ca58036d: am cfd46dc4: am 610d401c: am e9c7fd2f: am 55371beb: am 754bf6ab: am c8868db2: am 737d3e5d: am 6b96ecca: am 32753f4f: am 31912122: am 6eb28103: am 183f97b7: am 1c12f9e7: malloc some advances
* commit 'ca58036dd8018bec81fc5ab9d0376cd35b363125':
  malloc some advances
2014-03-20 15:46:18 +00:00
Victoria Lease
3486659584 am cfd46dc4: am 610d401c: am e9c7fd2f: am 55371beb: am 754bf6ab: am c8868db2: am 737d3e5d: am 6b96ecca: am 32753f4f: am 31912122: am 6eb28103: am 183f97b7: am 1c12f9e7: malloc some advances
* commit 'cfd46dc4847d5ef1ed14484717cf857ae5f67cae':
  malloc some advances
2014-03-20 15:41:49 +00:00
Victoria Lease
ca58036dd8 am cfd46dc4: am 610d401c: am e9c7fd2f: am 55371beb: am 754bf6ab: am c8868db2: am 737d3e5d: am 6b96ecca: am 32753f4f: am 31912122: am 6eb28103: am 183f97b7: am 1c12f9e7: malloc some advances
* commit 'cfd46dc4847d5ef1ed14484717cf857ae5f67cae':
  malloc some advances
2014-03-19 22:36:38 +00:00
Victoria Lease
610d401cb5 am e9c7fd2f: am 55371beb: am 754bf6ab: am c8868db2: am 737d3e5d: am 6b96ecca: am 32753f4f: am 31912122: am 6eb28103: am 183f97b7: am 1c12f9e7: malloc some advances
* commit 'e9c7fd2f2ee7840c61dc66ead3737e437f4e8c10':
  malloc some advances
2014-03-19 22:27:06 +00:00
Victoria Lease
754bf6abc0 am c8868db2: am 737d3e5d: am 6b96ecca: am 32753f4f: am 31912122: am 6eb28103: am 183f97b7: am 1c12f9e7: malloc some advances
* commit 'c8868db2a025a97e439f8a9adde565c9c83f2204':
  malloc some advances
2014-03-19 15:08:32 -07:00
Victoria Lease
6eb2810318 am 183f97b7: am 1c12f9e7: malloc some advances
* commit '183f97b72faf7a0f45ad66e1b3fd9a4343cc7482':
  malloc some advances
2014-03-19 14:32:15 -07:00
Victoria Lease
183f97b72f am 1c12f9e7: malloc some advances
* commit '1c12f9e76298c757423155ad812890d27effafe8':
  malloc some advances
2014-03-19 14:27:19 -07:00
Dan Stoza
72191f3dc1 Merge "Remove deprecated BufferQueue constructor" 2014-03-18 16:55:57 +00:00
Victoria Lease
1c12f9e762 malloc some advances
Bug: 13506939
Change-Id: I87ad616960c4f16bc55d8b906049dbd4f001d6a5
(cherry picked from commit 3af2a37e057b31617b8f4eeb22ac3ef85c3fd5aa)
2014-03-18 16:22:20 +00:00
Narayan Kamath
5b3dad0804 am 6cf9aa2e: am b4b431b0: am d2133079: am 7c0dfed5: Merge "Pass int32_t for JNI calls to java Input/Output streams."
* commit '6cf9aa2e5cb0e65ecda9617304af19c827404e1a':
  Pass int32_t for JNI calls to java Input/Output streams.
2014-03-18 09:50:15 +00:00
Narayan Kamath
b4b431b0d2 am d2133079: am 7c0dfed5: Merge "Pass int32_t for JNI calls to java Input/Output streams."
* commit 'd2133079c085cb0879facc8ee72678524d22571a':
  Pass int32_t for JNI calls to java Input/Output streams.
2014-03-18 09:41:31 +00:00
Narayan Kamath
ddcaf0d178 am d2133079: am 7c0dfed5: Merge "Pass int32_t for JNI calls to java Input/Output streams."
* commit 'd2133079c085cb0879facc8ee72678524d22571a':
  Pass int32_t for JNI calls to java Input/Output streams.
2014-03-18 09:41:20 +00:00
Victoria Lease
3af2a37e05 malloc some advances
Bug: 13506939
Change-Id: I87ad616960c4f16bc55d8b906049dbd4f001d6a5
2014-03-17 16:03:28 -07:00
Leon Scroggins III
f096ed68e1 am 2fd045c0: DO NOT MERGE - merge nativeDecodeFileDescriptor fixes into KLP-MR2 BUG:13191516
* commit '2fd045c092b08772be81a6d58bbb95e5e608403f':
  DO NOT MERGE - merge nativeDecodeFileDescriptor fixes into KLP-MR2 BUG:13191516
2014-03-17 15:55:46 +00:00
Leon Scroggins III
96978ee290 am f8d8777d: Update framework to use M33 Skia. DO NOT MERGE
* commit 'f8d8777dddf91c741981b4f795f2fb2b1d81c1b6':
  Update framework to use M33 Skia. DO NOT MERGE
2014-03-17 15:55:43 +00:00
Leon Scroggins III
2fd045c092 DO NOT MERGE - merge nativeDecodeFileDescriptor fixes into KLP-MR2
BUG:13191516

Original CLs below:

In nativeDecodeFileDescriptor, use fdopen.

Instead of attempting to mmap the entire file, create an
SkFILEStream from a FILE.

BUG:11669944
BUG:11028218
Cherry-pick from: If67da91484acc79f9f3dde6d05201409c0c75e41

-------------------------------------------------------------------------

Decode file descriptor from the correct offset.

Fix a few bugs in nativeDecodeFileDescriptor:
1. Restore the FD's offset when exiting the function.
2. Copy the data when potentially using an SkImageRef.
   The old behavior would have continued to modify the
   file descriptor's offset each time a new decode was
   required. The copy ensures that the file descriptor
   remains unchanged.
3. Buffer the file stream.
   Prior to this change, if the image was not a PNG,
   the stream would be rewound to the beginning of the
   file, even if the file descriptor was passed in with
   an offset. Thanks to the buffer, the stream is only
   rewound to the original offset.

Depends on https://googleplex-android-review.googlesource.com/#/c/415821/1
in external/skia

BUG:12807677
BUG:12895876
Cherry-pick from: I38b8cf5d210dbbc0107e6562e3884867de57fc4b
2014-03-17 14:18:53 +00:00
Leon Scroggins III
f8d8777ddd Update framework to use M33 Skia. DO NOT MERGE
(These CLs are already in master.)

Bug: 13246311

This cherry-picks 7 CLs:

-----------------------------------------------------------------------

Remove calls to deprecated SkBitmap::setIsOpaque()

setIsOpaque() has been removed from ToT Skia.

Update setters for mIsPremultiplied and hasAlpha to take the
other into consideration.

cherry-pick from: I1b36b0b0ce7126031eb7b769b563c17dcd4b306a

-----------------------------------------------------------------------

Merge AssetStream with AssetStreamAdaptor.

Add enums to the constructor for AssetStreamAdaptor to choose the
different behaviors used by the (former) two different classes.

The old clients of AssetStream now get the following features of
AssetStreamAdaptor
- Debugging statements on error.
- The stream is an SkStreamRewindable.
- getLength() returns the correct value, and the old way of getting
  the length (read(NULL, 0)) is no longer implemented, since it is
  no longer used.
- isAtEnd() returns the correct value. ToT Skia makes it pure virtual,
  so some implementation is necessary.

cherry-pick from: I2a5395914e4f53830aaefee396556459083a1c56

-----------------------------------------------------------------------

Deprecate Android-specific SkPaint functions.

The following functions were problematic:
 const SkGlyph& getUnicharMetrics(SkUnichar, const SkMatrix*);
 const SkGlyph& getGlyphMetrics(uint16_t, const SkMatrix*);
 const void* findImage(const SkGlyph&, const SkMatrix*);

Replacing them with calls through SkGlyphCache solved a nasty crash
bug, so they have all been deprecated.

Bug: 11968757
cherry-pick from: Id746315d41aec5b211b78b172a883c2061130f08

-----------------------------------------------------------------------

pass SkGlyphCache into updateGlyphCache()

Doing so prevents us from double-locking the glyph cache, thereby
effectively locking ourselves out of reusing work that we'd just done.

Bug: 11968757
cherry-pick from: I5c552f2d0bbe30af2ce9054ba684e7da756a0d89

-----------------------------------------------------------------------

Updates to the Skia API needed to merge the WebView m33 version of Skia.

cherry-pick from: I0f63b53f2aae58871413b132742fc84138f069a3

Bugfix for screenshots (recent apps) due to incorrect rowBytes computation

bug: 12915192
cherry-pick from: I4d5fe2a2f75baf66099e0970fb646686a1992714

-----------------------------------------------------------------------

Fix bug in AndroidPixelRef where we did not store the correct imageInfo for a recycled bitmap.

cherry-pick from: I882483b78886e2f19fa4e43a86e69f5a82b3b7e5

-----------------------------------------------------------------------

Change-Id: Ie2b731a9f0795802418cfecddb4b684c92c64d33

Conflicts:
	core/jni/android/graphics/Bitmap.cpp
	core/jni/android/graphics/Graphics.cpp
	core/jni/android/graphics/Typeface.cpp
	graphics/java/android/graphics/Bitmap.java
2014-03-17 13:57:18 +00:00
Ashok Bhat
2bb39d7a43 Pass int32_t for JNI calls to java Input/Output streams.
Passing size_t is problematic on 64 bit platforms where
it's 8 bytes in size. Conversion to int32_t is safe because
the size argument is always clamped to fCapacity, which is
4 bytes wide.

Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Change-Id: I58558561a4f56451485f1a5fc6cdeda677247071
2014-03-17 10:13:16 +00:00
Dan Stoza
0dc146be5a Remove deprecated BufferQueue constructor
Bug: 13415624
Change-Id: Ib9788bca98fca22e0e4d81756d4aa3b29d5d5af2
2014-03-12 15:39:33 -07:00
Narayan Kamath
a742ca4017 am bbf82665: am 6e2fb587: Merge "LP64: Make 9 patches architecture agnostic."
* commit 'bbf826659e8e5d0be683b2459207c495303d53b6':
  LP64: Make 9 patches architecture agnostic.
2014-03-11 18:52:07 +00:00
Narayan Kamath
42a51ae881 Fix scaleNinePatch.
Use yDivs for yDivs, and not xDivs.

bug: 13394494
Change-Id: I4ca5fe33cf61922a894f071927ef08b2d7db7dd0
2014-03-11 16:50:30 +00:00
Narayan Kamath
b5c4e7fd38 resolved conflicts for merge of 92860a74 to master
Change-Id: I3036ef9f1251c756092dc5ee2c4fed8146855e1e
2014-03-10 10:57:05 +00:00
Narayan Kamath
6381dd4ff2 LP64: Make 9 patches architecture agnostic.
The Res_png_9patch struct had several pointer members
whose size differed between 32 and 64 bit platforms.

These members have been replaced by uint32_t offsets
to serialized data. The serialized form for 9patches
places a Res_png_9patch object at the beginning of
serialized data, followed by int32_t arrays of xDivs,
yDivs and colors.

Note that these offsets are not strictly required,
since they can be computed from the values of numXDivs,
numYDivs & numColors, however they are called in tight
loops so having them computed once is a beneficial.

This change also removed the unused patch_equals function
from aapt's Image.cpp.

Change-Id: I3b9ac8ae5c05510d41377cae4dff1c69b40c2531
2014-03-10 10:00:02 +00:00
Narayan Kamath
b2235d5db7 am fca204a4: am 05cebdc2: Merge "Fix several bad function definitions."
* commit 'fca204a4b8771b800383c91465a48eb2cd8b3ba2':
  Fix several bad function definitions.
2014-03-07 19:41:27 +00:00