Age | Commit message (Collapse) | Author |
|
While decoding among instances, variable "FIRSTS" should hold its
value, not be reset. This was accidently changed by earlier
refactoring.
BUG=chromium:625848,pdfium:636
Review-Url: https://codereview.chromium.org/2569023002
|
|
The canvas clip op changed to a
enum class to safeguard against a
regular enum used as a bool in an
overloaded interface.
R=reed@google.com, dsinclair@chromium.org
Review-Url: https://codereview.chromium.org/2568193002
|
|
When GDI device driver draws a dotted line, it also clip the line
into the device context's bound before drawing. This CL includes
a couple fixes:
-- When this driver is used for EMF drawing, the drawing is not
bound to the device context so clipping is not needed;
-- Transformation needs to be applied before clipping since the
transformation may move the line into the bound;
-- While checking for out-of-bound flags, bit operations are needed
to make sure the discarded line is completely out of bound, not
partially inside the bound;
BUG=chromium:539533
Review-Url: https://codereview.chromium.org/2562533002
|
|
Skia has changed its clipping API
from one enum to another.
Fix PDFium to match.
R=dsinclair@chromium.org,reed@google.com,herb@google.com
Review-Url: https://codereview.chromium.org/2559123004
|
|
Review-Url: https://codereview.chromium.org/2562833002
|
|
Review-Url: https://codereview.chromium.org/2558373002
|
|
Minimalist changes with the tidying of the code to
use better loop iterators as a follow-up.
Review-Url: https://codereview.chromium.org/2556963004
|
|
Also convernt one nearby array to vector as well.
Review-Url: https://codereview.chromium.org/2559903002
|
|
Review-Url: https://codereview.chromium.org/2562563002
|
|
The previous CLs made the code clean, so now we can mark more things
private, and add friends as appropriate.
Review-Url: https://codereview.chromium.org/2560783003
|
|
Originally the key "T" was checked which was not correct since that
key is optional. Now change to check "FT" as well as its parent's
key since this key is also inheritable.
BUG=chromium:440132
Review-Url: https://codereview.chromium.org/2554223002
|
|
We can remove a lot of "bOwnsStream" logic in the process.
Always pass these by const reference, in case the called method
wants to hang on to the stream (one exception is where we stick
a raw pointer into a void* slot in a context from another layer).
Review-Url: https://codereview.chromium.org/2451493002
|
|
This permits consecutive path drawing or text drawing to combine
if their graphics state matches. This speeds up rendering considerably
when PDFium draws in many small parts. It also allows discarding
changes to the clip state that have no effect from draw to draw.
All corpus tests draw equivalently with caching enabled or disabled.
Change the member order in CPDF_PageRenderContext so the device is
flushed before the referencing annotation is deleted.
Add more printf style debugging for test draws.
R=dsinclair@chromium.org
Review-Url: https://codereview.chromium.org/2546803003
|
|
Because that's what clone does. Perform immediate release
in some spots to avoid disrupting too much at once.
Review-Url: https://codereview.chromium.org/2534953004
|
|
Allow shading to use Skia for some gradients;
linear, radial, and coons patch.
The corpus uncovered a few gradient-related bugs
in the Skia driver which are fixed as well.
Fix corpus 11.pdf by ignoring zero area
filled paths. PDFium uses CFX_PathData::GetZeroAreaPath()
to determine if a path that doesn't enclosing anything
should be drawn anyway, and CFX_AggDeviceDriver::GetDriverType()
returns 1 so that the empty path is tweaked so that
it doesn't draw too often.
There are no tests in the corpus that show
the utility of this approach; 11.pdf draws correctly
if the zero area paths are ignored.
Standardize debugging output so that
a separate tool can visualize it.
R=dsinclair@chromium.org, thestig@chromium.org
Review-Url: https://codereview.chromium.org/2530343004
|
|
Review-Url: https://codereview.chromium.org/2551593002
|
|
It's a separate hierarchy unrelated to the IFX_*Stream classes.
Also rename CFX_Stream to CFGAS_Stream, and so forth.
Review-Url: https://codereview.chromium.org/2535723010
|
|
Group related IFX_ classes.
Move #defines to .cpp file that uses them.
Replace loose function with static method.
Review-Url: https://codereview.chromium.org/2548583004
|
|
Review-Url: https://codereview.chromium.org/2550543002
|
|
Fix naming to say "Stream"
Review-Url: https://codereview.chromium.org/2543043002
|
|
Review-Url: https://codereview.chromium.org/2545653003
|
|
Review-Url: https://codereview.chromium.org/2546813002
|
|
Split the remaining code into files per class.
Change-Id: Idb959dbf807223a509e16c76f9626e61856a886b
Reviewed-on: https://pdfium-review.googlesource.com/2094
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>
|
|
Review-Url: https://codereview.chromium.org/2541373002
|
|
|code_size_cur| could be larger than |code_size|, so |code| could be
larger than |code_end|. If this happens, early return, since the Decode
has failed.
BUG=659417
Review-Url: https://codereview.chromium.org/2542673004
|
|
Probably won't fix bug 669797 on its own, but nice to have.
Remove unimplemented static method.
Review-Url: https://codereview.chromium.org/2543833002
|
|
Reasoning: the pTextAdvanceX in CPDF_TextObject::CalcPositionData is
being multiplied by horz_scale in CPDF_TextObject::CalcPositionData.
Then, m_pCurStates->m_TextX is updated by this amount. So multiply by
the scale also when updating with initial and final kerning and when
nsegs = 0.
BUG=528103
Review-Url: https://codereview.chromium.org/2542743002
|
|
Also remove a bool that is always false.
Review-Url: https://codereview.chromium.org/2539203002
|
|
Removed unused methods, and GetCharSize no longer overrides.
Change-Id: I29384afb4d79cfd8e8b4ede4a0b52272020bfcd9
Reviewed-on: https://pdfium-review.googlesource.com/2031
Reviewed-by: ooo 11-24 -- 12-05 (dsinclair) <dsinclair@chromium.org>
|
|
Part of the work to get rid of |new|s. Stripped from a forthcoming CL.
Review-Url: https://codereview.chromium.org/2536973003
|
|
Review-Url: https://codereview.chromium.org/2536903004
|
|
Review-Url: https://codereview.chromium.org/2538533003
|
|
Fix missing second template parameter in cfx_maybe_owned.h
Review-Url: https://codereview.chromium.org/2522313002
|
|
Made a member private and added some methods to reduce code duplication
Review-Url: https://codereview.chromium.org/2531643002
|
|
Review-Url: https://codereview.chromium.org/2524403002
|
|
Moved all CFX_LinuxFontInfo to the namespace. Added its constructor and
destructor. And fixed includes and {}s.
Review-Url: https://codereview.chromium.org/2529013002
|
|
Make GetPagesInDisorder be TEST_F instead of TEST for consistency...
Call CPDF_ModuleMgr::Destroy() on TearDown to avoid leaks.
Review-Url: https://codereview.chromium.org/2528093002
|
|
The width and compress flag are read, so returning with error is more
appropriate than having an ASSERT.
BUG=659497
Review-Url: https://codereview.chromium.org/2535863002
|
|
This CL moves the IFWL classes that do not have CFWL class buddies to have the
CFWL name. This CL leaves the tree in a weird state of having CFWL be two
hierarchies, one of which is intertwined with the IFWL hierarchy. This should
be commited just before the CL to move the rest of IFWL to CFWL.
Review-Url: https://codereview.chromium.org/2525083002
|
|
BUG=pdfium:522
Review-Url: https://codereview.chromium.org/2526473002
|
|
Review-Url: https://codereview.chromium.org/2523093003
|
|
This will allow us to get rid of more .release()s of unique_ptrs,
as shown by the changed cpdf_colorspace usage.
Review-Url: https://codereview.chromium.org/2526903002
|
|
Propagates unique_ptr's back to callers.
Review-Url: https://codereview.chromium.org/2518333003
|
|
We are always cloning when the bitmap size is bounded by some constant,
and we are always cloning the mask. Instead, just assign pointers.
BUG=pdfium:633
Review-Url: https://codereview.chromium.org/2518063005
|
|
Review-Url: https://codereview.chromium.org/2525833002
|
|
PDF can specify a negative font size
to change the y-axis for text. Add
support in the Skia driver for that.
The cached form for text and paths
had fallen out of sync with the uncached
code used by skiapaths, so sync that
up so that the mainline skia setting
has those bug fixes as well.
This does not fix the underlying bug in
528103, but gets Skia on parity with
native PDFium text rendering. The bold
text is still drawn in the wrong place.
R=dsinclair@chromium.org
BUG=528103
Review-Url: https://codereview.chromium.org/2528663002
|
|
BUG=pdfium:479
Review-Url: https://codereview.chromium.org/2521843003
|
|
BUG=667074
Review-Url: https://codereview.chromium.org/2520253003
|
|
Review-Url: https://codereview.chromium.org/2526543003
|
|
Deletion of said object is still inflicted on the callers. But
that's an issue for another day.
Review-Url: https://codereview.chromium.org/2523743004
|