5 Commits

Author SHA1 Message Date
Nader Jawad
5bed1f5332 Revert "Create wrapper around Shader native implementation"
This reverts commit fc42a99ea5712883c9872d34a523d972c26c9d6f.

Because we are moving away from a wrapper class to delegate
between SkImageFilter and SkShader and instead adding
RenderEffect on RenderNode, this wrapper implementation
is no longer necessary. There are some behavioral
differences between SkShader and SkImageFilter that
would lead to additional complexity in conversions
between these objects and potential bugs.
To simplify this, RenderEffect will be added
directly to RenderNode to support better
caching of rasterization layers that is necessary
for various visual effects like blur.

Test: N/A
Change-Id: I65dc9f8bd26aed8761af13491ae3f6d583208377
2020-09-30 11:55:48 -07:00
Nader Jawad
6c2296137e Added support for edge treatment parameters for BlurShader
Added configurable parameters for edge treatment for
BlurShader to determine how edge pixels are to be
computed as part of the blur kernel. This provides
the option to sample the edge pixels of the source
for larger windows as well as using transparent
(default behavior)

Fixes: 167714368
Test: Added CTS tests to verify results of edge treatment parameters
Change-Id: I3880ff4aa2e2a4eba831a0aa6d2ec77b07e84813
2020-09-21 20:52:35 -07:00
Nader Jawad
ae30efec27 Fixed issue where large blur radii
would blur less than smaller blur radii

Changed SkImageFilter blur creation to include
SkTileMode::kClamp parameter to use edge pixels
for blur kernels that are larger than the source

Fixes: 167493483
Test: Added test to CTS ShaderTest
Change-Id: Ibbe1e0dfaf46413fcae665620fd154b9bf9897c9
2020-09-01 22:22:53 -07:00
Nader Jawad
322cb9c4e8 Added BlurShader API
Created BlurShader framework API along with
native implementation as an implementation of
the Shader wrapper that maps to either
SkShader or SkImageFilter

Bug: 143468037
Test: Added CTS test to verify BlurShader

Change-Id: I05fcf7ba79e9d552f8b0738f7382f7826cd94e21
2020-08-19 13:49:50 -07:00
Nader Jawad
fc42a99ea5 Create wrapper around Shader native implementation
Created Shader classes to wrap existing shader classes
in the framework in order to handle creation of either an
SkShader or SkImageFilter.
Updated native Paint implementation to optionally configure
the currently configured SkShader or SkImageFilter

Bug: 143468037
Test: re-ran CtsGraphicsTestCases and CtsUiRenderingTestCases
Change-Id: I7663b92766c912ab3866cf4e39b268f6dcf5d8e2
2020-08-14 19:46:05 -07:00