Go to file
halcanary@google.com 3d50ea1b87 Add Options to SkDecodingImageGenerator, simplify API.
Motivation: We want to remove redundant classes from Skia.  To
that end we want to remove SkImageRef and its subclasses and
replace their uses with SkDiscardablePixelRef +
SkDecodingImageGenerator.  Since Android uses SkImageRef, we need
to make sure that SkDecodingImageGenerator allows all of the
settings that Android exposes in BitmapFactory.Options.

To that end, we have created an Options struct for the
SkDecodingImageGenerator which lets the client of the generator set
sample size, dithering, and bitmap config.

We have made the SkDecodingImageGenerator constructor private
and replaced the SkDecodingImageGenerator::Install functions
with a SkDecodingImageGenerator::Create functions (one for
SkData and one for SkStream) which now take a
SkDecodingImageGenerator::Options struct.

Also added a ImageDecoderOptions test which loops through a list
of sets of options and tries them on a set of 5 small encoded
images.

Also updated several users of SkDecodingImageGenerator::Install to
follow new call signature - gm/factory.cpp, LazyDecodeBitmap.cpp,
and PictureTest.cpp, CachedDecodingPixelRefTest.cpp.

We also added a new ImprovedBitmapFactory Test which simulates the
exact function that Android will need to modify to use this,
installPixelRef() in BitmapFactory.

R=reed@google.com, scroggo@google.com

Committed: https://code.google.com/p/skia/source/detail?r=12744

Review URL: https://codereview.chromium.org/93703004

git-svn-id: http://skia.googlecode.com/svn/trunk@12855 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 13:15:13 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Sanitizing source files in Housekeeper-Nightly 2014-01-02 07:01:35 +00:00
debugger deprecate SkScalarRound (and its ilk), use SkScalarRound[ToInt,ToScalar]. #define SK_SUPPORT_DEPRECATED_SCALARROUND for legacy clients 2013-12-17 19:22:07 +00:00
dm Add support for reading a directory of images with --expectations (-r). 2013-12-10 14:53:16 +00:00
expectations Empty skimage expectations for Logan 2013-12-20 21:35:51 +00:00
experimental Allow multiple concurrent timers. 2013-12-20 15:56:52 +00:00
forth Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
gm Add Options to SkDecodingImageGenerator, simplify API. 2014-01-02 13:15:13 +00:00
gyp reenable vertices gm, adding picture support 2013-12-30 15:51:25 +00:00
include Add Options to SkDecodingImageGenerator, simplify API. 2014-01-02 13:15:13 +00:00
platform_tools Support MSAA4 and (non-ES) OpenGL in Android SampleApp 2013-12-10 20:37:41 +00:00
resources Added five small images to the resources/encoding. 2013-12-17 17:40:13 +00:00
samplecode Add Options to SkDecodingImageGenerator, simplify API. 2014-01-02 13:15:13 +00:00
src Add Options to SkDecodingImageGenerator, simplify API. 2014-01-02 13:15:13 +00:00
tests Add Options to SkDecodingImageGenerator, simplify API. 2014-01-02 13:15:13 +00:00
third_party Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
tools Add Options to SkDecodingImageGenerator, simplify API. 2014-01-02 13:15:13 +00:00
trybots_to_run/chrome Deleting the hardcoded list of compile bots in trybots_to_run. 2013-04-09 11:59:42 +00:00
.gitignore Add a canvas object with drawRect() and inval(). 2013-12-10 14:13:03 +00:00
codereview.settings Removing blank lines from codereview.settings. 2013-02-26 16:01:21 +00:00
DEPS Try another GYP DEPS 2013-12-12 20:55:00 +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 Fix ninja build on Android 2013-10-01 15:31:54 +00:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
LICENSE Manually update copyright notices in files that defied the automated process 2011-07-28 14:24:55 +00:00
make.bat Make make.bat and gyp_skia work with VS 2012. 2013-05-07 19:31:20 +00:00
make.py Use SKIA_OUT variable in make.py 2013-07-23 15:45:50 +00:00
Makefile pathops work in progress 2013-11-01 17:36:03 +00:00
Makefile.old Replace GR_*_BUILD by their SK_BUILD_FOR_* equivalents. 2013-09-25 20:57:51 +00:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py If any change is made to the public API then make sure there is an LGTM from an owner. 2013-08-12 14:51:20 +00:00
README whitespace commit to trigger buildbot 2011-07-15 14:11:58 +00:00
README.chromium add root files from chrome 2013-08-13 19:11:15 +00:00
skia.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
whitespace.txt Refreshed SKPs to version 17. Triggering rebuilds. 2013-12-16 17:14:02 +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