Commit Graph

43 Commits

Author SHA1 Message Date
scroggo@google.com
5092adc546 Separate and update PDF_DIFF_TRACE_IN_PNG
Move its functionality out of readToken() and into its own class.
Callers of the previous readToken() now call
SkPdfNativeTokenizer::readToken(), which in turn calls a function
for writing the diff to a file, if the caller requests it and
PDF_TRACE_DIFF_IN_PNG is defined.

Do not attempt to draw a diff for compatibility sections, which we
do not draw.

Use SkString to handle string manipulation.

Hide globals only used by PDF_TRACE_DIFF_IN_PNG behind that flag.

Remove hasVisualEffects, which always returns true.

Rename gLastOpKeyword to gOpCounter for clarity.

In SkPdfNativeTokenizer, set fEmpty to true when the entire stream
has been read.

Use SkBitmap::copyTo instead of manually copying an SkBitmap.

Builds on https://codereview.chromium.org/79933003/

R=mtklein@google.com

Review URL: https://codereview.chromium.org/80463005

git-svn-id: http://skia.googlecode.com/svn/trunk@12436 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 20:22:31 +00:00
scroggo@google.com
909228992c Pdfviewer refactoring.
Mostly superficial changes, to help me make sure I understand the
code while making modifications.

SkPdfRenderer:
First class I'm modifying. Move it into include/ and src/ directories.
Inherit from SkNoncopyable.
Replace load() with factory function which returns NULL if the load
fails.
Remove unload() and loaded(), which no longer make sense, since the
factory will return NULL on a failure to load, and unload() happens
on destruction.
Use a const char* for loading a PDF, following the convention of
SkStream::NewFromFile.
Remove unnecessary call to sqrt in SkPDFNativeRenderToBitmap.
Also in SkPDFNativeRenderToBitmap, use an appropriate SkScalar macro
to convert to an integer.
Use this-> when calling member functions.

pdf_viewer_main.cpp:
Call the new interface for SkPdfRenderer.

gyp files:
Refer to the new location of SkPdfRenderer.

R=edisonn@google.com

Review URL: https://codereview.chromium.org/59493011

git-svn-id: http://skia.googlecode.com/svn/trunk@12296 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-14 19:09:27 +00:00
scroggo@google.com
c6e1e9a9cc Fix warnings and Win only error in pdf_viewer.
git-svn-id: http://skia.googlecode.com/svn/trunk@12292 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-14 17:05:05 +00:00
scroggo@google.com
221253861d Include SkBitmapDevice for pdf_viewer.
git-svn-id: http://skia.googlecode.com/svn/trunk@12289 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-14 16:01:23 +00:00
edisonn@google.com
04068b13e5 pdfviewer: remove sqrt from the formula computing the scale (DPI is dots per inch, not dots per square inch)
Review URL: https://codereview.chromium.org/70793003

git-svn-id: http://skia.googlecode.com/svn/trunk@12258 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 21:56:39 +00:00
scroggo@google.com
5c7be9584c Use SkPathJoin and SkBasename in Pdfviewer.
Remove redundant code.

R=edisonn@google.com

Review URL: https://codereview.chromium.org/68263003

git-svn-id: http://skia.googlecode.com/svn/trunk@12240 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 14:43:44 +00:00
edisonn@google.com
e50d9a1fcd mode code cleanup (100c / l, comments)
Review URL: https://codereview.chromium.org/26912005

git-svn-id: http://skia.googlecode.com/svn/trunk@11716 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 20:58:22 +00:00
edisonn@google.com
598cf5d3cf remove tracking code, as it polutes the code readability. Should be added back, in a less eficient way, by registering streams instead, so we don't have to pass arround the streams, and the code will be cleaner.
Review URL: https://codereview.chromium.org/26700002

git-svn-id: http://skia.googlecode.com/svn/trunk@11671 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-09 15:13:19 +00:00
robertphillips@google.com
1f2f338e23 Split SkDevice into SkBaseDevice and SkBitmapDevice
https://codereview.chromium.org/22978012/



git-svn-id: http://skia.googlecode.com/svn/trunk@10995 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 11:54:56 +00:00
edisonn@google.com
cf2cfa174c pdfviewer: code cleanup - add licence on files, make replace __DEFINE__foo with foo_DEFINED to match skia project
Review URL: https://codereview.chromium.org/23361009

