608 Commits

Author SHA1 Message Date
Narayan Kamath
6606d16e09 am 6706888e: am 775667c0: am 03e8be75: am 8796ab7f: am bb35356d: Merge changes Id54087dd,I946325e4,I2a2b2e68
* commit '6706888e24aee04c2c914c44e5ef5b1510cf8013':
  AArch64: Use long for pointers in BitmapRegionDecoder
  AArch64: Use long for pointers in Movie class
  AArch64: Add AssetInputStream.getNativeAsset
2014-01-16 15:57:47 +00:00
Leon Scroggins III
0102f8a87a In nativeDecodeFileDescriptor, use fdopen.
Instead of attempting to mmap the entire file, create an
SkFILEStream from a FILE.

BUG:11669944
BUG:11028218
Change-Id: If67da91484acc79f9f3dde6d05201409c0c75e41
2014-01-15 13:39:19 -05:00
Leon Scroggins III
8790be6de3 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.

Change-Id: I1b36b0b0ce7126031eb7b769b563c17dcd4b306a
2014-01-15 11:37:04 -05:00
Ashok Bhat
b091d47a2e AArch64: Use long for pointers in BitmapRegionDecoder
For storing pointers, long is used in BitmapRegionDecoder
class, as native pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)

In addition, Graphics.cpp has been changed to work
with modified BitmapRegionDecoder.

Change-Id: Id54087dd3bfb29577e8b762e70946793369dc701
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2014-01-15 14:23:22 +00:00
Ashok Bhat
dcaf5593dd AArch64: Use long for pointers in Movie class
For storing pointers, long is used in Movie class,
as native pointers can be 64-bit.

In addition, 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: I946325e4af6cb9282012bebdaee89e1117d8797b
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2014-01-15 14:22:56 +00:00
Leon Scroggins III
b9c58ab617 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.

Change-Id: I2a5395914e4f53830aaefee396556459083a1c56
2013-12-17 15:51:33 -05:00
George Mount
7fe03a267e Add Path trimming.
Change-Id: Iafcf127a5136883ad4c0185d3c15f96d67f38d0d
2013-12-09 14:34:54 -08:00
The Android Open Source Project
ebcb32f58a Merge commit 'bac61807d3bcfff957b358cb9ad77850bd373689' into HEAD
Change-Id: I29374270c8e0c2f2859efaf1d55af9f73da0f8d7
2013-12-05 13:10:46 -08:00
Brian Carlstrom
e2aad50479 am 4a657244: am 59595f7a: am 8026b2ce: Merge "Use exceptionCheck after VMRuntime.newNonMovableArray/addressOf."
* commit '4a657244b3de44cf28aae952b8dc76f8598c61cb':
  Use exceptionCheck after VMRuntime.newNonMovableArray/addressOf.
2013-12-05 15:34:24 +00:00
Brian Carlstrom
59595f7a3e am 8026b2ce: Merge "Use exceptionCheck after VMRuntime.newNonMovableArray/addressOf."
* commit '8026b2ce23396262ad1f1e7a75093cd0e2467d4b':
  Use exceptionCheck after VMRuntime.newNonMovableArray/addressOf.
2013-12-05 07:25:20 -08:00
Mathieu Chartier
a1a19d28d0 Use exceptionCheck after VMRuntime.newNonMovableArray/addressOf.
Since VMRuntime.newNonMovableArray and VMRuntime.addressOf are java
methods implemented in Native, they don't necessarily return NULL
when an exception is thrown. Checking the exception instead of the
return value fixes errors which may occur if the runtime returns
garbage when an exception is pending.

Bug: 11971220
Change-Id: I70478834c9f14cc5d9e666e1e174d3fd09269719
2013-12-04 17:58:37 -08:00
Leon Scroggins III
aec09b6b98 Merge "Call SkBitmap::config() instead of ::getConfig()" 2013-12-04 18:14:29 +00:00
Victoria Lease
385739be8c Merge "Deprecate Android-specific SkPaint functions." 2013-12-03 23:30:30 +00:00
Victoria Lease
43b692d9a1 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
Change-Id: Id746315d41aec5b211b78b172a883c2061130f08
2013-12-03 15:02:28 -08:00
Leon Scroggins III
4b9a19a8f8 Call SkBitmap::config() instead of ::getConfig()
getConfig() has been deprecated.

