scroggo@google.com
248647cebb
Restructuring of PdfViewer code.
...
The only change in behavior is that SkPdfAllocator on SkPdfContext is
no longer allocated on the heap.
In general, I have just moved code.
SkPdfContext:
Inherit from SkNoncopyable.
Make SkPdfContext directly own fTmpPageAllocator. fTmpPageAllocator is
created when SkPdfContext is, and destroyed at the same time as well,
so there is no reason for the extra allocation.
Add the function parseStream. This eliminates code duplication, and
allows making fTmpPageAllocator private.
Move PdfMainLooper into the implementation file, since it is now only
used by parseStream.
Move SkTDictWithDefaultConstructor and render stats info here, in
support of PdfMainLooper.
SkPdfTokenLooper:
Rename PdfTokenLooper to SkPdfTokenLooper.
Move readToken here, unchanged.
Remove tokenizer(), which is unused.
SkPdfNativeDoc:
Remove tokenizerOfPage and tokenizerOfBuffer, which are unused.
SkPdfOps:
Move gPdfOps and PdfOperatorRenderer into a header file (hidden for
now), so they can be accessed by both SkPdfRenderer.cpp and
SkPdfContext.cpp.
SkPdfRenderer:
Harvest things into other files:
PdfMainLooper (and the code that calls it) -> SkPdfContext.
readToken -> SkPdfTokenLooper.
R=mtklein@google.com
Review URL: https://codereview.chromium.org/79933003
git-svn-id: http://skia.googlecode.com/svn/trunk@12435 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 20:18:09 +00:00
commit-bot@chromium.org
4b413c8bb1
remove SkFloatToScalar macro
...
BUG=
R=reed@google.com , djsollen@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/85463005
git-svn-id: http://skia.googlecode.com/svn/trunk@12385 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 19:44:07 +00:00
scroggo@google.com
bf6426120a
Move PdfTokenLooper into its own file.
...
Otherwise, leave the class unchanged.
Review URL: https://codereview.chromium.org/79773002
git-svn-id: http://skia.googlecode.com/svn/trunk@12333 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 23:12:25 +00:00
scroggo@google.com
d1cf7696f5
Ifdef guard for SkPdfContext.
...
Review URL: https://codereview.chromium.org/79723002
git-svn-id: http://skia.googlecode.com/svn/trunk@12332 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 22:50:40 +00:00
scroggo@google.com
d906702f78
Move SkPdfContext into its own files.
...
Otherwise, the class is unchanged.
Review URL: https://codereview.chromium.org/77763007
git-svn-id: http://skia.googlecode.com/svn/trunk@12330 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 22:33:39 +00:00
scroggo@google.com
b1de123336
Make changes based on talks with Edison.
...
Mostly FIXMEs, to go back and look at in more detail.
Fix a bug where ET did not set fTextBlock back to false.
Corresponds to notes in https://code.google.com/p/skia/source/detail?r=12270
git-svn-id: http://skia.googlecode.com/svn/trunk@12329 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 22:02:32 +00:00
scroggo@google.com
7d8013f306
Changes to SkTDStackNester.
...
SkTDStackNester is a class used by PdfViewer to assist in saving
and restoring the PDF state. Clean up and test this class.
Add some documentation.
Add FIXME's where I have questions to resolve.
Fix a bug where fNestingLevel was not initialized.
Remove a commented out line of code copied over from
SkTDStack.
Rename SkTDStackNester::nests() to nestingLevel() and make it const.
Remove unnecessary predeclaration and friend declaration.
Remove index() (both const and non-const versions). They were
unused, return something that may not be expected (index from
the top, rather than from the bottom), and don't work to get any
elements in earlier Recs once the first one is full.
Report a warning if the nesting level goes above the maximum level,
or if we attempt to bring it below zero.
Prevent fNestingLevel from dropping below zero.
Add kUnusedObject_SkPdfIssue, and use it where appropriate.
Depends on https://codereview.chromium.org/64093009/
R=mtklein@google.com
Review URL: https://codereview.chromium.org/68843006
git-svn-id: http://skia.googlecode.com/svn/trunk@12328 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 21:40:57 +00:00
scroggo@google.com
0daf00ccd7
Move SkTDStackNester into its own private file.
...
Also remove depth(), which is unused.
Otherwise the class is unchanged.
R=mtklein@google.com
Review URL: https://codereview.chromium.org/64093009
git-svn-id: http://skia.googlecode.com/svn/trunk@12324 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 20:47:21 +00:00
mtklein@google.com
0724e1fc2d
Hide unused gFormats.
...
Presumably this is WIP code? Otherwise, we delete it?
BUG=
R=scroggo@google.com
Review URL: https://codereview.chromium.org/78503003
git-svn-id: http://skia.googlecode.com/svn/trunk@12321 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 18:02:00 +00:00
mtklein@google.com
9615f8dbf1
Add missing (trivial) virtual destructors.
...
BUG=
R=scroggo@google.com
Review URL: https://codereview.chromium.org/78543002
git-svn-id: http://skia.googlecode.com/svn/trunk@12312 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-20 14:29:51 +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
608c35e5c4
pdfviewer: readobject can return null, and catalog can be null
...
Review URL: https://codereview.chromium.org/72053002
git-svn-id: http://skia.googlecode.com/svn/trunk@12276 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-13 20:23:40 +00:00
reed@google.com
5308c83a36
drawPosTextOnPath is now deprecated, removing all overrides and impls
...
BUG=
R=djsollen@google.com
Review URL: https://codereview.chromium.org/61743017
git-svn-id: http://skia.googlecode.com/svn/trunk@12270 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-13 15:22:15 +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
940ccc819b
Add a script for running pdfviewer and comparing to existing results.
...
For quick, local checking to see how changes to pdfviewer have changed
PDF files.
Scripts were originally written by edisonn, and updated here for checkin.
R=epoger@google.com
Review URL: https://codereview.chromium.org/62103008
git-svn-id: http://skia.googlecode.com/svn/trunk@12241 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-12 14:52:47 +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
247ac53c29
pdfviewer: fix build break in windows (wrong return type on function)
...
Review URL: https://codereview.chromium.org/68973002
git-svn-id: http://skia.googlecode.com/svn/trunk@12216 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 15:36:44 +00:00
edisonn@google.com
b9731e7dd5
pdfviewr: include what you use (stdio)
...
Review URL: https://codereview.chromium.org/64913003
git-svn-id: http://skia.googlecode.com/svn/trunk@12179 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 22:07:34 +00:00
edisonn@google.com
5e4d9819db
pdfviewer: fix typos (|| instead of |)
...
Review URL: https://codereview.chromium.org/65263002
git-svn-id: http://skia.googlecode.com/svn/trunk@12176 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 20:33:17 +00:00
scroggo@google.com
a7a946a617
Fix Mac warning in PdfViewer.
...
Move a function only used by code guarded by #ifdef PDF_REPORT inside
guard.
R=edisonn@google.com
Review URL: https://codereview.chromium.org/60763003
git-svn-id: http://skia.googlecode.com/svn/trunk@12170 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-07 18:22:18 +00:00
bsalomon@google.com
7ce564cccb
Revert "If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance."
...
This reverts commit r11904
Review URL: https://codereview.chromium.org/35543002
git-svn-id: http://skia.googlecode.com/svn/trunk@11909 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-22 16:54:15 +00:00
bsalomon@google.com
ad254fee73
If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance.
...
Committed: http://code.google.com/p/skia/source/detail?r=11842
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/23484007
git-svn-id: http://skia.googlecode.com/svn/trunk@11904 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-22 13:19:12 +00:00
robertphillips@google.com
c2cc1dbe81
Revert r11842 (call drawRect to try GrAARectRenderer if the path is a rect - https://codereview.chromium.org/23484007 ) due to changes to the following GM images:
...
inverse_paths
pathopsinverse
git-svn-id: http://skia.googlecode.com/svn/trunk@11845 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 17:34:20 +00:00
commit-bot@chromium.org
521a46750d
If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance.
...
R=bsalomon@google.com , robertphillips@google.com , reed@google.com
Author: yunchao.he@intel.com
Review URL: https://codereview.chromium.org/23484007
git-svn-id: http://skia.googlecode.com/svn/trunk@11842 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 16:29:21 +00:00
edisonn@google.com
d03c2c732e
pdfviewer: more code comments + concat the pdf matrix with the existing matrix in canvas, instead of reseting it.
...
Review URL: https://codereview.chromium.org/27057003
git-svn-id: http://skia.googlecode.com/svn/trunk@11735 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 18:26:45 +00:00
edisonn@google.com
2af2ad9cc0
pdfviewer: (more code cleanup): class documentation and comments
...
Review URL: https://codereview.chromium.org/27043002
git-svn-id: http://skia.googlecode.com/svn/trunk@11730 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-11 16:17: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
commit-bot@chromium.org
ab9d30cb01
basically a typo
...
R=caryclark@google.com , bsalomon@google.com
Author: yunchao.he@intel.com
Review URL: https://codereview.chromium.org/23619063
git-svn-id: http://skia.googlecode.com/svn/trunk@11689 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-10 02:53:30 +00:00
edisonn@google.com
c8fda9d96b
code cleanup
...
Review URL: https://codereview.chromium.org/26613006
git-svn-id: http://skia.googlecode.com/svn/trunk@11687 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-09 20:23:12 +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
edisonn@google.com
67d7fb4e89
pdf report files
...
Review URL: https://codereview.chromium.org/26271002
git-svn-id: http://skia.googlecode.com/svn/trunk@11629 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-07 15:40:21 +00:00
edisonn@google.com
af54a513a5
pdfviewer: do not submit, uploaded for backup, and will be done actually after I refactor the params for functions, to put the char* params in a structure: report errors and warnings in pdf, infrastructure
...
Review URL: https://codereview.chromium.org/23902018
git-svn-id: http://skia.googlecode.com/svn/trunk@11262 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-13 19:33:42 +00:00
edisonn@google.com
bca421b468
pdfviewer: (part 1) store the offset of the location of object in file/stream. In order to use the feature, enable the macro defined in SkPdfConfig.h
...
Review URL: https://codereview.chromium.org/23456022
git-svn-id: http://skia.googlecode.com/svn/trunk@11117 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 20:00:21 +00:00
edisonn@google.com
0fd25d8b22
pdfviewer: track what objects have been used during rendering. It will be the base of reporting unused objects to warn about ineficiencies in pdf generations, tests, and what features are not implemented fully.
...
Review URL: https://codereview.chromium.org/23601017
git-svn-id: http://skia.googlecode.com/svn/trunk@11100 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-05 16:40:34 +00:00
edisonn@google.com
e91260c3e7
pdfviewer: fix break, include the right header.
...
Review URL: https://codereview.chromium.org/23493018
git-svn-id: http://skia.googlecode.com/svn/trunk@11083 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-04 17:29:06 +00:00
mtklein@google.com
bd6343b1d6
Rewrite SkTRegistry to take any trivially-copyable type.
...
Obviously these are all currently function pointers of type T(*)(P) for various
T and P. In bench refactoring, I'm trying to register a function pointer of
type T(*)(), which can't be done as is (passing P=void doesn't work). This
also lets us register things like primitives, which is conceivable useful.
BUG=
R=reed@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/23453031
git-svn-id: http://skia.googlecode.com/svn/trunk@11082 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-04 17:20:18 +00:00
commit-bot@chromium.org
a6f37e77c1
Add ShouldSkip variant that can read a --match flag directly.
...
Just seemed like we were going through lots of hoops for this common case.
BUG=
R=scroggo@google.com
Author: mtklein@google.com
Review URL: https://chromiumcodereview.appspot.com/23708009
git-svn-id: http://skia.googlecode.com/svn/trunk@11034 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-30 15:52:46 +00:00
commit-bot@chromium.org
e029440758
Replace SkTScopedPtr with SkAutoTDelete in Skia.
...
BUG=
R=djsollen@google.com , reed@google.com , vandebo@chromium.org
Author: mtklein@google.com
Review URL: https://chromiumcodereview.appspot.com/23621005
git-svn-id: http://skia.googlecode.com/svn/trunk@11016 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 22:14:04 +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
epoger@google.com
1c9518b09d
Remove experimental/json-expectations , no longer needed.
...
R=scroggo@google.com
Review URL: https://codereview.chromium.org/23498007
git-svn-id: http://skia.googlecode.com/svn/trunk@10941 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-27 16:48:04 +00:00
edisonn@google.com
73613c16e1
pdfviewer: if the resources are missing, exit (right now inheritance is not implemented)
...
Review URL: https://codereview.chromium.org/23125015
git-svn-id: http://skia.googlecode.com/svn/trunk@10875 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-22 15:48:35 +00:00
mtklein@google.com
330313a8a8
My clang now doesn't complain about !"foo".
...
BUG=
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/22875037
git-svn-id: http://skia.googlecode.com/svn/trunk@10874 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-22 15:37:26 +00:00
edisonn@google.com
f68aed3381
pdfviewer: when q start, and an operator is called, it should not be able to see operands before q. nest/unnest are similar with pop/push - simulates a stack of stacks, in a single stack
...
Review URL: https://codereview.chromium.org/23033022
git-svn-id: http://skia.googlecode.com/svn/trunk@10873 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-22 15:37:21 +00:00
edisonn@google.com
bd2f30132e
pdfviewer: add macros to automatically check number and type of parameters
...
Review URL: https://codereview.chromium.org/23038021
git-svn-id: http://skia.googlecode.com/svn/trunk@10872 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-22 14:18:04 +00:00
skia.committer@gmail.com
37c18e4e38
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@10871 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-22 07:01:59 +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
skia.committer@gmail.com
b74bdf0249
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@10842 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-21 07:01:29 +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