History log of /external/skia/src/pdf/SkPDFGradientShader.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2d171397f863699eb7804b814994d4c2fcb00cb7 05-Jul-2017 Hal Canary <halcanary@google.com> SkPDF: GradientShaderPatterns use one hashmap not two.

Change-Id: Icdebaf891884aa06bdc36ed930d7bab5400bd04f
Reviewed-on: https://skia-review.googlesource.com/21529
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
/external/skia/src/pdf/SkPDFGradientShader.cpp
94fd66cc2502383628b2c5fb72a445460b752c35 05-Jul-2017 Hal Canary <halcanary@google.com> SkPDF: Refactor PDFShader to use ShTHashMap<>

my tests run ~14% faster.

- Split out gradient shaders from image shaders. new compilation
unit: SkPDFGradientShader
- Common functions InverseTransformBBox and PopulateTilingPatternDict
moved to SkPDFUtils
- Split SkPDFShader::State into image and gradient structures.
- SkPDFCanon is now a simpler structure, with no logic of its own.
I am considering just moving all of its fields into SkPDFDocument
- SkPDFShader::State (the image/fallback shader) now is POD, making
the use of a hashmap for canonicalization straightforward.
Formerly, we used a linear search.
- Do not bother trying to canonicalize the falback image shader.
- SkPDFGradientShader::Key is not POD; comparison of two objects
requires looking at the contents of two variable-sized arrays.
We now pre-calculate the hash of the arrays using SkOpts::hash and
store a hash for the object in the fHash field.
Using that hash, we can now canonicalize using a hashmap instead
of a linar search!
- several static functions renamed to follow style guidelines
- stop using codeFunction function pointer; I find that less
clear than it could be.
- operator==() for SkPDFShader::State and SkPDFGradientShader::Key is
now much simpler and can now be inlined.
- SkArrayEqual template in SkPDFUtils.h

No change to PDF output.

BUG=skia:3585
Change-Id: I354ad1b600be6d6749abccb58d13db257370bc0b
Reviewed-on: https://skia-review.googlesource.com/21376
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
/external/skia/src/pdf/SkPDFGradientShader.cpp