summaryrefslogtreecommitdiff
path: root/core/fxge/include
diff options
context:
space:
mode:
authorcaryclark <caryclark@google.com>2016-04-12 05:08:17 -0700
committerCommit bot <commit-bot@chromium.org>2016-04-12 05:08:17 -0700
commitf9924422a4cd1d1b6d2d4240c83b5c1082da3629 (patch)
tree94b978e3ee586645eccb6ad6c0d35d3ba7c808b1 /core/fxge/include
parent822484b5f88d92dbcd567b1c2da38af1e720b56f (diff)
downloadpdfium-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.h5
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;