commit-bot@chromium.org
069a55a7fe
Revert of Revert of Revert "De-virtualize SkCanvas save/restore." ( https://codereview.chromium.org/196323003/ )
...
Reason for revert:
Pulling out to rename the virtuals.
Original issue's description:
> Revert of Revert "De-virtualize SkCanvas save/restore." (https://codereview.chromium.org/194923008/ )
>
> Reason for revert:
> Re-landing after roll fix.
>
> Original issue's description:
> > Revert "De-virtualize SkCanvas save/restore."
> >
> > (To allow a roll fix into the tree).
> >
> > This reverts commit edf702204be42c945254191f9f9cd6585b3d189b.
> >
> > R=halcanary@google.com
> >
> > Committed: https://code.google.com/p/skia/source/detail?r=13748
>
> TBR=halcanary@google.com ,fmalita@chromium.org
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: http://code.google.com/p/skia/source/detail?r=13754
R=halcanary@google.com , fmalita@chromium.org
TBR=fmalita@chromium.org , halcanary@google.com
NOTREECHECKS=true
NOTRY=true
Author: fmalita@google.com
Review URL: https://codereview.chromium.org/197553002
git-svn-id: http://skia.googlecode.com/svn/trunk@13765 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 15:08:22 +00:00
commit-bot@chromium.org
4fcd92d0bf
Revert of Revert "De-virtualize SkCanvas save/restore." ( https://codereview.chromium.org/194923008/ )
...
Reason for revert:
Re-landing after roll fix.
Original issue's description:
> Revert "De-virtualize SkCanvas save/restore."
>
> (To allow a roll fix into the tree).
>
> This reverts commit edf702204be42c945254191f9f9cd6585b3d189b.
>
> R=halcanary@google.com
>
> Committed: https://code.google.com/p/skia/source/detail?r=13748
R=halcanary@google.com , fmalita@chromium.org
TBR=fmalita@chromium.org , halcanary@google.com
NOTREECHECKS=true
NOTRY=true
Author: fmalita@google.com
Review URL: https://codereview.chromium.org/196323003
git-svn-id: http://skia.googlecode.com/svn/trunk@13754 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 23:47:35 +00:00
fmalita@google.com
f1292bc01f
Revert "De-virtualize SkCanvas save/restore."
...
(To allow a roll fix into the tree).
This reverts commit edf702204be42c945254191f9f9cd6585b3d189b.
R=halcanary@google.com
Review URL: https://codereview.chromium.org/194923008
git-svn-id: http://skia.googlecode.com/svn/trunk@13748 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 21:46:56 +00:00
fmalita@google.com
80b10518a2
De-virtualize SkCanvas save/restore.
...
This moves the state management logic into non-virtual SkCanvas methods,
and turns the virtuals into protected notifiers.
R=robertphillips@google.com , reed@google.com
Review URL: https://codereview.chromium.org/194713008
git-svn-id: http://skia.googlecode.com/svn/trunk@13747 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 21:04:41 +00:00
commit-bot@chromium.org
5c70cdca5e
hide getTotalClip, so we can eventually remove it
...
hide getClipType, so we can eventually remove it
patch from issue 189443007
TBR=robertphilips@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/189883010
git-svn-id: http://skia.googlecode.com/svn/trunk@13715 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-08 03:57:19 +00:00
skia.committer@gmail.com
370a89980b
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13634 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-01 03:02:09 +00:00
robertphillips@google.com
8f90a892c5
add new onClip* methods to SkCanvas
...
https://codereview.chromium.org/183453002/
git-svn-id: http://skia.googlecode.com/svn/trunk@13627 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 18:19:39 +00:00
robertphillips@google.com
03fc3b4f67
Revert of r13620 (add new onClip* methods to SkCanvas - https://codereview.chromium.org/183453002/ ) due to broken Chrome Canary and failing tests.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13622 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 15:28:02 +00:00
robertphillips@google.com
392c9be344
add new onClip* methods to SkCanvas
...
https://codereview.chromium.org/183453002/
git-svn-id: http://skia.googlecode.com/svn/trunk@13620 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 14:35:45 +00:00
commit-bot@chromium.org
0a2bf90dcc
Factory methods for heap-allocated SkPathEffect and SkXfermode objects.
...
This is part of an effort to ensure that all SkPaint effects can only be
allocated on the heap.
This patch makes the constructors of SkPathEffect, SkXfermode and
their subclasses non-public and instead provides factory methods for
creating these objects on the heap. We temporarily keep the constructors
of the following classes public to not break Chrome/Blink:
SkXfermode
SkCornerPathEffect
SkDashPathEffect
BUG=skia:2187
R=scroggo@google.com , reed@google.com , mtklein@google.com , bungeman@google.com
Author: dominikg@chromium.org
Review URL: https://codereview.chromium.org/166583002
git-svn-id: http://skia.googlecode.com/svn/trunk@13519 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-20 20:40:19 +00:00
commit-bot@chromium.org
15a1405999
Change device factories to take SkImageInfo instead of SkBitmap::Config
...
patch from issue 167033002
BUG=skia:
R=reed@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/168653002
git-svn-id: http://skia.googlecode.com/svn/trunk@13463 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-16 00:59:25 +00:00
commit-bot@chromium.org
d08d23b385
Small tweaks to be able to build everything target:
...
- fParsed is unused.
- Quiet down a bogus -Wuninitialized warning in QWeakPointer.
Tested Clang and GCC on Linux.
BUG=
R=bungeman@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/128573002
git-svn-id: http://skia.googlecode.com/svn/trunk@12970 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-08 21:16:14 +00:00
scroggo@google.com
8272d87d30
Remove SkPdfNativeDoc::tokenizerOfStream.
...
Instead, initialize an SkPdfNativeTokenizer directly on the stack.
Fixes a memory leak in SkPdfFont.
R=mtklein@google.com
Review URL: https://codereview.chromium.org/100323003
git-svn-id: http://skia.googlecode.com/svn/trunk@12462 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 16:15:31 +00:00
skia.committer@gmail.com
f242a484e3
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@12453 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 07:02:11 +00:00
scroggo@google.com
36026de644
Simplify SkPdfTokenLooper behavior.
...
Instead of passing a pointer to a pointer to a NULL looper, which can
then be set to point to a new looper (which then must be looped and
deleted), pass a pointer to the current looper. Each function can then
create a looper based on the parent (on the stack) and call loop()
itself.
Remove setUp(). Now that there is a pointer to the parent at creation
time, there is no need for this function.
Modify the constructors to only provide ones that are needed.
Add documentation.
Remove PdfInlineImageLooper::done(), which is never used.
R=mtklein@google.com
Review URL: https://codereview.chromium.org/83183004
git-svn-id: http://skia.googlecode.com/svn/trunk@12447 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 22:34:45 +00:00
scroggo@google.com
5f008652f6
Remove some PdfViewer warnings.
...
Fix build.
git-svn-id: http://skia.googlecode.com/svn/trunk@12438 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 20:58:12 +00:00
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
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
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