git-svn-id: http://skia.googlecode.com/svn/trunk@10854 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-21 16:31:37 +00:00
robertphillips@google.com
9b051a375b Revert r10830 (Split SkDevice out of SkRasterDevice) until we can get Chromium ready.
git-svn-id: http://skia.googlecode.com/svn/trunk@10835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 20:06:40 +00:00
robertphillips@google.com
3055b70018 Split SkDevice out of SkBitmapDevice
https://codereview.chromium.org/22978012/



git-svn-id: http://skia.googlecode.com/svn/trunk@10830 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 17:49:04 +00:00
edisonn@google.com
33f11b6fcd pdfviewer: make pdfviewer compile on mac
Review URL: https://codereview.chromium.org/23163007

git-svn-id: http://skia.googlecode.com/svn/trunk@10721 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-14 21:35:27 +00:00
edisonn@google.com
768bc6a920 pdfviewer: add ability to run on gpu
Review URL: https://codereview.chromium.org/22684002

git-svn-id: http://skia.googlecode.com/svn/trunk@10638 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-08 12:42:13 +00:00
edisonn@google.com
2273f9b45f pdfviewer: load image pain settings (like transparency), pass the page number, report failure if at least one render fails, and check that xref section starts with xref keyword.
Review URL: https://codereview.chromium.org/22465006

git-svn-id: http://skia.googlecode.com/svn/trunk@10588 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-06 21:48:44 +00:00
edisonn@google.com
5149bd954b pdfviewer: set backdround to transparent, and add an app to chop transparent content in png files.
Review URL: https://codereview.chromium.org/21981008

git-svn-id: http://skia.googlecode.com/svn/trunk@10538 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-05 17:26:11 +00:00
edisonn@google.com
641cce90c9 pdfviewer: fix condition for element in array, reset back the default color to white, and verify type before value in PDF API mapper
Review URL: https://codereview.chromium.org/21017004

git-svn-id: http://skia.googlecode.com/svn/trunk@10427 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-30 12:09:14 +00:00
edisonn@google.com
1acab362fd pdfviewer: limit the characters we support in ToUnicode, to 0xffff
Review URL: https://codereview.chromium.org/20538002

git-svn-id: http://skia.googlecode.com/svn/trunk@10377 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 22:03:22 +00:00
edisonn@google.com
ac4bedcb10 pdfviewer: set the default background to transparent (to match render_picture default), and fix a bug a with corrupt diffs
Review URL: https://codereview.chromium.org/20526002

git-svn-id: http://skia.googlecode.com/svn/trunk@10376 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 21:40:23 +00:00
edisonn@google.com
147adb10f7 pdfviewer: remove dependency on picture_utils. add utility function to render SkStream into bitmap.
Review URL: https://codereview.chromium.org/20087003

git-svn-id: http://skia.googlecode.com/svn/trunk@10314 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-24 15:56:19 +00:00
edisonn@google.com
2ccc3afa47 pdfviewer: improve memory usage, improve parse time (by 30-50%) and don't allocate extra buffers (more to do, but low priority now), and put the page specific memory in an allocator.
Review URL: https://codereview.chromium.org/19793011

git-svn-id: http://skia.googlecode.com/svn/trunk@10282 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 17:43:18 +00:00
edisonn@google.com
ac03d91ee0 pdfviewer: All NulCanvas (does not draw operations), TrackDevice (trackes what pixels have been changed)
Review URL: https://codereview.chromium.org/19793006

git-svn-id: http://skia.googlecode.com/svn/trunk@10236 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-22 15:36:39 +00:00
edisonn@google.com
6a9d436260 pdfviewer: add option to run the load or render multiple times, --benchLoad, --benchRender
Review URL: https://codereview.chromium.org/18093008

git-svn-id: http://skia.googlecode.com/svn/trunk@10013 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-11 16:25:51 +00:00
edisonn@google.com
444e25a66b add ability to specify the DPI at which to render the page
Review URL: https://codereview.chromium.org/19000004

git-svn-id: http://skia.googlecode.com/svn/trunk@10009 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-11 15:20:50 +00:00
edisonn@google.com
1310238d82 pdfviewer: render in the same way regadless if we write the result to a file or not.
Review URL: https://codereview.chromium.org/18503013

git-svn-id: http://skia.googlecode.com/svn/trunk@10008 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-11 14:50:12 +00:00
edisonn@google.com
15b1118203 pdfviewer: some code cleanup in renderer
Review URL: https://codereview.chromium.org/18093005

git-svn-id: http://skia.googlecode.com/svn/trunk@10006 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-11 14:43:15 +00:00
edisonn@google.com
7b328fddf9 pdfviewer: add --pages arg: render a certain page (all, all in desceding order, firsl, last and by page number)
Review URL: https://codereview.chromium.org/18584010

