Commit Graph

37 Commits

Author SHA1 Message Date
Yuqian Li
9969111d9c Implement SkiaCanvasProxy::onDrawArc
Test: UiRendering CTS SweepTests with picture mode turned on and
drawBitmapMesh turned off (it's not implemented yet).

This should fix BUG:34306056, and part of BUG:34871089 (the drawArc part
of SweepTests in picture mode).

BUG:34306056
BUG:34871089

Change-Id: I8fdcf72ddb4a0bfccedfd7e4e374a1ec5df17d75
(cherry picked from commit 538b6359cf81b14322141089161f20291295d6d3)
2017-02-11 01:47:12 +00:00
Mark Salyzyn
db15537e6e resolve merge conflicts of 082a1721b5 to master
Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I17f178f425975c1c0dbd48091d25b101956d505e
2017-01-11 08:30:17 -08:00
Mark Salyzyn
52eb4e01a4 Replace cutils/log.h and log/logger.h with log/log.h
Test: compile
Bug: 26552300
Bug: 31289077
Change-Id: I578b15b48f0fc2807a92abbc69a377c3d2191496
2017-01-09 14:31:34 -08:00
Derek Sollenberger
c543713bab Merge "Remove clipRegion from the public API." 2017-01-09 18:01:50 +00:00
Stan Iliev
770e0b5007 Implement image draw functions in SkiaCanvasProxy
Implement onDrawImage, onDrawImageRect and onDrawImageLattice in
SkiaCanvasProxy. This allows to replay SkPicture with HWUI pipeline.
This CL is needed to keep up with other changes in SkiaRecordingCanvas,
because Canvas::drawBitmap is translated to SkCanvas::drawImage.

Test: Built and ran angler-userdebug, ran HWUI unit tests.
Change-Id: Icd6cfd3bc51628a2c336faf4c95dfd5366a949a9
2017-01-05 16:53:14 -05:00
Derek Sollenberger
b29b16e542 Remove clipRegion from the public API.
This API is difficult to support for printing and has other negative
effects as it does not respect the current matrix/clip.

Test: compile
Bug: 14650725
Change-Id: I71f9bd687d446c7ce8910d755421aad8e09458db
2017-01-04 14:57:43 -05:00
Mike Reed
6e49c9f007 switch over clip calls to use SkClipOp instead of SkRegion::Op
Change-Id: I67d23c487b5249bc31d96e3b2393f693c0b2bcff
2016-12-07 10:34:39 -05:00
Derek Sollenberger
09bd6c201d Implement onDrawTextBlob in the SkiaCanvasProxy.
Test: hwui_unit_tests now pass
Bug: 30353290
Change-Id: I26c98be394e9dbd1cf63fe3eac18cb090403ace7
2016-11-03 17:41:44 +00:00
Mike Reed
c2f31df8b3 use SkBlendMode
skbug.com/5814

Test: compile only
Change-Id: Ibbaff43df1117b2ca77fd8f917f03d88cc476330
(cherry picked from commit 26edbcba8a2ed4cb300e7f87e679e3b73cec2772)
2016-11-02 11:36:48 -04:00
sergeyv
fc9999505a Pass Bitmap instead of SkBitmap for bitmap rect operation
Test: refactoring cl.
bug:32216791

Change-Id: I66d19194c57b3aa2c400aa87acffc774a533776a
2016-10-20 14:04:35 -07:00
sergeyv
aed7f58fb0 Pass Bitmap instead of SkBitmap in canvas.drawBitmap(Bitmap, float,float,Paint)
Test: refactoring cl.
bug:32216791

Change-Id: If9f9fbc19e683b14cce6c3c268258bd832d495d2
2016-10-20 09:50:49 -07:00
Stan Iliev
2b2c7f1e4e Merge "Fix bound rectangle calculation in SkiaCanvasProxy::onDrawPosText" 2016-07-25 21:22:51 +00:00
Stan Iliev
d84d2ee335 Fix bound rectangle calculation in SkiaCanvasProxy::onDrawPosText
SkiaCanvasProxy::onDrawPosText was calculating wrong bound rectangle,
because the initial rectangle used to accumulate the result was not
initialized.

bug: 30357689
Change-Id: I2c2afd4645237c50a3fcf2bbd99ae1ce2cd911c1
2016-07-25 15:23:29 -04:00
Yuqian Li
afc221499d More efficient text rendering on path
Change-Id: I004c15473b527df0f296c54a6a3e9b29505fd9b9
2016-07-25 13:44:14 -04:00
Matt Sarett
79fc3b1f16 Update SkiaCanvasProxy with SkSurface API change
(cherry picked from commit 187b99292d0bf86e9e76b0c8d447abcbefe29afb)

Change-Id: I09a5ae6a844dec4607bc3f45e22dad93a00c0dc8
2016-07-15 08:19:11 -04:00
Derek Sollenberger
35934cccab Compute text bounds on a per glyph basis when drawing from an SkPicture.
bug: 27665826
Change-Id: I031c08a348b2488c85f74e708ee90019b24d707f
2016-03-25 17:10:27 +00:00
sergeyv
dccca44ffd Reland: Move text logic from jni to hwui level
Initial CL: https://googleplex-android-review.git.corp.google.com/#/c/886854/

Change-Id: I9dfd85fe1d2a2c44f4360c8a29fd58d80e6f31c8
2016-03-21 15:55:46 -07:00
Sergei Vasilinetc
afbd0f1fef Revert "Move text logic from jni to hwui level"
This reverts commit a7f6bba1a3.

Change-Id: If4f36f87a85411b6128fd92d391313803ccaf9dd
2016-03-21 21:03:40 +00:00
sergeyv
a7f6bba1a3 Move text logic from jni to hwui level
bug:25865834
Change-Id: I2d8c9c9544afcb5ce1784f732aed3e54e0eda372
2016-03-17 09:48:57 -07:00
Florin Malita
eecff56fed Add internal Canvas save flags
Skia's SkCanvas::SaveFlags are being deprecated.  This CL introduces
the equivalent android::SaveFlags, converts all internal clients to
the new enum, and switches the saveLayer glue to the
SaveLayerRec-based API.

Change-Id: Icb1785f4e7c0f652b1f04b34a1e3ccb063c408f3
2016-01-25 15:48:00 -05:00
Leon Scroggins III
5518e7cbd4 Override getSaveLayerStrategy instead of willSaveLayer
willSaveLayer was removed in https://codereview.chromium.org/1537193002

Requires SkCanvas::SaveLayerFlagsToSaveFlags, added in ag/839104
(Ic78acd6d780245bd30b891e7dcabe29daacc17f4)

Change-Id: Idc49b38fc7939620267b4402ff3846b29f27c81a
(cherry picked from commit e208643a6f9d076274dd683c51a086b1e3679896)
2016-01-12 18:20:38 +00:00
Derek Sollenberger
d2db5c10a3 Remove onDrawSprite API as it is no longer exposed via SkCanvas
Change-Id: Id6f0bb7a9b4eaad0d0442d4ab4212f6a56070c66
2015-12-16 16:58:32 +00:00
Leon Scroggins III
f35b989d26 Merge six commits from master-skia to master
Also corrects some code under development behind the HWUI_NEW_OPS flags
to match the updated Skia API.

Include external/skia/include/private
use SrcConstraint for drawBitmapRect
clean up to allow removal of flags for SCALAR_DIV and IMAGEINFO_FIELDS
don't call DEPRECATED getDevice()
update to newer API for drawBitmapRect
asABitmap is deprecated, used isABitmap

previous-Change-Id: I12208855a95948897077b1c1549eb35416cc801e
previous-Change-Id: I5044f0f61315fe48c60d7af5e261a7d0ed574f56
previous-Change-Id: Ic34a3ba77b3f9e091fa7aaba75018a307abacdab
previous-Change-Id: I79f8dd779920565d1204f7fe67b3286b1bbf4e9b
previous-Change-Id: Ic04d1f8274f6a862ea00f8d241363cf31f5ec1ec
previous-Change-Id: I9e4ae257a1976c74302b6a73f17405174ae58cec
previous-Change-Id: I85de3462ad1e4877784df38edc4bcd0acbd24e5e
Change-Id: Ide8e2f669e91a13c32521af3a16efdaa085c81d0
2015-10-29 12:29:03 -04:00
Tom Hudson
d8f904f256 Revert "Merge six commits from master-skia to master"
This reverts commit 550780745f.

Change-Id: Ic71eccea454b26261fe6e9a9a7a24eff56396989
2015-10-28 20:35:36 +00:00
Leon Scroggins III
550780745f Merge six commits from master-skia to master
Include external/skia/include/private
use SrcConstraint for drawBitmapRect
clean up to allow removal of flags for SCALAR_DIV and IMAGEINFO_FIELDS
don't call DEPRECATED getDevice()
update to newer API for drawBitmapRect
asABitmap is deprecated, used isABitmap

Change-Id: I519f54f97321a7a365ea81a3b78cb03b9bdca021
previous-Change-Id: I12208855a95948897077b1c1549eb35416cc801e
previous-Change-Id: I5044f0f61315fe48c60d7af5e261a7d0ed574f56
previous-Change-Id: Ic34a3ba77b3f9e091fa7aaba75018a307abacdab
previous-Change-Id: I79f8dd779920565d1204f7fe67b3286b1bbf4e9b
previous-Change-Id: Ic04d1f8274f6a862ea00f8d241363cf31f5ec1ec
previous-Change-Id: I9e4ae257a1976c74302b6a73f17405174ae58cec
2015-10-28 13:41:38 -04:00
Ben Wagner
b03198de9f Merge "Use static_assert instead of SK_COMPILE_ASSERT." 2015-08-20 14:56:10 +00:00
Ben Wagner
e3a40ea488 Use static_assert instead of SK_COMPILE_ASSERT.
Now that static_assert is allowed, there is no need to use a non-
standard compile time assertion.

Change-Id: I0b294efcf494983f8241e9d5a2c476e2f2a9fff0
2015-08-19 17:21:17 -04:00
Chris Craik
6daa13c5fa Change setMatrix behavior to only affect canvas-local matrix
bug:22189925

This makes setMatrix(getMatrix()) work as expected, and makes setMatrix()
much more useful without changing behavior relative to a View's parent
hierarchy.

Change-Id: I608613bd27c1b9052ae583f8fd2119cf37a2f6d7
2015-08-19 13:32:15 -07:00
Ben Wagner
6bbf68d05a Remove use of SkAutoSTMalloc from Android.
Skia desires to make SkTemplates.h private since the classes there
are designed only for internal use.

Change-Id: I1e05e54de9eb68e50ccd6a691889fecf34bc9cea
2015-08-19 11:26:06 -04:00
Ben Wagner
a11ee3c413 Add Skia includes where needed.
A proposed change in Skia will forward declare more classes in more
headers. As a result, some Skia headers need to be explicitly
included.

Change-Id: I577095afde9de0e36b8f904aee91979b01e30726
2015-08-04 17:28:43 +00:00
Tom Hudson
0f6cb32c75 am a5e2946f: am b9d7bba5: am 434b577f: am 8ac76504: am 9613e9b7: Merge "New setLocalMatrix() operation for HWUI" into mnc-dev
* commit 'a5e2946f5ab7618997fb317ad9f5f56c160ebee5':
  New setLocalMatrix() operation for HWUI
2015-07-10 13:35:27 +00:00
Tom Hudson
ac7b6d33d2 New setLocalMatrix() operation for HWUI
Concats any matrix passed through from DisplayListCanvas with the
initialTransform of the containing RenderNode.

BUG:22189925

Change-Id: I5ea54a6e2a29520c79a8860bde7682694e8595d2
2015-07-09 16:15:31 -04:00
Tom Hudson
17c5adfa63 drawBitmap() support for extractSubset()
In SkiaCanvasProxy, translate drawBitmap() calls on bitmaps which
are the result of extractSubset() into drawBitmapRect() calls on the
original PixelRef.

If HWUI isn't going to support subsetting, we'll need to do this,
probably at additional entry points, to interoperate with native Skia
bitmaps. This change by itself fixes the extractbitmap GM.

R=djsollen@google.com
BUG=skia:3606

Change-Id: I5744da87d8f16dc1a252f606dfaa4016bd01e66e
2015-06-09 15:46:04 -04:00
Tom Hudson
20c2b3ef74 Fix positioned text bounds
drawPosText() bounds weren't taking their offset into account properly
in absolute-positioned cases.

R=djsollen@google.com
BUG=skia:3673

Change-Id: Ic39fd45491231ed3e3949ffbc1f063a4fc12c3f8
2015-04-15 13:54:32 -04:00
Tom Hudson
b1476ae7d5 Fix bug, change crashes to warnings
Improve behavior when we get a call to draw 0 points.
Replace one ALWAYS_FATAL statements with noop.

Change-Id: I864b7a9633dfa3dc6eefa403beca4cc7ae14074f
2015-03-05 10:31:52 -05:00
Tom Hudson
806a6f07a3 Fix onDrawText for non-absolute positioning
If we were drawing text with drawTextAbsolutePos() false, we would
draw the first character at 0,0 but subsequent characters would get
improperly offset by y. (or x if vertical text)

Change-Id: I4e76cd9d95bf1bb6ac021d99ef7cdd6333a290ba
2015-02-20 13:08:47 +00:00
Derek Sollenberger
1db141f93c Create proxy between Skia's SkCanvas and the framework Canvas.
This enables Picture.java to be replayed into HWUI in addition
to extending the Skia testing suite to HWUI.

Bug: 19011232
Change-Id: Id27ac03eec817b0784763e62ab8413a07b3b8cb2
2015-01-30 12:56:37 -05:00