edisonn@google.com
73a7ea3ae0
Implement DPI for perspective bitmaps in PDF - we save the bitmap at the resolution requested.
...
R=reed@google.com , vandebo@chromium.org
Review URL: https://codereview.chromium.org/54913004
git-svn-id: http://skia.googlecode.com/svn/trunk@12230 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 20:55:15 +00:00
scroggo@google.com
a8e33a92e2
Add ability to ninepatch blurred rounded rectangle
...
Speed up drawing large blurry round rectangles by converting them to
nine patches.
SkDraw:
Add drawRRect.
SkBitmapDevice:
Call SkDraw::drawRRect instead of converting SkRRect to an SkPath.
SkMaskFilter/SkBlurMaskFilter:
Create a nine patch of a blurred round rect and draw it instead of
drawing the entire thing.
SkPDFDevice:
Override drawRRect to perform the old behavior in
SkBitmapDevice::drawRect.
Depends on https://codereview.chromium.org/52703003
Tests are in https://codereview.chromium.org/52793005
BUG=https://b.corp.google.com/issue?id=11174385
R=reed@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/48623006
git-svn-id: http://skia.googlecode.com/svn/trunk@12198 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-08 18:02:53 +00:00
vandebo@chromium.org
3b416216d1
[PDF] Improve complex xfer mode support.
...
Xfer mode applies only to the shape of the source drawing, not everything in the clip as in currently implemented. It's just that the current gm examples draw a shape that fills the visible layer.
R=edisonn@google.com , reed@google.com
Review URL: https://codereview.appspot.com/4631078
git-svn-id: http://skia.googlecode.com/svn/trunk@12034 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-30 20:48:05 +00:00
commit-bot@chromium.org
8c294900f3
Add DPI stettings to SkDocument::CreatePDF(). Tests will be added in a future cl, once DPI will be used in SkPDFDevice
...
R=reed@google.com , bungeman@google.com , vandebo@chromium.org
Author: edisonn@google.com
Review URL: https://codereview.chromium.org/32233003
git-svn-id: http://skia.googlecode.com/svn/trunk@11886 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 17:14:37 +00:00
commit-bot@chromium.org
5e00989a28
Add SkPDFDeviceFlatenner which extends SkPDFDevice to add support to flatten the path and the text when we have perspective.
...
prepare to deprecate SkPDFDevice constructor, and route gm and render_pdfs to use SkDocument::Create pdf interface instead. - controlled by a flag
add comments where we are supposed to flatten other features (paint, shaders, ... )
R=reed@google.com , bungeman@google.com , scroggo@google.com , vandebo@chromium.org , bsalomon@google.com
Author: edisonn@google.com
Review URL: https://codereview.chromium.org/24811002
git-svn-id: http://skia.googlecode.com/svn/trunk@11751 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 13:42:12 +00:00
edisonn@google.com
a9ebd161a7
pdf: drawPath should pass the computed matrix, instead of default matrix stored in draw.
...
moved cl https://codereview.chromium.org/24265006/ in git repository so I can run the trybots
R=vandebo@chromium.org
Review URL: https://codereview.chromium.org/25675011
git-svn-id: http://skia.googlecode.com/svn/trunk@11626 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-07 13:22:21 +00:00
commit-bot@chromium.org
608ea6508a
Use SkPicture::ExtractBitmap callback in pdf too, there is no need for a specialized function pointer for pdf only only to pass a rectangle, when we can use subseted bitmaps.
...
R=scroggo@google.com , reed@google.com , vandebo@chromium.org , bsalomon@google.com
Author: edisonn@google.com
Review URL: https://codereview.chromium.org/25054002
git-svn-id: http://skia.googlecode.com/svn/trunk@11591 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-03 19:29:21 +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
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
commit-bot@chromium.org
eed779d866
This CL plumbs in the drawBitmapRectToRect "bleed" flag and makes it live on the simplest GPU path.
...
R=bsalomon@google.com , reed@google.com , edisonn@google.com , scroggo@google.com , jvanverth@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://chromiumcodereview.appspot.com/20806003
git-svn-id: http://skia.googlecode.com/svn/trunk@10765 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-16 10:24:37 +00:00
commit-bot@chromium.org
d2623a1a0b
Use Path Ops to generate PDF clips
...
R=vandebo@chromium.org , edisonn@google.com , caryclark@google.com
Author: richardlin@chromium.org
Review URL: https://chromiumcodereview.appspot.com/21161003
git-svn-id: http://skia.googlecode.com/svn/trunk@10633 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-08 02:52:05 +00:00
commit-bot@chromium.org
92ffe7d10e
Inverse fill support in PDF
...
BUG= https://code.google.com/p/skia/issues/detail?id=241 (partial fix)
R=edisonn@google.com , vandebo@chromium.org , reed@google.com
Author: richardlin@chromium.org
Review URL: https://chromiumcodereview.appspot.com/19519017
git-svn-id: http://skia.googlecode.com/svn/trunk@10476 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-31 22:54:31 +00:00
robertphillips@google.com
9bf380ce7f
drawBitmap* cleanup
...
https://codereview.chromium.org/19977003/
git-svn-id: http://skia.googlecode.com/svn/trunk@10342 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 12:10:42 +00:00
commit-bot@chromium.org
4740135407
Fix Clang build on SkPDFResourceDict (CL 18977002)
...
R=edisonn@google.com , vandebo@chromium.org
Author: richardlin@chromium.org
Review URL: https://chromiumcodereview.appspot.com/19954011
git-svn-id: http://skia.googlecode.com/svn/trunk@10295 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-23 21:49:29 +00:00
vandebo@chromium.org
fc16667077
Revert "Adds SkPDFResourceDict class, refactor existing code to use it."
...
This reverts commit r10245
Review URL: https://codereview.chromium.org/19523007
git-svn-id: http://skia.googlecode.com/svn/trunk@10247 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-22 18:31:24 +00:00
commit-bot@chromium.org
3a8dfc36ae
Adds SkPDFResourceDict class, refactor existing code to use it.
...
Committed: http://code.google.com/p/skia/source/detail?r=10202
R=vandebo@chromium.org , edisonn@google.com
Author: richardlin@chromium.org
Review URL: https://chromiumcodereview.appspot.com/18977002
git-svn-id: http://skia.googlecode.com/svn/trunk@10245 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-22 18:20:52 +00:00
vandebo@chromium.org
d322cf4939
Revert "Adds SkPDFResourceDict class to manage resource dicts. Refactors existing code to use this class."
...
This reverts commit r10202
Review URL: https://codereview.chromium.org/19790007
git-svn-id: http://skia.googlecode.com/svn/trunk@10205 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 20:13:44 +00:00
commit-bot@chromium.org
c84fb471d1
Adds SkPDFResourceDict class to manage resource dicts. Refactors existing code to use this class.
...
BUG=
R=vandebo@chromium.org , edisonn@google.com
Author: richardlin@chromium.org
Review URL: https://chromiumcodereview.appspot.com/18977002
git-svn-id: http://skia.googlecode.com/svn/trunk@10202 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-19 18:58:34 +00:00
edisonn@google.com
a20e42c08b
Remove SK_API, from SkTSet. the template is not public.
...
Review URL: https://codereview.chromium.org/15792016
git-svn-id: http://skia.googlecode.com/svn/trunk@9374 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-31 18:04:20 +00:00
edisonn@google.com
d9dfa18372
Encode images with DCTDecode (JPEG) in PDFs if it makes sense. Fallback to FlateDecode (zip) if it makes sense. Otherewise include uncompressed stream.
...
This change will reduce the size of PDFs to 50% (in the case of the existing SKPs, we reduce the total size of PDFs from 105MB to 50MB)
Review URL: https://codereview.appspot.com/7068055
git-svn-id: http://skia.googlecode.com/svn/trunk@8835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-24 13:01:01 +00:00
edisonn@google.com
6addb19300
resubmit https://code.google.com/p/skia/source/detail?r=7883 (in the meantime we
...
added capability to collect minidump and callstack if buildbot fails with heap
coruption in windows, and a NPE bug was fixed in SkPDFDocument, when document was destroyed without ever beeing used and a field was NULL + a few minor conflicts have been resolved)
git-svn-id: http://skia.googlecode.com/svn/trunk@8487 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-02 15:33:08 +00:00
robertphillips@google.com
acef3c4082
Reverting r8233 (Use SkSet in PDF)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8255 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-20 14:42:51 +00:00
edisonn@google.com
66bedbb02d
resubmit https://code.google.com/p/skia/source/detail?r=7883 (in the meantime we added capability to collect minidump and callstack if buildbot fails with heap coruption in windows. a few minor conflicts have been resolved)
...
Review URL: https://codereview.chromium.org/12840004
git-svn-id: http://skia.googlecode.com/svn/trunk@8233 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-19 17:19:05 +00:00
epoger@google.com
b58772f866
PDF: add support for named destinations.
...
Landing patchset 7 from https://codereview.appspot.com/7374052 for dml@google.com
Review URL: https://codereview.chromium.org/12533009
git-svn-id: http://skia.googlecode.com/svn/trunk@8034 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-08 09:09:10 +00:00
epoger@google.com
812b6f59fa
Revert r8000 due to failures on some buildbots
...
git-svn-id: http://skia.googlecode.com/svn/trunk@8001 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-06 00:47:22 +00:00
epoger@google.com
1cad898916
PDF: add support for named destinations
...
Imported from https://codereview.appspot.com/7374052/ on behalf of dml@google.com
Review URL: https://codereview.chromium.org/12466008
git-svn-id: http://skia.googlecode.com/svn/trunk@8000 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-06 00:05:13 +00:00
edisonn@google.com
5bd26d32ab
revert r7892
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7896 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-28 14:01:44 +00:00
edisonn@google.com
194b7cdb50
resubmit after fixing assert issue: https://codereview.appspot.com/6744050
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7892 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 19:45:11 +00:00
edisonn@google.com
d1c53aae59
Revert r7883
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7884 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 17:46:09 +00:00
edisonn@google.com
676aef05ab
Use SkSet to fix issue when pdf generates an exp number of resources.
...
The problem fixed - http://code.google.com/p/skia/issues/detail?id=940 - is that getResources will recursively obtain all child resource recursively without checking for duplicates.
If we have lots of duplicates, then we try to build a very large vector (exponential with the number of nodes usually) and sooner or later we end up using too much memory and crash.
A possible solution could have been to make sure resources do not have duplicates, but that requirement is impractical, and it this leaves the solution fragile, if there is any issue in the tree, we crash.
When we emit the pdf, the large number of duplicates is not an issue, because SkPDFCatalog::addObject will deal with duplicates.
I have run the gm with --config pdf, and the images are 100% same bits, while the pdfs have the same size but some very small changes, the order of some objects.
Review URL: https://codereview.appspot.com/6744050
git-svn-id: http://skia.googlecode.com/svn/trunk@7883 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 16:54:44 +00:00
edisonn@google.com
2ae67e70cd
add custom implementation for drawBitmapRect to shield from changes in SkDevice
...
git-svn-id: http://skia.googlecode.com/svn/trunk@7696 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-12 01:06:38 +00:00
reed@google.com
fc641d09e5
remove all SkRefPtr from SkPDFDevice.h
...
Review URL: https://codereview.appspot.com/6542049
git-svn-id: http://skia.googlecode.com/svn/trunk@5609 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-20 17:52:20 +00:00
reed@google.com
2a006c1127
begin to skiafy PDF headers : removing use of SkRefPtr
...
Review URL: https://codereview.appspot.com/6526050
git-svn-id: http://skia.googlecode.com/svn/trunk@5596 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-19 17:05:55 +00:00
vandebo@chromium.org
238be8c7e5
[PDF] Add link annotations.
...
Review URL: https://codereview.appspot.com/6346100
git-svn-id: http://skia.googlecode.com/svn/trunk@4609 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-13 20:06:02 +00:00
robertphillips@google.com
40a1ae4df2
Added SkDevice onAttachToCanvas & onDetachFromCanvas methods
...
http://codereview.appspot.com/6348100/
git-svn-id: http://skia.googlecode.com/svn/trunk@4598 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-13 15:36:15 +00:00
vandebo@chromium.org
188838c208
[PDF] Fix memory hungry inefficiency in pdf resource tracking.
...
When moving the content of a device into a PDF object like SkPDFFormXObject
or SkPDFShader does, we only need the top level resources in the new object's
resource list, not the recursive set of objects. Otherwise, when you
put a form on a form on form, etc, references to the objects multiply.
This fixed http://crbug.com/117321
Review URL: https://codereview.appspot.com/5796048
git-svn-id: http://skia.googlecode.com/svn/trunk@3360 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-09 22:16:58 +00:00
vandebo@chromium.org
74b4619616
Formatting cleanup: remove extra whitespace
...
Change by arthurhsu@chromium.org , original CL: http://codereview.appspot.com/5587049/
Review URL: https://codereview.appspot.com/5594043
git-svn-id: http://skia.googlecode.com/svn/trunk@3098 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-28 01:45:11 +00:00
reed@google.com
b55deeb1c7
add allowImageFilter() so a device can allow/disallow filters
...
(esp. for printing)
git-svn-id: http://skia.googlecode.com/svn/trunk@2981 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-06 14:43:09 +00:00
reed@google.com
982cb875f0
add SK_OVERRIDE, move subclass impls of virtuals into .cpp
...
git-svn-id: http://skia.googlecode.com/svn/trunk@2823 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-07 18:34:08 +00:00
bsalomon@google.com
6850eab42b
Override 32BPP format in SkCanvas::readPixels
...
Review URL: http://codereview.appspot.com/5330073/
git-svn-id: http://skia.googlecode.com/svn/trunk@2600 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-03 20:29:47 +00:00
bsalomon@google.com
910267dde2
Make SkDevice::onReadPixels take a const& rather than const*
...
git-svn-id: http://skia.googlecode.com/svn/trunk@2587 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 20:06:25 +00:00
bsalomon@google.com
c69809745e
Recommit r2584 with gpu pass of the new ReadPixels test disabled in fixed pt (gpu code doesn't work in general in fixed pt).
...
git-svn-id: http://skia.googlecode.com/svn/trunk@2586 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 19:57:21 +00:00
bsalomon@google.com
ace7bd5623
Revert r2584 (new test fails in fixed pt builds)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@2585 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 19:39:51 +00:00
bsalomon@google.com
1a8ddf0a35
Changes the SkCanvas::readPixels API. Allows caller to read into prealloced bitmap pixels. Changes how clipping to device bounds is handled.
...
Review URL: http://codereview.appspot.com/5307077/
git-svn-id: http://skia.googlecode.com/svn/trunk@2584 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 19:34:16 +00:00
vandebo@chromium.org
5676b4a23a
Revert r2122, r2116, r2108 Now that Chrome's PlatformDevice doesn't inherit from SkDevice.
...
Review URL: http://codereview.appspot.com/5178045
git-svn-id: http://skia.googlecode.com/svn/trunk@2396 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-03 19:03:48 +00:00
tomhudson@google.com
8a0b0291ae
Revert r2250 - removal of setMatrixClip() - because Chrome makes heavy use
...
of those functions in a way we're not yet ready to clean up.
git-svn-id: http://skia.googlecode.com/svn/trunk@2254 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-13 14:41:06 +00:00
tomhudson@google.com
66d57255ad
Replaces SkDevice::setMatrixClip() with markMatrixDirty() and markClipDirty(),
...
which require no arguments and so may be called without requiring the matrix
and clip to be completely evaluated.
De-inlines virtual functions in SkDevice interface.
git-svn-id: http://skia.googlecode.com/svn/trunk@2250 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-12 19:52:44 +00:00
epoger@google.com
17b7894609
rolling back the experimental rollbacks in r2178-2179
...
git-svn-id: http://skia.googlecode.com/svn/trunk@2180 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-26 14:40:38 +00:00