The dirFlags and bidiFlags enums are distinct, and have different
meanings. The former is a determined direction for a run of text, while
the latter is a request for the bidi algorithm. They have been used
interchangeably, and this has caused some problems, notably running the
bidi algorithm needlessly when the direction for a run is already
determined.
This patch cleans up the confusion, by always naming each occurrence
explicitly "boolean isRtl" or "int bidiFlags" (the previous code often
just used "int flags", which added to the confusion), and converts
between the meanings when a function takes an isRtl argument but passes
it to another function expecting bidiFlags.
Fixes b/15089607 Clean up bidi flag mess
Change-Id: I410b6604376e853dd12c255e7f5a9d2b9a310dd9
ANativeWindow_fromSurface() provides a native-only call path to
android_view_Surface_getSurface(), so we need to clean up the
local reference.
Bug 14087233
Change-Id: I92aa5aa492c47a0642fdcb28c717ad7f874e1ad9
this was ignored by all callers, in that they always specify a preferred config (8888).
This removal will allow skia to remove the api and its global.
Change-Id: Ic0a4c673ddd60d0078f75e0e482aba4c9b9cf682
This fixes CTS tests which are crashing on an SkASSERT due to a
mismatch of SkImageInfo between the SkPixelRef and SkBitmap.
Also directly call ref() and unref() instead of SkSafeRef/SkSafeUnref,
since we would already crash if the SkPixelRef in question was NULL.
Also if the user attempts to reconfigure to 4444, use 8888 instead.
Change-Id: I473ef225c6cd1c92d67ae103c53c6cff0dad92de
Consists of 3 cherry-pick from changes by robertphillips@google.com
in master-skia:
-----------------------------------------------------------------------
New AndroidPicture wrapper class
Address code review comments & use new SkPictureRecorder::partialReplay
entry point
Addressing code review issues
Switch MakePartialCopy to makePartialCopy
Conflicts:
core/jni/android/graphics/Picture.cpp
Ie530ab15b3d549f0ecfb0ecc131f9144a7b72a91
Remove AndroidPicture from GraphicsJNI and split into .h and .cpp
-----------------------------------------------------------------------
Fix lingering legacy picture recording behavior
Address code review issues
Iaf870c2c400dbe70dc32d6d445574904f5ea718f
-----------------------------------------------------------------------
Update Android to new SkCanvas::drawPicture interface
As of Skia 9b14f26d (Alter SkCanvas::drawPicture (devirtualize,
take const SkPicture, take pointer) -
https://codereview.chromium.org/313613004) SkCanvas::drawPicture
has an alternate signature. The old entry point is deprecated.
I63395da61ecc3b58bfd2bc094752081f4b2f7535
-----------------------------------------------------------------------
Change-Id: I041133aeb5639abd853370e512acf93870f82aea
With granular state flags being deprecated, always pass full
save flags to the native canvas.
Legacy behavior is emulated in NativeCanvasWrapper, with a focus
on minimizing the overhead when there are no side effects to be
persisted.
Change-Id: Ifdad2ff9bb3a1f9736c6c41afc9ec6c07f62320e
This patch adds fake italics, using essentially the same mechanism as
the fake bold implementation. Also combines fake bold/italic settings
with ones explicitly set in the paint.
Change-Id: Ia7eb3ddc8a6192d191711ba723ffd0d1d9d93f2e
Part of the fix for bug 15436379 Fake bold doesn't fully work (Minikin)
This patch queries the Minikin layout for when fake bold is needed,
and applies that to both shaping and drawing paint.
Also simplifies refcounting (the lifetime of all MinikinFont objects
is subsumed by the enclosing FontCollection).
Note: the fake bold flag set by the user is ignored in this patch.
Fake italics would be possible using the same mechanism, but it's
slightly more complicated (fake and user-set textSkewX values would need
to be combined, and the latter restored after drawing).
Change-Id: Ica2c4604846cbb37e5a783778b18d8993c9d4563
Use an autodeleter to delete the ScreenshotClient when it's not
needed.
Discovered while investigating BUG:15454296, but it does not fix
the problem.
Change-Id: I00ea81de15ddc2507d904a6c20af3c410f573dce
Fixes a number of individual problems. In Minikin builds, gets base font
from TypefaceImpl rather than using whatever random font was in the
paint. Respects elegant metrics in ascent and descent methods as well as
getFontMetrics. Sets fixed ascent and descent values to 1900, -500,
which matches the Roboto font.
Part of the fix for bug 15467288 "Inconsistent line heights on
Minikin builds"
Change-Id: I12915f4a62de28932469c7279241eecf7320c47b
(Canvas clipRegion() public API is scheduled for deprecation)
The SkCanvas clip stack does not support clipRegion() ops. Implementing
these in terms of clipPath() makes persisting clips for SaveFlags
emulation purposes a whole lot simpler.
Change-Id: I41d1eb9e292ce370fba224338f9071d5e4068621