Commit Graph

14 Commits

Author SHA1 Message Date
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
skia.committer@gmail.com
e16efc1882 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-26 07:06:02 +00:00
djsollen@google.com
796763e0b2 Reapply (r6718) with fix for compiler error on linux.
git-svn-id: http://skia.googlecode.com/svn/trunk@6729 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-10 14:12:55 +00:00
djsollen@google.com
570a48c0e1 revert Reapply r5364 (Update ARM and NEON optimizations for S32A_Opaque_BlitRow32)
git-svn-id: http://skia.googlecode.com/svn/trunk@6728 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-10 14:10:20 +00:00
djsollen@google.com
57c29f7d6f Reapply r5364 (Update ARM and NEON optimizations for S32A_Opaque_BlitRow32)
This reverts r5378.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@6727 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-10 13:55:02 +00:00
djsollen@google.com
f97593c899 Revert "Added the following 3 features to sample app."
Review URL: https://codereview.appspot.com/6906054

git-svn-id: http://skia.googlecode.com/svn/trunk@6719 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-07 22:10:39 +00:00
djsollen@google.com
bcedc22012 Added the following 3 features to sample app.
1) Imported SKP files can now be run using the bbox playback ('b' key)
2) Imported SKP files are displayed using their basename
3) FPS counter has been updated to print time to draw all tiles

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

git-svn-id: http://skia.googlecode.com/svn/trunk@6718 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-07 21:52:34 +00:00
skia.committer@gmail.com
d9f7503e0c Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@6362 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-09 02:01:24 +00:00
robertphillips@google.com
9eb96975f8 Update SampleApp to handle PNG encoded skps
https://codereview.appspot.com/6816105/



git-svn-id: http://skia.googlecode.com/svn/trunk@6347 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-08 13:46:32 +00:00
skia.committer@gmail.com
11f869277c Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@5373 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-31 17:14:46 +00:00
reed@google.com
0a5c18ba79 (disabled) option to re-record a picture when loading
git-svn-id: http://skia.googlecode.com/svn/trunk@5366 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-31 13:32:47 +00:00
rmistry@google.com
ae933ce0ea Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/)
This CL is part III of IV (I broke down the 1280 files into 4 CLs).
Review URL: https://codereview.appspot.com/6475053

git-svn-id: http://skia.googlecode.com/svn/trunk@5264 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 18:19:56 +00:00
reed@google.com
b196374e6f --picture foo now works if foo is an image (.png, .jpeg) or a picture (.skp)
git-svn-id: http://skia.googlecode.com/svn/trunk@4944 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 13:39:57 +00:00
reed@google.com
1830c7aa3c --pictureDir foo will load serialized pictures <>.skp from the foo directory
git-svn-id: http://skia.googlecode.com/svn/trunk@4132 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-04 12:05:43 +00:00