skia2/tools
scroggo@google.com f8d7d27313 Create SkLazyPixelRef which performs lazy decoding.
The new pixel ref behaves similarly to SkImageRef, with some key differences:
It does not depend on the images project.
It requires an SkImageCache, which handles allocation and caching of the pixel
memory.
It takes a function signature for decoding which decodes into already allocated
pixel memory rather than into an SkBitmap.

Add two implementations of SkImageCache: SkLruImageCache and SkAshmemImageCache.

Replace SkSerializationHelpers::DecodeBitmap with SkPicture::InstallPixelRefProc,
and update sites that referenced it.

SkBitmapFactory now sets the pixel ref to a new object of the new
class SkLazyPixelRef, provided it has an SkImageCache for caching.

Provide an option to do lazy decodes in render_pictures and bench_pictures.

SkPicture:
Eliminate the default parameters in the constructor.
If a proc for decoding bitmaps is installed, use it to decode any encoded
data in subpictures.
When parsing deserializing subpictures, check for success.
When serializing subpictures, pass the picture's bitmap encoder to the
subpicture's call to serialize.

Update BitmapFactoryTest to test its new behavior.

BUG=https://code.google.com/p/skia/issues/detail?id=1008
BUG=https://code.google.com/p/skia/issues/detail?id=1009

Review URL: https://codereview.appspot.com/7060052

git-svn-id: http://skia.googlecode.com/svn/trunk@7835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-22 21:38:35 +00:00
..
copyright Script to automatically update copyright notices in C/C++ source code. 2011-07-28 14:29:58 +00:00
tests bench_graph_svg: add r7618 results (NOT per-tile) to self-test source data 2013-02-17 08:33:27 +00:00
__init__.py Add bench_pictures config 2012-12-12 20:13:26 +00:00
bench_pictures_cfg_helper.py Make ANGLE bot run only ANGLE configs in bench_pictures 2013-02-20 20:01:23 +00:00
bench_pictures_main.cpp Create SkLazyPixelRef which performs lazy decoding. 2013-02-22 21:38:35 +00:00
bench_pictures.cfg Make ANGLE bot run only ANGLE configs in bench_pictures 2013-02-20 20:01:23 +00:00
build-tot-chromium.sh $(SVN_VERSION) -> $SVN_VERSION in build-tot-chromium.sh 2013-01-08 15:56:15 +00:00
compare_baselines.py Move gm baselines from trunk/gm to gm-expected 2012-08-28 16:53:10 +00:00
CopyTilesRenderer.cpp Flags for render_pictures: verify, clone and writeWholeImage: 2012-12-18 22:24:03 +00:00
CopyTilesRenderer.h Flags for render_pictures: verify, clone and writeWholeImage: 2012-12-18 22:24:03 +00:00
download_baselines.py Baseline DirectWrite. 2012-09-11 17:29:37 +00:00
doxygen_footer.txt Fix update-doxygen, which fails when skia-autogen is reset 2012-09-26 16:09:43 +00:00
filtermain.cpp Create SkLazyPixelRef which performs lazy decoding. 2013-02-22 21:38:35 +00:00
find_mac_sdk.py Argv[0] isn't the first argument to anything. 2013-02-08 22:45:11 +00:00
git-skia-verify Land http://codereview.appspot.com/6117046/ for Guanqun.Lu@gmail.com 2012-04-24 15:19:23 +00:00
merge_static_libs.py Build Skia as a static library 2012-10-10 19:45:51 +00:00
path_utils.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2012-12-08 02:01:38 +00:00
path_utils.h Sanitizing source files in Skia_Periodic_House_Keeping 2012-12-08 02:01:38 +00:00
PdfRenderer.cpp Add option to render PDFs to memory only. 2013-01-11 20:30:41 +00:00
PdfRenderer.h Add option to render PDFs to memory only. 2013-01-11 20:30:41 +00:00
picture_utils.cpp Defining new color constat for transparent color 2012-12-06 21:47:40 +00:00
picture_utils.h Remove automatic resizing in *_pictures 2012-09-20 18:54:04 +00:00
PictureBenchmark.cpp Turn off per-iteration tile time reporting 2013-02-11 18:42:43 +00:00
PictureBenchmark.h Add support for using ANGLE in bench_pictures. 2013-02-08 19:38:21 +00:00
PictureRenderer.cpp Add support for using ANGLE in bench_pictures. 2013-02-08 19:38:21 +00:00
PictureRenderer.h Allow debugger to be compiled without Ganesh 2013-02-13 13:26:13 +00:00
pinspect.cpp Added print out of SkShader information to debugger 2013-01-15 20:17:47 +00:00
rebaseline.py Rebaseline script: check for .git and .svn in the current directory as well. Add mesa to list of configs to update. 2012-12-07 17:19:07 +00:00
render_pdfs_main.cpp Create SkLazyPixelRef which performs lazy decoding. 2013-02-22 21:38:35 +00:00
render_pictures_main.cpp Create SkLazyPixelRef which performs lazy decoding. 2013-02-22 21:38:35 +00:00
roll_autogen.sh Script to help cycle skia-autogen 2012-08-27 19:37:48 +00:00
sanitize_source_files.py Leave one and only one newline at the end of source files 2013-01-25 18:26:58 +00:00
skdiff_html.cpp fix warnings 2013-01-07 22:26:05 +00:00
skdiff_html.h Add newline at end of tools/skdiff_html.h to happify the housekeeping bot 2012-12-05 20:30:00 +00:00
skdiff_image.cpp Change comment to avoid warning (don't end line comment with '\'). 2013-02-04 16:24:44 +00:00
skdiff_main.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2012-12-06 02:01:25 +00:00
skdiff_utils.cpp Update skdiff. 2012-12-05 20:13:12 +00:00
skdiff_utils.h Sanitizing source files in Skia_Periodic_House_Keeping 2012-12-06 02:01:25 +00:00
skdiff.cpp * Extended skdiff to report alpha channel differences. 2013-01-03 19:23:22 +00:00
skdiff.h * Extended skdiff to report alpha channel differences. 2013-01-03 19:23:22 +00:00
skhello.cpp build iOS with 'make all' 2012-10-02 18:33:14 +00:00
skimage_main.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
submit_try Fix master IP in submit_try 2013-02-05 20:26:31 +00:00
submit_try.bat Modify submit_try to work on windows 2013-01-24 21:38:51 +00:00
svn.py download_baselines: allow user to select which builder's images to download 2012-09-07 16:05:34 +00:00
svndiff.py svndiff: report added and deleted files, not just modified files 2012-05-29 21:28:12 +00:00
test_pdfs.py Add an SKP to PDF rendered. test_pdfs.py will be hooked up in buildbot testing later. 2012-10-10 15:20:34 +00:00
test_pictures.py Refactor test_pictures so we can add test_pdfs without code duplication. 2012-10-10 15:08:12 +00:00
test_rendering.py Refactor test_pictures so we can add test_pdfs without code duplication. 2012-10-10 15:08:12 +00:00
update-doxygen.sh Fix update-doxygen (again) 2012-09-26 16:25:22 +00:00