Also add additional compile time checks to ensure that the Java
and Skia APIs remain in sync.
bug:19890753
Change-Id: I8503cacf2859307e3f480a78603f9f05901b58cc
This adds HyphenEdit on the C++ and also to Java via JNI. HyphenEdit is
a Minikin feature for adding hyphens to text without having to edit the
string on the client side.
Change-Id: Icfb228407c1d11a716d055f813da7507acb38fbf
This removes dependence on SkPath ptrs that HWUI does not control
the lifecycle of. This clears up some errors where the paths are
not generated from Java, but rather the Skia test suites.
Cherry-pick of a change that originally landed in master-skia and is
dependent on a skia merge (ag/655422).
Change-Id: I41b9797a2b0af5d6b4ea51891565469d4f1d832d
Recent change to Skia moved SkMutex into its own header file. Include
it to use and SkMutex.
Use SK_DECLARE_STATIC_MUTEX to remove static initializer/finalizer.
Fixes master-skia build.
Change-Id: I2ab43c511587167b81310d5d55a65604d82761f5
With https://codereview.chromium.org/849103004/, SkStream is no longer
ref counted. Change callers that currently unref() SkStreams to one of
either:
- delete the stream
- pass ownership of the stream
screencap.cpp:
Call EncodeData directly, bypassing SkDynamicMemoryWStream and SkBitmap.
Utils.cpp:
Write directly to an SkData, and then use that to construct a new
SkStream.
Cherry-pick of a change that originally landed in master-skia and is
dependent on a skia merge (ag/655422).
Change-Id: Idc99ad7d5a70c893dc012d59915216f301ab3c9d
When reading from the parcel, if the number of colors is invalid, early
exit.
Add two more checks: setInfo must return true, and Parcel::readInplace
must return non-NULL. The former ensures that the previously read values
(width, height, etc) were valid, and the latter checks that the Parcel
had enough data even if the number of colors was reasonable.
Also use an auto-deleter to handle deletion of the SkBitmap.
BUG=19666945
Change-Id: Icbd562d6d1f131a723724883fd31822d337cf5a6
Fix a bunch of places where mNativeBitmap was being
poked at directly, switch them either to the NDK API
or to GraphicsJNI where it made sense
Change-Id: I6b3df3712d6497cba828c2d3012e725cb4ebb64d
When I moved this code here from external/skia, I accidentally changed
the lowercase 'm' to uppercase 'M'. Change back, to keep consistent
with SkXfermode and Xfermode.cpp.
Change-Id: I9694d29a22aaed7fcc8708f5962e3d2032297d08
We are removing it from Skia, so we need it here to support Android.
Add some small cleanups (remove comment that doesn't apply, convert
SK_OVERRIDE to override, remove 'virtual' keyword from methods with
'override' on them).
BUG:skbug.com/3329
Change-Id: I1f883082d6fb9d49b9c9ba9e1f50bd713eabf915
Changes proposed by Ben Hawkes of Google Project Zero.
NinePatchPeeker.cpp:
Instead of asserting, return false for bad data.
ResourceTypes.h:
Store ninepatch values as unsigned.
BUG:19151999
Change-Id: Ibe35e7569f632c6bb8a34a7701e26bb6ed547ec2
SkFontHost is now almost removed from Skia, and nothing is left in it
which interests Android. Remove the last few references to it to aid
in final removal.
Change-Id: I7d59cf7e08bdd5b9c3923c9ffaf03b1cc2f9f7b4
bug:18921087
This fixes issues where bitmaps are cached as textures, and not
reuploaded when reused by BitmapRegionDecoder, showing stale content.
Change-Id: I7626fd6acd36d8e38723689734855ce9154eb8c8
After "Use at least SkStreamAsset for SkTypefaces." there is now dead
code in AssetStreamAdapter. Remove the code and update the users.
Change-Id: I17a9d82dd6ca4d87a951c1570dc91de7f2fc54f2
The existing AssetStreamAdapter is only SkStreamRewindable, and does not
support 'duplicate'. This is needed in order for SkTypeface to be used
properly. Also, SkTypeface is moving to require SkStreamAsset for
creating typefaces for performance and code reasons.
In the previous code, Asset::getBuffer is called on creation of the
typeface, so do so explicitly and manage the memory directly. This
also prevents additional copies being made of the asset data.
BUG: 18867034
Change-Id: I458a8ec024efefb761138178b87b88b48cb4a773
This enables us to...
1) simplify the lifecycle/ownership between Java and HWUI
2) remove DisplayListRenderer::drawBitmapData and associated logic
3) track pixel lifecycle using standard SkPixelRef refcounting
4) Remove uncessary calls to ref/unref the bitmap's pixels and colorTable
Change-Id: I3c95078da20995444f6388a029414280fd654318
Adaptations to changes in Skia upstream since Oct 2014.
(https://code.google.com/p/skia/issues/detail?id=2377)
cbb922d use new roundOut signature
77082de Call SkColorTable::readColors().
5456ab1 Handle the result of SkMatrix::asAffine.
25cfc78 Remove dependence on SK_LEGACY_PICTURE_SIZE_API.
BUG:18468293
Change-Id: I5a4d274e854298843891410b1ffd5e24f038b88a
Incrementally unify the upper layers for Skia and HWUI.
Remove redundant code from GLES20Canvas.java; instead
use inherited mNativeCanvasWrapper and superclass method
definitions.
Moves some unrelated SkPaint utility functions from Renderer
to new utils/PaintUtils.
bug: 15672762
Change-Id: I4ddd4214b8e9eeb95289d054ef423f2542bb5fa5