Go to file
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
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Fix signed/unsigned comparison warnings in benchmain.cpp 2013-02-22 19:17:13 +00:00
debugger Create SkLazyPixelRef which performs lazy decoding. 2013-02-22 21:38:35 +00:00
experimental Sanitizing source files in Skia_Periodic_House_Keeping 2013-02-21 07:15:03 +00:00
forth Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
gm Create SkLazyPixelRef which performs lazy decoding. 2013-02-22 21:38:35 +00:00
gyp Create SkLazyPixelRef which performs lazy decoding. 2013-02-22 21:38:35 +00:00
include Create SkLazyPixelRef which performs lazy decoding. 2013-02-22 21:38:35 +00:00
samplecode Create SkLazyPixelRef which performs lazy decoding. 2013-02-22 21:38:35 +00:00
src Create SkLazyPixelRef which performs lazy decoding. 2013-02-22 21:38:35 +00:00
tests Create SkLazyPixelRef which performs lazy decoding. 2013-02-22 21:38:35 +00:00
third_party Add BSON implementation to third_party 2012-06-13 18:22:09 +00:00
tools Create SkLazyPixelRef which performs lazy decoding. 2013-02-22 21:38:35 +00:00
trybots_to_run Added cros_daisy to build bots list 2012-08-27 17:57:58 +00:00
.gitignore Add .swp files to gitignore. 2013-02-08 16:59:59 +00:00
DEPS Update gyp revision. 2013-01-18 21:20:16 +00:00
Doxyfile Pointing to http://skia-autogen.googlecode.com/svn/docs/html/index.html in Doxyfile 2012-07-03 11:35:07 +00:00
gyp_skia Update gyp to allow alternative out directories 2012-11-28 14:11:41 +00:00
LICENSE Manually update copyright notices in files that defied the automated process 2011-07-28 14:24:55 +00:00
make.bat Manually update copyright notices in files that defied the automated process 2011-07-28 14:24:55 +00:00
make.py gyp: generate "everything" and "most" targets instead of "all" 2012-10-25 16:32:07 +00:00
Makefile Update gyp to allow alternative out directories 2012-11-28 14:11:41 +00:00
Makefile.old Higher resolution timers for bench. 2011-06-07 19:16:02 +00:00
PRESUBMIT.py Presubmit should check that source files end in atleast one newline 2013-01-25 18:27:34 +00:00
README whitespace commit to trigger buildbot 2011-07-15 14:11:58 +00:00
skia.gyp gyp: generate "everything" and "most" targets instead of "all" 2012-10-25 16:32:07 +00:00
whitespace.txt Rebaselined webpage image GMs for ['base-macmini', 'base-macmini-lion-float', 'base-macmini-10_8'] on Google Storage. 2013-02-19 00:24:10 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at http://code.google.com/p/skia/wiki/DocRoot