| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2006,2007,2008, Google Inc. All rights reserved. | 2 * Copyright (c) 2006,2007,2008, Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 bool nearlyIntegral(float value) | 192 bool nearlyIntegral(float value) |
| 193 { | 193 { |
| 194 return fabs(value - floorf(value)) < std::numeric_limits<float>::epsilon(); | 194 return fabs(value - floorf(value)) < std::numeric_limits<float>::epsilon(); |
| 195 } | 195 } |
| 196 | 196 |
| 197 InterpolationQuality limitInterpolationQuality(const GraphicsContext* context, I
nterpolationQuality resampling) | 197 InterpolationQuality limitInterpolationQuality(const GraphicsContext* context, I
nterpolationQuality resampling) |
| 198 { | 198 { |
| 199 return std::min(resampling, context->imageInterpolationQuality()); | 199 return std::min(resampling, context->imageInterpolationQuality()); |
| 200 } | 200 } |
| 201 | 201 |
| 202 SkPaint::FilterLevel convertToSkiaFilterLevel(bool useBicubicFilter, Interpolati
onQuality resampling) | |
| 203 { | |
| 204 // FIXME: If we get rid of this special case, this function can go away enti
rely. | |
| 205 if (useBicubicFilter) | |
| 206 return SkPaint::kHigh_FilterLevel; | |
| 207 | |
| 208 // InterpolationHigh if useBicubicFilter is false means that we do | |
| 209 // a manual high quality resampling before drawing to Skia. | |
| 210 if (resampling == InterpolationHigh) | |
| 211 return SkPaint::kNone_FilterLevel; | |
| 212 | |
| 213 return static_cast<SkPaint::FilterLevel>(resampling); | |
| 214 } | |
| 215 | |
| 216 InterpolationQuality computeInterpolationQuality( | 202 InterpolationQuality computeInterpolationQuality( |
| 217 const SkMatrix& matrix, | 203 const SkMatrix& matrix, |
| 218 float srcWidth, | 204 float srcWidth, |
| 219 float srcHeight, | 205 float srcHeight, |
| 220 float destWidth, | 206 float destWidth, |
| 221 float destHeight, | 207 float destHeight, |
| 222 bool isDataComplete) | 208 bool isDataComplete) |
| 223 { | 209 { |
| 224 // The percent change below which we will not resample. This usually means | 210 // The percent change below which we will not resample. This usually means |
| 225 // an off-by-one error on the web page, and just doing nearest neighbor | 211 // an off-by-one error on the web page, and just doing nearest neighbor |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 // though - that's why it's not always on. | 311 // though - that's why it's not always on. |
| 326 SkScalar widthExpansion, heightExpansion; | 312 SkScalar widthExpansion, heightExpansion; |
| 327 if (totalMatrix.getType() & SkMatrix::kAffine_Mask) | 313 if (totalMatrix.getType() & SkMatrix::kAffine_Mask) |
| 328 widthExpansion = totalMatrix[SkMatrix::kMSkewY], heightExpansion = total
Matrix[SkMatrix::kMSkewX]; | 314 widthExpansion = totalMatrix[SkMatrix::kMSkewY], heightExpansion = total
Matrix[SkMatrix::kMSkewX]; |
| 329 else | 315 else |
| 330 widthExpansion = totalMatrix[SkMatrix::kMScaleX], heightExpansion = tota
lMatrix[SkMatrix::kMScaleY]; | 316 widthExpansion = totalMatrix[SkMatrix::kMScaleX], heightExpansion = tota
lMatrix[SkMatrix::kMScaleY]; |
| 331 return destRect.width() * fabs(widthExpansion) < 1 || destRect.height() * fa
bs(heightExpansion) < 1; | 317 return destRect.width() * fabs(widthExpansion) < 1 || destRect.height() * fa
bs(heightExpansion) < 1; |
| 332 } | 318 } |
| 333 | 319 |
| 334 } // namespace blink | 320 } // namespace blink |
| OLD | NEW |