Change-Id: I32066256ab82ac4760c752c80856d1b56d291fae
2013-12-03 15:23:11 -05:00
Leon Scroggins III
82b7b0b2af Remove call to deprecated function.
setPrefConfigTable(array) is being removed in
https://codereview.chromium.org/99473004

Change-Id: I2d7e25052861f7f1d54e2418c11204d51bb88b1e
2013-12-02 17:17:21 -05:00
The Android Open Source Project
dbccd44a63 Merge commit 'b873a17ce7be0a9771c24999adca6964431728f6' into HEAD
Change-Id: I938755073e70602cc8f51ce9bd420fdcf870cecd
2013-11-22 11:18:57 -08:00
Derek Sollenberger
f8627d658d Merge "framework changes needed to support Skia at r12108." 2013-11-21 15:04:03 +00:00
Derek Sollenberger
ed79ff0026 framework changes needed to support Skia at r12108.
Change-Id: I231e187e7d2db84fa06bd6783c9b49abba5b4e70
2013-11-20 14:50:51 -05:00
George Mount
34d8519de4 Merge "Add animations along a Path." 2013-11-20 15:47:00 +00:00
George Mount
c96c7b2e54 Add animations along a Path.
Change-Id: If03bd10a3961ff874e33489e1253146b8dadca33
2013-11-20 07:39:26 -08:00
Raph Levien
aff6ea9516 Merge "Initial integration of Minikin to framework" 2013-11-18 19:38:18 +00:00
Raph Levien
a033630e80 Initial integration of Minikin to framework
With this patch, framework does at least some of its text rendering
using Minikin instead of TextLayoutCache. There's a lot of stuff broken
and not yet implemented, but the phone will boot.

Changes are hidden behind USE_MINIKIN, which should be set in
BoardConfig.mk for the brave. Without that, there are changes to
signatures in JNI methods and so on, but shouldn't be any visible
changes.

This commit also introduces a new abstraction for Typeface:

The new TypefaceImpl abstraction represents the functionality that
corresponds to a Java Typeface object. Currently it is backed by
SkTypeface, but in the migration to Minikin it is a FontCollection
combined with a FontStyle. This patch introduces a USE_MINIKIN
preprocessor switch, so there is no substantial change to existing
Skia-based code, but which lets us start replacing the implementation
with the Minikin version.

Change-Id: I532c4c2d32d4f4c1f349dc1db37caa112af587ea
2013-11-18 10:32:20 -08:00
Svetoslav
765c9dfd54 am ebd616e8: am 134631b9: am 90242fe5: Merge "Switch to the new Skia PDF generation APIs." into klp-dev
* commit 'ebd616e88dab185bbf5b309d29c92a9eea9817e0':
  Switch to the new Skia PDF generation APIs.
2013-11-07 16:28:39 -08:00
Svetoslav
ebd616e88d am 134631b9: am 90242fe5: Merge "Switch to the new Skia PDF generation APIs." into klp-dev
* commit '134631b9078df0b9277fb3b8319bf3b85f690727':
  Switch to the new Skia PDF generation APIs.
2013-11-07 16:25:32 -08:00
Svetoslav
35aacf2eb3 Switch to the new Skia PDF generation APIs.
The new Skia PDF generation APIs are a small extension to
the code that converts drawing commands to PDF (SkPDFDevice)
and this new functionality is exposed via new APIs. This
change switches to using these new APIs allowing us to
capitalize on the new perspective support for PDF
generation.

bug:11561776

Change-Id: Ief61f7ff6a5a22c27d3acbe99a48910cb679f594
2013-11-07 14:15:19 -08:00
Victoria Lease
d0d4b00ac5 am dd3776d6: am 30a3ef6c: am c89eaf91: Merge "Fix for Typeface.create(Typeface, style) semantics changed in KK" into klp-dev
* commit 'dd3776d673776785f32aa7d813871a38de906c5d':
  Fix for Typeface.create(Typeface, style) semantics changed in KK
