Commit Graph

459 Commits

Author SHA1 Message Date
commit-bot@chromium.org
9ee0e32886 Turn on GL drawing, allow switching via --gpu flag.
This CL comes after https://codereview.chromium.org/121303004/.

BUG=
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12923 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 20:03:55 +00:00
commit-bot@chromium.org
c8d732800e Renamed JsCanvas to JsContext and moved into it's own file.
Fleshed out a lot of the Path interface.

BUG=
R=robertphillips@google.com, tfarina@chromium.org, reed@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12913 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 18:17:24 +00:00
commit-bot@chromium.org
872796bb8e Allow multiple concurrent timers.
BUG=
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12802 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-20 15:56:52 +00:00
reed@google.com
1915fd09f3 remove unused SkFixed and SkFract functions
BUG=
R=caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12767 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 14:22:03 +00:00
commit-bot@chromium.org
0fc0dea333 Add a setTimer() function.
Seemed simple, but required adding a Global class that contains all the global state (instance and context) for our running V8 instance. Also moved canvas.inval to be just inval() at the global level.

BUG=
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12730 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 04:45:37 +00:00
commit-bot@chromium.org
b09bfcb7b1 add virtual destructor for SkExample to fix build error.
The original SkExample have virtual function draw(), but have no virtual destructor. This may lead to memory leak when free the instance of derived class of SkExample. The latest skia code show error when build SkiaExamples by "ninja -C out/Release SkiaExamples":
error: ‘class SkExample’ has virtual functions and accessible non-virtual destructor.

R=caryclark@google.com

Author: yunchao.he@intel.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12728 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 23:37:38 +00:00
reed@google.com
26deb23e15 change SkScalarRound to SkScalarRoundToInt
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12720 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 19:50:57 +00:00
reed@google.com
e1ca705cac deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients
BUG=
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12719 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 19:22:07 +00:00
reed@google.com
8f4d2306fa remove SK_SCALAR_IS_[FLOAT,FIXED] and assume floats
To keep the CL (slightly) managable, this does not make any changes to
existing macros (e.g. SkScalarMul). Just tackling #ifdef constructs this
time around.

BUG=
R=bsalomon@google.com, caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12712 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 16:44:46 +00:00
commit-bot@chromium.org
4ad1e97b85 Add a print function in the global JS scope for debugging.
BUG=
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12695 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-16 19:55:01 +00:00
commit-bot@chromium.org
48d94b8ce5 Add command line flag for optionally loading JS from external files.
BUG=
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12692 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-16 18:24:51 +00:00
commit-bot@chromium.org
3a6143d91f Added canvas.fillStyle with support for just the "#RRGGBB" style of colors.
Also renamed drawRect to fillRect, which now take x,y,w,h parameters.

BUG=
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12621 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 17:34:58 +00:00
skia.committer@gmail.com
63ba319483 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12617 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-11 07:02:06 +00:00
robertphillips@google.com
befb499da5 Fix error in r12597 (can't forget that newline at the end of a file)
git-svn-id: http://skia.googlecode.com/svn/trunk@12598 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-10 15:51:43 +00:00
robertphillips@google.com
42cc237caf New Composite CSS border object
https://codereview.chromium.org/86263003/



git-svn-id: http://skia.googlecode.com/svn/trunk@12597 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-10 15:19:32 +00:00
commit-bot@chromium.org
9bde13c1b2 Add a canvas object with drawRect() and inval().
BUG=
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12595 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-10 14:13:03 +00:00
commit-bot@chromium.org
80bd0c995d A simple draw() function in Javascript.
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12527 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 15:24:52 +00:00
commit-bot@chromium.org
44a3877442 V8 and Skia
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12503 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 13:45:19 +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
bungeman@google.com
0d9e3da8bb Use lowercase windows.h in includes to fix Windows cross compilation using mingw.
While it doesn't matter on Windows, mingw on case-sensitive OSes uses all lower case filenames for platform include files. I found the problem in SkCondVar.h from Mozilla checkout of skia sources, but the patch contains a fix for the whole skia tree.

R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12461 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 15:23:37 +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