skia2/gn
Leon Scroggins III 07a722cdcf Add SkAndroidCodec::computeSampledSize
Bug: b/63909536

Android's ImageDecoder API takes as input an arbitrary width and height
to scale the image to. Internally, this uses SkAndroidCodec to sample,
and then (if not a perfect match) scales to the desired size with
drawing.

computeSampledSize is a modified version of what ImageDecoder currently
does to convert from arbitrary dimensions to a sampleSize. Moving it
here allows it to be shared by SkAnimatedImage. The modified version
also corrects two bugs:
- a client using the dimensions returned by getSampledDimensions
  previously may have resulted in ImageDecoder decoding to a larger
  size and then scaling it. (example found in tests: dog.jpg is
  180 x 180. getSampledDimensions(8) returns 23 x 23, but the old
  method resulted in using sampleSize of 7 and downscaling the resulting
  25 x 25 image.)
- recompute the sampleSize based on the size returned by
  getSampledDimensions.

Change-Id: I022040e8bac31c20988903a0452257f7ae902bc7
Reviewed-on: https://skia-review.googlesource.com/94620
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-01-16 21:23:08 +00:00
..
toolchain Updated MSVC toolchain to 2017, and further refactored GN 2017-12-08 01:46:30 +00:00
__init__.py Make gn directory importable in python 2017-03-20 17:40:30 +00:00
ar.py GN: quiet alink spam on Mac 2016-11-07 14:19:32 +00:00
bench.gni Revert "Revert "remove unused SkCurveMeasure"" 2018-01-06 18:24:57 +00:00
BUILD.gn Add Android ASAN bot 2018-01-12 19:57:33 +00:00
BUILDCONFIG.gn Filter Windows SDK and Compiler directories 2017-12-11 20:26:08 +00:00
call.py Add gn plumbing for mdbviz tool 2017-09-05 13:57:44 +00:00
checkdir.py Bundle resources and skps directories into iOS app. 2017-11-29 17:06:25 +00:00
codesign_ios.py Allow different identities for iOS code signing 2017-12-07 20:42:00 +00:00
compile_processors.py switched to infra version of clang-format for skslc 2017-07-27 20:28:50 +00:00
core.gni cubic-map for non-linear t 2018-01-05 17:58:21 +00:00
cp.py GN: get Angle compiling on Windows. 2016-10-17 16:16:16 +00:00
create_sksl_enums.py fix Housekeeper-PerCommit bot 2017-11-16 19:18:53 +00:00
effects.gni Remove SkClampRange (unused) 2017-12-14 16:38:31 +00:00
find_headers.py Add Goma support in gn_flavor. 2017-12-08 20:09:18 +00:00
find_ios_sysroot.py Add iOS simulator support in GN. 2017-03-13 17:21:43 +00:00
flutter_defines.gni add flag for flutter 2018-01-09 21:43:49 +00:00
gen_plist_ios.py Add create_bundle support for GN 2017-11-28 15:29:07 +00:00
generate_binary_asset.py resources: optionally link them into our binary 2017-12-11 22:06:38 +00:00
gm.gni Revert "Revert "fix legacy makeRasterImage()"" 2018-01-12 16:00:00 +00:00
gn_helpers.py Basic standalone GN configs. 2016-07-21 12:25:45 -07:00
gn_meta_sln.py Move, rename, and document Visual Studio GN helper script 2016-12-14 16:41:52 +00:00
gn_to_bp.py Add an SkDrawable for animated images (e.g. GIF) 2018-01-12 19:36:11 +00:00
gn_to_cmake.py Add support for lib_dirs to gn_to_cmake.py. 2016-10-28 15:07:10 +00:00
gpu.gni CCPR: Rename GrCCPR* -> GrCC* 2018-01-08 22:51:11 +00:00
gypi_to_gn.py Add executable bit and shebang to python files 2016-08-18 04:36:25 -07:00
highest_version_dir.py Filter Windows SDK and Compiler directories 2017-12-11 20:26:08 +00:00
is_clang.py GN: match shell behavior for cc and cxx in is_clang.py 2016-09-27 09:29:24 -07:00
opts.gni Assume HQ is handled by pipeline, delete legacy code-path 2017-07-20 00:43:37 +00:00
pdf.gni Revert "Revert "Add method to sk_gpu_test::TestContext to automatically restore the previous context."" 2017-11-17 16:22:56 +00:00
push_to_android.py skia_android_serial = "auto" 2017-01-12 16:30:17 +00:00
run_sksllex.py Re-land "converted OverdrawColorFilter to SkSL" 2017-10-26 14:58:27 +00:00
samples.gni Add an SkDrawable for animated images (e.g. GIF) 2018-01-12 19:36:11 +00:00
shared_sources.gni Assume HQ is handled by pipeline, delete legacy code-path 2017-07-20 00:43:37 +00:00
sksl.gni converted YUVEffect to SkSL 2017-12-22 14:06:45 +00:00
tests.gni Add SkAndroidCodec::computeSampledSize 2018-01-16 21:23:08 +00:00
utils.gni Revert "Revert "remove unused SkCurveMeasure"" 2018-01-06 18:24:57 +00:00
xps.gni SkXPS: new document API. 2017-02-06 19:00:28 +00:00