skia2/gyp
halcanary 1b5c604d9d PDF: Add (low-memory) SkPDFBitmap class
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
2015-02-18 11:29:57 -08:00
..
android_deps.gyp Reland "Gyp file changes for the android framework." 2014-02-05 16:35:12 +00:00
android_framework_lib.gyp Updates to gyp files for building Android.mk 2014-02-28 16:07:39 +00:00
android_output.gyp Change how SkDebugf is sent to stdout on Android. 2014-12-10 10:23:06 -08:00
android_system.gyp Update DEPS and GYP to use the copy of Android in platform_tools. 2013-05-02 12:27:21 +00:00
angle.gyp Try to roll angle again. 2014-06-17 17:28:17 -04:00
animator.gyp rename SkDrawable to SkADrawable 2014-11-26 08:50:45 -08:00
apptype_console.gypi Change how SkDebugf is sent to stdout on Android. 2014-12-10 10:23:06 -08:00
bench.gyp Adding new benchmark to test image decoding performance. 2015-02-13 09:05:42 -08:00
bench.gypi Adding new benchmark to test image decoding performance. 2015-02-13 09:05:42 -08:00
canvas_state_lib.gyp Run CanvasState test across a library boundary. 2014-07-22 12:38:55 -07:00
chromeos_deps.gyp GYP Changes and Scripts for Compiling Skia for ChromeOS 2013-06-11 15:52:19 +00:00
common_conditions.gypi SK_NO_FLATE 2015-02-17 13:10:43 -08:00
common_variables.gypi SK_NO_FLATE 2015-02-17 13:10:43 -08:00
common.gypi remove dead code for scalar type 2015-01-18 11:19:33 -08:00
core.gyp Cleanup the XML directory in public includes. 2014-11-14 05:52:50 -08:00
core.gypi remove unneeded preroll 2015-02-15 11:08:40 -08:00
debugger.gyp debugger: Make draw command image widget resize 2014-12-30 23:03:56 -08:00
dm.gyp Revert of Make nanobench and dm be usable from Chromium build (patchset #5 id:80001 of https://codereview.chromium.org/657373002/) 2014-11-13 08:06:40 -08:00
dm.gypi Add SkSVGCanvas 2015-02-06 12:51:10 -08:00
effects.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
effects.gypi Reland "remove unused SkAvoidXfermode" 2015-01-30 13:16:02 -08:00
etc1.gyp Simple PKM image decoder. 2014-05-22 18:40:29 +00:00
everything.gyp Cleanup: Delete webtry.gyp 2014-11-20 18:20:06 -08:00
example.gyp move HelloWorld to be a peer of SampleApp 2015-02-02 12:55:14 -08:00
experimental.gyp remove remaining parts of SkExample 2015-02-03 11:16:05 -08:00
FileReaderApp.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
flags.gyp tool --help alphabetizes command line flags 2015-01-18 10:39:25 -08:00
freetype.gyp Clean up FreeType code for 2.3.8. 2014-11-21 13:18:34 -08:00
freetype.gypi Sanitizing source files in Housekeeper-Nightly 2013-08-21 07:01:29 +00:00
giflib.gyp Sanitizing source files in Housekeeper-Nightly 2014-02-25 03:05:18 +00:00
gmslides.gypi PDF: Add (low-memory) SkPDFBitmap class 2015-02-18 11:29:57 -08:00
gpu.gyp Apply the layer's image filter to the hoisted image 2014-12-11 08:20:31 -08:00
gpu.gypi Revert of Use uint16s for texture coordinates when rendering text. (patchset #5 id:80001 of https://codereview.chromium.org/917373002/) 2015-02-17 18:38:38 -08:00
gputest.gyp Cleanup GrContextFactory and make it's subclasses private 2014-11-13 11:12:41 -08:00
images.gyp add ImageGenerator::NewFromData to porting layer 2015-01-07 18:04:45 -08:00
iOSShell.gyp Adding new benchmark to test image decoding performance. 2015-02-13 09:05:42 -08:00
jsoncpp.gyp Roll jsoncpp, drop dependency on Chromium overrides. 2014-08-19 07:21:00 -07:00
ktx.gyp Pass compressed blitters to our mask drawing algorithm 2014-08-07 08:15:14 -07:00
libjpeg.gyp Build Skia for a bare-bones embedded Linux system. 2014-02-24 20:22:34 +00:00
libpng.gyp Build Skia for a bare-bones embedded Linux system. 2014-02-24 20:22:34 +00:00
libwebp.gyp Build in C++11 mode on Macs. 2015-02-03 13:24:36 -08:00
lua.gyp Build Skia for a bare-bones embedded Linux system. 2014-02-24 20:22:34 +00:00
most.gyp move HelloWorld to be a peer of SampleApp 2015-02-02 12:55:14 -08:00
nacl.gyp Prepare skia for shared library build on android 2013-06-03 12:10:19 +00:00
nanomsg.gyp Silence warnings from libnanomsg on Mac like we do on Linux. 2014-12-15 12:24:47 -08:00
opts.gyp Don't use m32 cflag for x86_64. 2015-02-12 10:48:25 -08:00
opts.gypi Revert of GYP groudwork for half-float opts support. (patchset #1 id:1 of https://codereview.chromium.org/915693002/) 2015-02-10 18:18:18 -08:00
pathops_skpclip.gyp Turn SkTaskGroups back on. 2014-11-03 17:41:08 -08:00
pathops_unittest.gyp Turn SkTaskGroups back on. 2014-11-03 17:41:08 -08:00
pathops_unittest.gypi These tests stress pathops by describing the union of circle-like paths that have tiny line segments embedded and double back to create near-coincident conditions. 2014-11-13 06:58:52 -08:00
pathops.gypi path ops work in progress 2013-09-16 15:55:01 +00:00
pdf.gyp revert buildbot breaker 2015-01-07 07:36:52 -08:00
pdf.gypi PDF: Add (low-memory) SkPDFBitmap class 2015-02-18 11:29:57 -08:00
pdfviewer_lib.gyp move some headers out of public 2014-06-17 09:04:45 -07:00
pdfviewer.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
poppler.gyp Since we're only using it on Linux now, just require poppler as a system dependency. 2014-05-20 15:07:53 +00:00
ports.gyp Move sync code to include/, switch from using platform define to a proxy header in core/ 2015-01-21 13:13:31 -08:00
SampleApp.gyp update sampleapp for stroking experiment 2015-02-18 10:56:00 -08:00
sfnt.gyp Better rendering detection with DirectWrite. 2014-06-23 08:29:23 -07:00
SimpleCocoaApp.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
SimpleiOSApp.gyp get iOS building again 2014-04-05 01:13:43 +00:00
skflate.gyp zlib/pdf: remove HaveFlate(), depend on preprocessor defines 2015-02-17 14:43:06 -08:00
skia_for_android_framework_defines.gypi remove unnecessary guard flags for android (for conics) 2015-01-22 13:41:00 -08:00
skia_for_chromium_defines.gypi Make SkImageGenerator::getPixels() return an enum. 2015-02-13 11:13:34 -08:00
skia_launcher.gyp Move BenchTimer to tools as Timer 2014-06-20 11:29:21 -07:00
skia_lib.gyp Don't use m32 cflag for x86_64. 2015-02-12 10:48:25 -08:00
svg.gyp [SkSVGDevice] Full font family support 2015-02-13 08:55:24 -08:00
tests.gypi PDF: Add (low-memory) SkPDFBitmap class 2015-02-18 11:29:57 -08:00
tools.gyp Only define SK_CRASH_HANDLER in crash_handler. 2015-02-10 08:13:26 -08:00
utils.gyp Cleanup the XML directory in public includes. 2014-11-14 05:52:50 -08:00
utils.gypi Remove SkProxyCanvas. 2015-01-29 11:58:51 -08:00
v8.gyp SkV8Sample: Now with Path2D and Path2DBuilder. 2014-10-29 05:33:28 -07:00
views_animated.gyp Remove dependency of views on angle 2014-04-29 00:38:39 +00:00
views.gyp First cut at cleaning up Sergio's example code and moving some common code to SkWindow. 2015-01-30 12:37:02 -08:00
xml.gyp Cleanup the XML directory in public includes. 2014-11-14 05:52:50 -08:00
xps.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
zlib.gyp fix xcode build 2015-02-18 09:35:49 -08:00