2013-11-06 11:39:58 -08:00
Victoria Lease
dd3776d673 am 30a3ef6c: am c89eaf91: Merge "Fix for Typeface.create(Typeface, style) semantics changed in KK" into klp-dev
* commit '30a3ef6c85011ba82a777e6eef7f026323019f35':
  Fix for Typeface.create(Typeface, style) semantics changed in KK
2013-11-06 11:37:15 -08:00
Raph Levien
4f0064fa34 Fix for Typeface.create(Typeface, style) semantics changed in KK
This is a fix for bug 11553661. The "closest match" heuristic for
resolving a typeface when an exact match was not found changed between
JB MR2 and KK, resulting in loss of custom typeface when StyleSpan was
applied. This patch reinstates the logic that had been present. Also
reported externally as:
https://code.google.com/p/android/issues/detail?id=61771

Change-Id: Ia432fca07c4bf3b830ee2487cd8f5267a9cfb7ff
2013-11-06 11:16:01 -08:00
Victoria Lease
ec1ae35c3e am ed82a648: am 54b7e3e8: am a80d6424: Merge "Implement language-specific GSUB processing" into klp-dev
* commit 'ed82a6482806b44fa816b8224d8c06fbffcd5bd3':
  Implement language-specific GSUB processing
2013-10-21 09:03:28 -07:00
Victoria Lease
ed82a64828 am 54b7e3e8: am a80d6424: Merge "Implement language-specific GSUB processing" into klp-dev
* commit '54b7e3e81c39a5e94fd3dcd67cc4eba0f56351f2':
  Implement language-specific GSUB processing
2013-10-21 09:01:18 -07:00
Elliott Hughes
b1ce729fd0 am 9f13a608: am 2ec939ba: am cf4c7bdd: Merge "Fix whitespace issues after casts."
* commit '9f13a608a703d4d12bbfc65472de766ece0037da':
  Fix whitespace issues after casts.
2013-10-18 12:16:53 -07:00
Elliott Hughes
9f13a608a7 am 2ec939ba: am cf4c7bdd: Merge "Fix whitespace issues after casts."
* commit '2ec939bac6263fefee2605d2b50136955cfcba6d':
  Fix whitespace issues after casts.
2013-10-18 12:11:42 -07:00
Elliott Hughes
f585655b4e am 4a5b3f0a: am ac6e036a: Merge "Remove dependency on jniGetNonMovableArrayElements."
* commit '4a5b3f0ad0b742fbdce154236b15185aaff87ffb':
  Remove dependency on jniGetNonMovableArrayElements.
2013-10-18 12:11:38 -07:00
Mathieu Chartier
6ecb7a9a27 Fix whitespace issues after casts.
Change-Id: Ief3e50fbedd193e22509aac783f16ba1288908de
2013-10-18 11:04:31 -07:00
Mathieu Chartier
7384b428c4 Remove dependency on jniGetNonMovableArrayElements.
jniGetNonMovableArrayElements is not safe and is going to be deleted.

Change-Id: I6daae1e4ac9e01ca593cda522fdbeb774eef1eff
(cherry picked from commit 75a5038849cecf38aba72721272ff07cca09501f)
2013-10-18 10:58:25 -07:00
Mathieu Chartier
75a5038849 Remove dependency on jniGetNonMovableArrayElements.
jniGetNonMovableArrayElements is not compaction safe and is going
to be deleted.

Change-Id: I6daae1e4ac9e01ca593cda522fdbeb774eef1eff
2013-10-18 09:53:45 -07:00
Raph Levien
677726b376 Implement language-specific GSUB processing
This patch allows HarfBuzz to select language-specific features based
on the language. It is a fix for bug 7004056.

Change-Id: I63f01b9580250728b900f19f357cefdeb9d36c72
2013-10-08 15:47:42 +02:00
Leon Scroggins III
6034ee95a0 am 25c4e987: am 97b707d5: am 80a058b3: Merge "Do not attempt to decode NULL SkData." into klp-dev
* commit '25c4e98711d29a69db96526e3c72604f7dbb1005':
  Do not attempt to decode  NULL SkData.