git-svn-id: http://skia.googlecode.com/svn/trunk@9999 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-11 12:53:06 +00:00
edisonn@google.com
a5aaa7998f pdfviewer: measure mem usage, command line flags library.
Review URL: https://codereview.chromium.org/18562010

git-svn-id: http://skia.googlecode.com/svn/trunk@9996 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-11 12:27:21 +00:00
edisonn@google.com
cdad30b35a pdfviewer: fix bug, page -1 means render page 0 with no page extension
Review URL: https://codereview.chromium.org/18660009

git-svn-id: http://skia.googlecode.com/svn/trunk@9985 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-10 22:37:38 +00:00
edisonn@google.com
222382b30a pdf viewer: refactor, add -w parameter to pdfviewer, add -n to remove extenassion page when there is a single page (so skdiff can be run easily) and fix a bug (SkPdfobject should not reset on destruct)
Review URL: https://codereview.chromium.org/18435007

git-svn-id: http://skia.googlecode.com/svn/trunk@9983 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-10 22:33:10 +00:00
edisonn@google.com
596d2e26cd pdf viewer: fix a few warnings, and enable warning as errors
Review URL: https://codereview.chromium.org/18293012

git-svn-id: http://skia.googlecode.com/svn/trunk@9966 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-10 17:44:55 +00:00
edisonn@google.com
131d4ee0ea refactoring for pdf viewer lib
Review URL: https://codereview.chromium.org/17856004

git-svn-id: http://skia.googlecode.com/svn/trunk@9773 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-26 17:48:12 +00:00
edisonn@google.com
b857a0c7de Basic support for Type3 Fonts in Pdf + various refactorings
Review URL: https://codereview.chromium.org/17748002

git-svn-id: http://skia.googlecode.com/svn/trunk@9757 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-25 20:45:40 +00:00
edisonn@google.com
1be794fad6 add missing font.* files, map podofo to SkPdfObject for SkPdfArray::operator[]
Review URL: https://codereview.chromium.org/17063014

git-svn-id: http://skia.googlecode.com/svn/trunk@9735 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-21 21:43:09 +00:00
edisonn@google.com
ff27844d15 load font manually, for now Type0
Review URL: https://codereview.chromium.org/17294008

git-svn-id: http://skia.googlecode.com/svn/trunk@9734 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-21 21:03:15 +00:00
edisonn@google.com
afe5e9e417 Deal with ca and CA transparency operators in pdf. add comments to generated classes.
Review URL: https://codereview.chromium.org/16975013

git-svn-id: http://skia.googlecode.com/svn/trunk@9685 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-19 17:42:17 +00:00
edisonn@google.com
59543d34df Continue to contain podofo, shorter enums
Review URL: https://codereview.chromium.org/17395005

git-svn-id: http://skia.googlecode.com/svn/trunk@9670 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-18 22:00:40 +00:00
edisonn@google.com
1277cf05cc Pdfviewer: generate isAFoo() and getAsFoo() api for fields that can have multiple types.
Review URL: https://codereview.chromium.org/16968007

git-svn-id: http://skia.googlecode.com/svn/trunk@9646 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-17 23:36:45 +00:00
edisonn@google.com
68d15c81e5 few steps in the direction of to encapsulating podofo, so the client is not aware podofo is used.
Review URL: https://codereview.chromium.org/17286007

git-svn-id: http://skia.googlecode.com/svn/trunk@9643 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-17 20:46:27 +00:00
edisonn@google.com
a2fab9d35c Object model generated from pdf spec 1.4, draft code
Review URL: https://codereview.chromium.org/17095004

git-svn-id: http://skia.googlecode.com/svn/trunk@9625 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-14 19:22:19 +00:00
edisonn@google.com
e4d11becb5 remove some old code
Review URL: https://codereview.chromium.org/16845002

git-svn-id: http://skia.googlecode.com/svn/trunk@9547 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-12 19:53:42 +00:00
edisonn@google.com
af3daa01f6 Code generator for dinamic generation of podofo wrappers
Review URL: https://codereview.chromium.org/16838002

git-svn-id: http://skia.googlecode.com/svn/trunk@9544 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-12 19:07:45 +00:00
edisonn@google.com
01cd4d5c8f simple podofo and skia based pdf viewer
Review URL: https://codereview.chromium.org/16295031

git-svn-id: http://skia.googlecode.com/svn/trunk@9494 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-10 20:44:45 +00:00