Age | Commit message (Collapse) | Author |
|
Simply downsampling produces really poor renderings. Use bilinear
interpolation to make the rendering look better at the cost of being a
bit slower.
Roll DEPS for testing/corpus/ to 5a68e878 to pick up the updated test
expectations from this CL.
BUG=chromium:898443
Change-Id: Ifc5fa358a15e4674f431afcbe26e7ab70da58849
Reviewed-on: https://pdfium-review.googlesource.com/c/44651
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Using bit values in an int may not be reliable, since different parts of
the code can interpret the bits differently. e.g. FXDIB_DOWNSAMPLE and
RENDER_FORCE_DOWNSAMPLE are defined in different places, but can be used
interchangeably because they just happen to have the same value. It
works but is rather fragile.
Instead, use a struct of bools to explicitly define what different bits
mean. Remove FXDIB_DOWNSAMPLE and friends.
Change-Id: I9cf0c8f94d1ed27edf8dba22b0ab0ee67f2722cc
Reviewed-on: https://pdfium-review.googlesource.com/c/44650
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Change-Id: I3d83818d3b2e1485dbb5cddbda1273b510450920
Reviewed-on: https://pdfium-review.googlesource.com/c/44694
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
- Use reinterpret_cast in more places.
- Return data from a function with pdfium::Optional and std::pair.
Change-Id: Ia6b8af985ece52a20b00aa80166c61f57b7b8478
Reviewed-on: https://pdfium-review.googlesource.com/c/44630
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Consolidate matrix transforms from several places.
Change-Id: I2febcaed69afd1cf3eabf68f27ffe24301f07ca2
Reviewed-on: https://pdfium-review.googlesource.com/c/44631
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Then do IWYU to fix up build errors. Move some implementations out of
headers to allow more forward declarations.
Change-Id: Idbeb978705a21cd6fb710ca9f5e99b4ea7d93ec5
Reviewed-on: https://pdfium-review.googlesource.com/c/44632
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
- GDI_StretchBitMask(), which is not an override, has a flags parameter
that is never used. Remove it.
- StretchDIBits() checks its flags parameter and does an early return,
but still continue to use it afterwards when its only possible value
is 0. Replace the flags variable with 0.
Change-Id: Iad63557a1c28f2b5b84260a6b5498c1d7beada7f
Reviewed-on: https://pdfium-review.googlesource.com/c/44611
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
In RenderDeviceDriverIface() implementations.
Change-Id: Ic5e0239a29e7fa7b70e9ef65c82df7e773f8e363
Reviewed-on: https://pdfium-review.googlesource.com/c/44610
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Change-Id: I139393e39980fa3ea0aa9389153f65e43e39cd6c
Reviewed-on: https://pdfium-review.googlesource.com/c/44555
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Change-Id: Ie31e657b8f5630ccd5306cf37235af2944d1eee5
Reviewed-on: https://pdfium-review.googlesource.com/c/44554
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
In CFX_SkiaDeviceDriver.
Change-Id: Ie19c258fdffc0844b2210aec484b7e71a5ba52d0
Reviewed-on: https://pdfium-review.googlesource.com/c/44553
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
In RenderDeviceDriverIface and related classes, and for related methods
in the call stack.
Change-Id: I420fafe70084eb3941dffc6f9f51ecbed79581de
Reviewed-on: https://pdfium-review.googlesource.com/c/44552
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
BUG=pdfium:1085
Change-Id: Ieb43d4588e1d689e327e428dcbbf7adba45ce178
Reviewed-on: https://pdfium-review.googlesource.com/c/44545
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
- Remove FXDIB_BLEND_NONSEPARABLE, which is not a real blend type.
- Change implicit if (blend_type) conditions to check against
FXDIB_BLEND_NORMAL.
- Add an IsNonSeparableBlendMode() helper.
Change-Id: If5c017a7851ad928d1f17688bf6e9c38f70f4e0e
Reviewed-on: https://pdfium-review.googlesource.com/c/44551
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Change-Id: I7bd85d2559bf30ccae3c8595cc37e613d4d4a2a2
Reviewed-on: https://pdfium-review.googlesource.com/c/44550
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
- Reorder to pack a bit better.
- Remove |m_BlendType| which is always |FXDIB_BLEND_NORMAL|.
- Change the ctor to pass the matrix by reference.
Change-Id: I07870947915fd2c90f28502803eb17f18204ac92
Reviewed-on: https://pdfium-review.googlesource.com/c/44547
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
- A valid matrix is always passed in, so make the parameter const-ref.
Since it is not obvious who owns the passed in matrix, make a copy
with the corresponding matrix member.
- Since the matrix parameter is const-ref, CFX_DIBBase::TransformTo()
can also have a const-ref matrix parameter.
- |flags| should be uint32_t, since |m_Flags| is.
- |pClips| is only used inside the ctor, so remove |m_pClip|.
Change-Id: If3d58a3fd28fa72b4ac7caac15f49a8057c594db
Reviewed-on: https://pdfium-review.googlesource.com/c/44541
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
The blend mode is never set to this value.
Change-Id: I96cbadb055137a9de45f0082c81a7b8aedb9a427
Reviewed-on: https://pdfium-review.googlesource.com/c/44544
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Change-Id: I7049073c09ac87ef8041bfa51740c653a67b4bd3
Reviewed-on: https://pdfium-review.googlesource.com/c/44543
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
ASSERT() is PDFium's wrapper for cross-platform wrapper for assert().
Change-Id: Ie2a98a8e1de101f93aa9bf667d6f125d11d129cd
Reviewed-on: https://pdfium-review.googlesource.com/c/44539
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Remove a check that will never be true.
Change-Id: I6474cb7f6549f412a368d1920fd0af90eae9a700
Reviewed-on: https://pdfium-review.googlesource.com/c/44540
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Change-Id: I5c42af8e9e2d6a60648d291153326aef04e4c49e
Reviewed-on: https://pdfium-review.googlesource.com/c/44513
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Change-Id: I69436316dd4a12ebdc3f09e7db3bf25c7495a4ce
Reviewed-on: https://pdfium-review.googlesource.com/c/44512
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Remove some setters on newly constructed objects, since |m_bStroke| is
already initialized to false.
Change-Id: I8d04efec997226fb86091566eea96604f18680aa
Reviewed-on: https://pdfium-review.googlesource.com/c/44511
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Also move member initialization to the header.
Change-Id: I557380ae774ddf887cefeb56df2a33e5b7cff8a4
Reviewed-on: https://pdfium-review.googlesource.com/c/44510
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Change-Id: I53c1b148cb8cdc77461766fc9996a0a3ce5f4cb7
Reviewed-on: https://pdfium-review.googlesource.com/c/44536
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Currently, color.equal(a, b) may not give the same result as
color.equal(b, a) since arg1 is converted to be the type of
arg2, and some of these conversions lose information. Instead
promote to the type with the most components in the hope of
preserving the most information.
Better error message when there are the right number of parameters
but the types are wrong.
Change-Id: I1d93fa29db4fb65e0f7c07c3ba7d9ca87ebf7bc9
Reviewed-on: https://pdfium-review.googlesource.com/c/44413
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
It is always passed as FXDIB_Alpha. Rename method to indicate its
new purpose, and remove dead code.
Change-Id: Ifaf4faa6b25d1cbd2ff272309764b49de70dc836
Reviewed-on: https://pdfium-review.googlesource.com/c/44491
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
We do this by adding an override that forces GM time on
everyone when run from the test harness.
Generalize presubmit warnings so that the new function passes.
De-duplicate lambda capture in place of static function.
Change-Id: I15b34bea558baf1763476b36f0bca76614984107
Reviewed-on: https://pdfium-review.googlesource.com/c/44390
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
This was originally motivated by Clang's newly enhanced -Wshadow
warning, which complained about BOOLEAN shadowing a BOOLEAN typedef
in winnt.h. The warning has since been changed to not fire on enums
shadowing types, but it was suggested that this kind of naming change
was desirable anyway.
Bug: chromium:895475
Change-Id: I278ce9dbbd88f802fe5bc77fca28b082aa5e684d
Reviewed-on: https://pdfium-review.googlesource.com/c/44330
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
The GetFocus enumerator was shadowing the GetFocus function in winuser.h.
Change the enumerators to all have a k prefix to avoid the warning, and since I
believe pdfium wants to move towards that style anyway.
Bug: chromium:895475
Change-Id: I740afa4f29d895e7e3cbb488fd311a7487d67a82
Reviewed-on: https://pdfium-review.googlesource.com/c/44470
Commit-Queue: Hans Wennborg <hans@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
A recent change to CFX_CodecMemory prevented it leaking an old
buffer when a realloc() failed. But there is a corner case where
realloc() to size 0 also returns null (as would a failed alloc),
but frees the buffer, rather than leaving it intact.
TBR: thestig@chromium.org
Bug: 897585
Change-Id: Ib1e82088a822008780f11c6ea94b0552fbf51146
Reviewed-on: https://pdfium-review.googlesource.com/c/44451
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Also make more core/fxcrt/xml member variable names consistent in style.
Change-Id: I892841b4026df302aa28f754441bf21707e96764
Reviewed-on: https://pdfium-review.googlesource.com/c/44171
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Change-Id: I8e6c5fdf301ca408e76d9acfe6e62db9afd3d7a7
Reviewed-on: https://pdfium-review.googlesource.com/c/43575
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Also fix some nits:
- Make member variable names consistent.
- Make member variables const.
- Make trivial getters return const-ref.
Change-Id: Ibd34c9bc58ec0eed3edfc3a8ea39b533a41cad73
Reviewed-on: https://pdfium-review.googlesource.com/c/44151
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
Change-Id: I6d2b35849e9f1935277986b6c72e6f507d976974
Reviewed-on: https://pdfium-review.googlesource.com/c/43948
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
Change-Id: Id4bebae05116422b15019e7b972f5e8594317afe
Reviewed-on: https://pdfium-review.googlesource.com/c/43949
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
|
|
Skip to the end of the linked list instead of traversing it.
BUG=chromium:895234
Change-Id: I56d6bee3cd099a1a7343eb2b067d522ec69c261a
Reviewed-on: https://pdfium-review.googlesource.com/c/44172
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Move begin/end methods onto locker object which tracks whether
iterators are in existence.
Change-Id: Ia869f313fce48d10a0d0180d0cc083eed6ea1584
Reviewed-on: https://pdfium-review.googlesource.com/c/44070
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Inside fx_memory.cpp, the PartitionAllocatorGeneric objects are globals,
so their initialization order is not well defined.
BUG=chromium:896117
Change-Id: If4a345d6d7549b0e99a055859eaa67d5ec32c788
Reviewed-on: https://pdfium-review.googlesource.com/c/44170
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
|CPDF_InteractiveForm::m_ControlLists| replaced
|CPDF_FormField::m_ControlList| for all CPDF_FormFields. So when any
CPDF_FormFields wants to know about its control list, it has to ask
CPDF_InteractiveForm. Every CPDF_FormField started out with an empty
control list, so CPDF_InteractiveForm should keep that behavior.
BUG=chromium:895983
TBR=tsepez@chromium.org
Change-Id: Ibae5f6f54a21b9576b253e230c346bfd6705ca5d
Reviewed-on: https://pdfium-review.googlesource.com/c/44150
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Change-Id: Id10795c880f400bd9f2770b052f77643ec9849f7
Reviewed-on: https://pdfium-review.googlesource.com/c/44111
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Change-Id: Ic3791e1ddbdc9d30407c8f747fd11e0e338e83d4
Reviewed-on: https://pdfium-review.googlesource.com/c/44090
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Avoid a manual memset().
BUG=pdfium:1171
Change-Id: I4f7708d8ad75ca7fa697f69a24fa0de55286b5fa
Reviewed-on: https://pdfium-review.googlesource.com/c/44075
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
BUG=pdfium:1170
Change-Id: I0f8dfb3d517beaa682a9ca7ad4831c5a7a10dc3b
Reviewed-on: https://pdfium-review.googlesource.com/c/44073
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Change-Id: I1104d5c3c63dbf9f2f286797db842d30c75e2718
Reviewed-on: https://pdfium-review.googlesource.com/c/44077
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Change-Id: If98589e8daffdc74a72281cec6726fb54878e185
Reviewed-on: https://pdfium-review.googlesource.com/c/44076
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Change-Id: I2a1f03b7336f2b03ef1d4bbbd396e7a2c5bdea50
Reviewed-on: https://pdfium-review.googlesource.com/c/43999
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Change-Id: I3f06ea7ed39c8a8fff57e07f14ff6c21bedbc028
Reviewed-on: https://pdfium-review.googlesource.com/c/43998
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Fix lint errors as well.
Change-Id: I139528b8e76383f878915f9ec940b0af29e155f0
Reviewed-on: https://pdfium-review.googlesource.com/c/44071
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|