2013-10-08 06:41:06 -07:00
Leon Scroggins III
80a058b303 Merge "Do not attempt to decode NULL SkData." into klp-dev 2013-10-08 13:33:05 +00:00
Leon Scroggins III
f65183fd76 Do not attempt to decode NULL SkData.
NewFromFD fails if mmap fails. In that case, it returns a NULL
SkData. SkMemoryStream handles NULL input by calling SkData::NewEmpty,
which is not threadsafe. If the SkMemoryStream were to get some
busted SkData, its call to read might fail. Sidestep this problem
by not creating the SkMemoryStream if the SkData is NULL, skipping
the call to SkData::NewEmpty.

BUG:11028218
Change-Id: Id70299bef1c85ffb5d17102fdb5ea071b0bee68a
2013-10-07 17:30:47 -04:00
Victoria Lease
28ff40405d am e8200873: am 0d5a719d: am b088c9e0: Merge "reset mShapingPaint\'s SkTypeface before we use it" into klp-dev
* commit 'e8200873598cf872062126b86edd933620f594aa':
  reset mShapingPaint's SkTypeface before we use it
2013-10-04 18:04:57 -07:00
Victoria Lease
8450a6ef8b reset mShapingPaint's SkTypeface before we use it
Harfbuzz works in TTF glyph-space, but most of Skia works in
fallback glyph-space. shapeFontRun() helpfully calculates the
baseGlyphCount needed to convert between the two, but leaves
mShapingPaint's SkTypeface set to the specific TTF being shaped
rather than the original SkTypeface that was requested. Needless
to say, this causes all manner of horrific malady when glyph
indices are calculated in one glyph-index-space and then applied
to another.

To fix this issue, I reset mShapingPaint's SkTypeface when done
with the Harfbuzz shaping operation so that the baseGlyphCount only
gets applied once.

Change-Id: Ia886f89d667634e15e5fc8d7af443c9d1ba89622
2013-10-04 17:33:35 -07:00
Derek Sollenberger
5380709c78 am fad41c8f: am 5db1f5aa: Merge "Fix Java API error where requesting another style for a provided family fails" into klp-dev
* commit 'fad41c8fd1024a8257bdced18dbcbc9cd67e407a':
  Fix Java API error where requesting another style for a provided family fails
2013-09-24 10:22:29 -07:00
Derek Sollenberger
fe8e21fd80 Fix Java API error where requesting another style for a provided family fails
Internally the API uses the same code path as SkTypeface::CreateFromName which
returns NULL if the requested style is not supported by the existing family.
However, the existing Java API expects that we return the default font in the
requested style so this CL ensures that we do.

bug: 10860066
Change-Id: Ide3a0cc24015e97fa35aef283b42e7d7d11edd9c
2013-09-23 09:22:56 -04:00
Svetoslav
6e1e8b17c5 am c0e1ae01: am facc08c7: Merge "Move PdfDocument to android.graphics.pdf" into klp-dev
* commit 'c0e1ae0176b2ce23ea1b19883507cd920712289a':
  Move PdfDocument to android.graphics.pdf
2013-09-20 11:21:05 -07:00
Leon Scroggins III
29baa03ba5 am 2360ada9: am 57989c0e: Merge "Skip writing zeroes to java allocated memory." into klp-dev
* commit '2360ada939b0abd4a6cca794288ff06701219f19':
  Skip writing zeroes to java allocated memory.
2013-09-20 11:20:22 -07:00
Derek Sollenberger
8fa4e29f16 am 23b7bc1b: am a2c6209f: Merge "Update SkTypeface::CreateFromName to handle NULL if familyName does not match" into klp-dev
* commit '23b7bc1b4409ca5844db5f17992b906aa3e63927':
  Update SkTypeface::CreateFromName to handle NULL if familyName does not match
2013-09-20 09:57:42 -07:00
Svetoslav
facc08c775 Merge "Move PdfDocument to android.graphics.pdf" into klp-dev 2013-09-20 01:14:02 +00:00
Svetoslav
6811f4e92c Move PdfDocument to android.graphics.pdf
1. Move PdfDocument to android.graphics.pdf.

2. Changed the PdfDocument as per API concil request.

3. Updated the documentation.

bug:10461180
bug:10552565
bug:10681585
bug:10552336

Change-Id: I08e15b34cf37bb064248c887e6f59808019cafe8
2013-09-19 17:12:47 -07:00