Bug: 36025103
Test: cts-tradefed run singleCommand cts-dev --module CtsGraphicsTestCases
Now, similar to Shaders, we defer native creation until Paint is being
used, and ensure that we have an up to date filter when drawing.
Also implements ColorMatrix#equals to behave like Matrix#equals.
Change-Id: I5f74addd97f5662800802e6f660fead58d518725
This CL contains following clean up:
- Hide unnecessary constructors.
- Change List<XX> to XX[] since actually all fields are immutable.
- Change font's variant type from String to int.
- Decouple resource related members to FontResourcesParser.
- Add NonNull/Nullable to all fields.
Test: ran android.content.res.FontResourcesParserTest
Change-Id: If456266ffff86d41342572a19662cc8f3cd13181
Previously, the getTextRunCursor() implementation in Minikin ignored
the font and just used the characters in the buffer in order to
determine cursor positions. Now we calculate the advances beforehand
in order to find potential Indic clusters.
Test: Manually tested some Tamil sequences
Bug: 35721792
Change-Id: I2500bd4c2c9d07bb6c965b2d41e04853886a7391
Test: No change in behavior, no new tests.
This enum is going away in https://skia-review.googlesource.com/c/9498,
and this method is using the default anyway.
Change-Id: I928a72851f90e84f45ce2fa49560f8ba894a8058
Bug: 36025103
Test: cts-tradefed run singleCommand cts-dev --module CtsGraphicsTestCases
Test: cts-tradefed run singleCommand cts-dev --module CtsUiRenderingTestCases
Test: manually inspected for leaks via SK_TRACK_SHADER_LIFETIME and forcing a GC after ComposeShaderTest
Change-Id: Ib5d33a80d2f9f468705806b05832e753508143cc
This change also resets the cached color space field in Bitmap.java
when reconfigure() is called or when a bitmap is reused by the
bitmap factory.
Bug: 32072280
Test: CtsGraphicsTestCases.BitmapColorSpaceTest
Change-Id: I232b729b7a29e65bfff21dc749570c3c80adf855
This is the first step toward interpreting color spaces at render time.
Bug: 32984164
Test: BitmapColorSpaceTest in CtsGraphicsTestCases
Change-Id: I0164a18f1ed74a745874fe5229168042afe27a04
Also kills off one user of GraphicsJNI.h!
Change-Id: Icbf979e485b3b6ec2f37e18ff654b8ff1e44fb35
Fixes: 34712423
Test: cts CtsGraphicsTestCases --test android.graphics.cts.BitmapTest#testNdkAccessAfterRecycle passes
Skia now has a mode that will perform color correction,
but still do the premultiply on gamma encoded bytes.
Test: Flashed device, ran cts.
Change-Id: Ib1d1ea1074b5e6d1a49ecfc45e25552643dc04bc
Ensure that all static initializer code can be executed in the
compiler. Move native field caching into the native method
registration function.
Bug: 34956610
Test: m
Test: Device boots (Pixel)
Change-Id: Icf68c8fbadcaaa133a152942a3a7ba7aba84a1df
- Main goal here: libandroid now links against
libarect and export its includes.
- Also fix some wrongful makefiles that included
headers without proper dependency list.
Test: built and booted device
Bug: 35164655
Change-Id: Iae17b966bba00fe53424486a75eebff468873787
With the introduction of support for 16 bit images, bitmaps returned
by BitmapFactory may be using the RGBA_F16 configuration. Some apps
and libraries assume the returned configuration is always ARGB_8888
and make assumptions based on that to compute cache sizes, etc.
This changes extract the output config when BitmapFactory is invoked
with the inJustDecodeBounds option. Despite its name, this option
is already used (and documented!) to decode more than bounds as it
also decodes the MIME type.
Bug: 35108998
Test: CtsGraphicsTestCases
Change-Id: If71959751458816678e42b21ab26c889aba5dea0
This is 2nd attempt of I249d464f8cdaa56017a987588b94ed685aadeb58.
The original CL was reverted due to conflicting with another CL submitted
before.
Nothing has changed except for following class name changes.
Here is the original commit message of reverted change.
This CL enables developers to specify axis values to the underlying
font collection. The specification of the font variation settings is
the same as the CSS font-variation-settings attribute in CSS working
draft as of 2016-11-30.
Code example: Here is an example to set width 100 and weight 1.5.
TextView tv = (TextView) findViewById(R.id.textView);
tv.setFontVariationSettings("'wdth' 100, 'wght' 1.5");
Bug: 33062398
Test: Manually done. Ran FrameworksGraphicsTests, CtsGraphicsTestCases
and CtsWidgetTestCases
Change-Id: I9cdfbdecc87c995d805096883ef2652768c6c21e
This is 2nd attempt of Id10ca97f6f6f5bbe4999c1ad2736423a204d6e87.
The root caus of crash is due touching null pointer in nUnrefFamily.
After above change, native object may not be created on error case.
In that case, nUnrefFamily can not be called. In addition to this issue
there is also memory leak on error case. This fixes it by introducing
abortCreation method.
Also this contains fix of layout lib breakage done by jgaillard@.
Originally submitted by Ic8872a43993bcb0a157c5e3f0ce423af9b47f606
Here is original commit message of reverted change.
minikin::FontFamily no longer has addFont function, instead it accept
vector of Fonts in its constructor. To follow this signature change,
holding minikin::Font instance in native and build minikin::FontFamily
instance in FontFamily.freeze() method.
Bug: 34042446
Bug: 28119474
Bug: 34378805
Test: hwui test has passed
Test: m layoutlib layoutlib-tests
Change-Id: Ic34ebaa8191273d4c9f49c43124f15a1da5f7b78
This change creates a new FontManagerService, in charge of providing
font management data. It exposes a public API to retrieve the
information in fonts.xml without accessing it directly. To do this,
it also refactors FontListParser's internal classes into a new public
FontConfig class holding all the font data.
getSystemFonts() returns all the available information in fonts.xml
as well as file descriptors for all the fonts. This allows us to
share the memory consumed by these files between all clients.
Bug: 34190490
Test: See attached CTS change in topic
Change-Id: I0e922f8bcc9a197a1988d04071eb485328d66fb7
SkDevice.h is being removed from Skia. This removes these already unused
includes which mention this file.
Test: refactoring CL. Existing unit tests still pass.
Change-Id: I8340a5822ad2b75c54fe0dca1303ceab9bbee805