aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/pdf/SkPDFBitmap.cpp
Commit message (Collapse)AuthorAge
* Revert of PDF: remove last use of SkPDFImage (patchset #5 id:120001 of ↵Gravatar reed2015-03-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/950633003/) Reason for revert: static void draw(SkCanvas* canvas, const SkPaint& p, const SkBitmap& src, SkColorType colorType, const char text[]) { SkASSERT(src.colorType() == colorType); canvas->drawBitmap(src, 0.0f, 0.0f); canvas->drawText(text, strlen(text), 0.0f, 12.0f, p); } This assert is firing, at least on macs, where all images get decoded into 32bit at the moment. Original issue's description: > PDF: remove last use of SkPDFImage > > Add a GM. > > BUG=skia:255 > > Committed: https://skia.googlesource.com/skia/+/86ad8d643624a55b02e529100bbe4e2940115fa1 TBR=mtklein@google.com,halcanary@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:255 Review URL: https://codereview.chromium.org/1024113002
* PDF: remove last use of SkPDFImageGravatar halcanary2015-03-20
| | | | | | | | Add a GM. BUG=skia:255 Review URL: https://codereview.chromium.org/950633003
* PDF: Switch some unit tests to higher level API.Gravatar halcanary2015-03-01
| | | | | | Also, clean up some headers. Review URL: https://codereview.chromium.org/968683002
* PDF: Canon now owns a reference to all interned objectsGravatar halcanary2015-02-27
| | | | | | | | | | | | | Add SkPDFCanon::reset function to unref all objects. No longer possible to remove object from canon Motivation: this doesn't change these object's lifetime, (they will still be fully unrefed when SkDocument::close() is called, but we no longer have to remove them from the array when their destructor is called. Review URL: https://codereview.chromium.org/966863002
* miniz support in SkFlate / PDFGravatar mtklein2015-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | - Adds miniz.c v115_r4 (latest release) to third_party. - Merges SkDeflateWStream into SkFlate so including "miniz.c" links without duplicating symbols. The only interesting code change I've made is to remove the line fImpl->fZStream.data_type = Z_BINARY; from SkDeflateWStream::SkDeflateWStream(). miniz doesn't have Z_BINARY defined, and as far as I can tell, both zlib and miniz ignore data_type. We should be able to swap skflate.gyp's dependency between zlib.gyp:zlib and zlib.gyp:miniz at will (except of course on Windows) if we're interested in zlib itself. I've left android framework on its own zlib. I think this all means we can stop defining SK_NO_FLATE on Windows. I'll leave the possible cleanup of SK_NO_FLATE itself for another time. Might be we always want to keep this dependency optional. CQ_EXTRA_TRYBOTS=client.skia:Test-Win8-ShuttleA-HD7770-x86-Debug-Trybot BUG=skia: Review URL: https://codereview.chromium.org/957323003
* PDF: Now threadsafe!Gravatar halcanary2015-02-20
| | | | | | | | | | | | | The PDF canvas is now just as threadsafe as any other Skia canvas. DM updated to thread PDF tests. SkDocument_PDF now owns SkPDFCanon, and pointers to that canon are passed around to all classes that need access to the canon. BUG=skia:2683 Review URL: https://codereview.chromium.org/944643002
* PDF: why do we have flags no one uses (or can use)?Gravatar mtklein2015-02-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/936403002
* PDF: Add (low-memory) SkPDFBitmap classGravatar halcanary2015-02-18
Also: Add SkDeflateWStream and associated unit tests. SkPDFBitmap is a replacement for SkPDFImage. As of now, it only supports 8888 bitmaps (the most common case). SkPDFBitmap takes very little extra memory (aside from refing the bitmap's pixels), and its emitObject() does not cache any data. The SkPDFBitmap::Create function will check the canon for duplicates. This can reduce the size of the output PDF. Motivation: this gives another ~40% decrease in PDF memory overhead TODO: Support other ColorTypes and scrap SkPDFImage. BUG=skia:3030 Review URL: https://codereview.chromium.org/918813002