diff options
author | caryclark <caryclark@google.com> | 2016-04-12 05:08:17 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-04-12 05:08:17 -0700 |
commit | f9924422a4cd1d1b6d2d4240c83b5c1082da3629 (patch) | |
tree | 94b978e3ee586645eccb6ad6c0d35d3ba7c808b1 /core/fxge/include | |
parent | 822484b5f88d92dbcd567b1c2da38af1e720b56f (diff) | |
download | pdfium-f9924422a4cd1d1b6d2d4240c83b5c1082da3629.tar.xz |
flesh out gradient shaders
Using these webpages as guides
http://www.globelegislators.org/pdfjs/test/pdfs/alphatrans.pdf
http://www.antennahouse.com/antenna1/wp-content/uploads/2015/07/background-image-gradient-1.pdf
flesh out the gradient shaders to include the PostScript Type 0
sampling function and to include radial gradients. This CL makes
rendering these pages agree with Adobe Reader output.
Some of these examples use an Extend array to clip the gradient.
Skia does not currently support this natively, so construct the
clip manually for now.
Other PDF pages may construct gradients using alternate mechanisms
-- this code will continue to be refactored as those come to light.
In particular, this CL sets up the clip and matrix differently for
axial gradients and radial gradients -- while it makes sense to do
it one way only, I prefer to defer until I have more examples to
work with.
R=dsinclair@chromium.org,tsepez@chromium.org
Review URL: https://codereview.chromium.org/1870463002
Diffstat (limited to 'core/fxge/include')
-rw-r--r-- | core/fxge/include/fx_ge.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/core/fxge/include/fx_ge.h b/core/fxge/include/fx_ge.h index 4530677119..2a3a0253a3 100644 --- a/core/fxge/include/fx_ge.h +++ b/core/fxge/include/fx_ge.h @@ -603,8 +603,9 @@ class IFX_RenderDeviceDriver { virtual int GetDriverType() const { return 0; } virtual void ClearDriver() {} - virtual FX_BOOL DrawShading(CPDF_ShadingPattern* pPattern, - CFX_Matrix* pMatrix, + virtual FX_BOOL DrawShading(const CPDF_ShadingPattern* pPattern, + const CFX_Matrix* pMatrix, + const FX_RECT& clip_rect, int alpha, FX_BOOL bAlphaMode) { return false; |