| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #define _USE_MATH_DEFINES | 5 #define _USE_MATH_DEFINES |
| 6 #include <algorithm> | 6 #include <algorithm> |
| 7 #include <cmath> | 7 #include <cmath> |
| 8 #include <limits> | 8 #include <limits> |
| 9 | 9 |
| 10 #include "skia/ext/image_operations.h" | 10 #include "skia/ext/image_operations.h" |
| (...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 360 | 360 |
| 361 // static | 361 // static |
| 362 SkBitmap ImageOperations::ResizeSubpixel(const SkBitmap& source, | 362 SkBitmap ImageOperations::ResizeSubpixel(const SkBitmap& source, |
| 363 int dest_width, int dest_height, | 363 int dest_width, int dest_height, |
| 364 const SkIRect& dest_subset) { | 364 const SkIRect& dest_subset) { |
| 365 TRACE_EVENT2("skia", "ImageOperations::ResizeSubpixel", | 365 TRACE_EVENT2("skia", "ImageOperations::ResizeSubpixel", |
| 366 "src_pixels", source.width()*source.height(), | 366 "src_pixels", source.width()*source.height(), |
| 367 "dst_pixels", dest_width*dest_height); | 367 "dst_pixels", dest_width*dest_height); |
| 368 // Currently only works on Linux/BSD because these are the only platforms | 368 // Currently only works on Linux/BSD because these are the only platforms |
| 369 // where SkFontHost::GetSubpixelOrder is defined. | 369 // where SkFontHost::GetSubpixelOrder is defined. |
| 370 #if defined(OS_POSIX) && !defined(OS_MACOSX) | 370 #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) |
| 371 // Understand the display. | 371 // Understand the display. |
| 372 const SkFontHost::LCDOrder order = SkFontHost::GetSubpixelOrder(); | 372 const SkFontHost::LCDOrder order = SkFontHost::GetSubpixelOrder(); |
| 373 const SkFontHost::LCDOrientation orientation = | 373 const SkFontHost::LCDOrientation orientation = |
| 374 SkFontHost::GetSubpixelOrientation(); | 374 SkFontHost::GetSubpixelOrientation(); |
| 375 | 375 |
| 376 // Decide on which dimension, if any, to deploy subpixel rendering. | 376 // Decide on which dimension, if any, to deploy subpixel rendering. |
| 377 int w = 1; | 377 int w = 1; |
| 378 int h = 1; | 378 int h = 1; |
| 379 switch (orientation) { | 379 switch (orientation) { |
| 380 case SkFontHost::kHorizontal_LCDOrientation: | 380 case SkFontHost::kHorizontal_LCDOrientation: |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 458 a = a > b ? a : b; | 458 a = a > b ? a : b; |
| 459 *dst = SkPackARGB32(a, r, g, b); | 459 *dst = SkPackARGB32(a, r, g, b); |
| 460 } | 460 } |
| 461 src_row += h * row_words; | 461 src_row += h * row_words; |
| 462 dst_row += result.rowBytes() / 4; | 462 dst_row += result.rowBytes() / 4; |
| 463 } | 463 } |
| 464 result.setIsOpaque(img.isOpaque()); | 464 result.setIsOpaque(img.isOpaque()); |
| 465 return result; | 465 return result; |
| 466 #else | 466 #else |
| 467 return SkBitmap(); | 467 return SkBitmap(); |
| 468 #endif // OS_POSIX && !OS_MACOSX | 468 #endif // OS_POSIX && !OS_MACOSX && !defined(OS_ANDROID) |
| 469 } | 469 } |
| 470 | 470 |
| 471 // static | 471 // static |
| 472 SkBitmap ImageOperations::ResizeBasic(const SkBitmap& source, | 472 SkBitmap ImageOperations::ResizeBasic(const SkBitmap& source, |
| 473 ResizeMethod method, | 473 ResizeMethod method, |
| 474 int dest_width, int dest_height, | 474 int dest_width, int dest_height, |
| 475 const SkIRect& dest_subset) { | 475 const SkIRect& dest_subset) { |
| 476 TRACE_EVENT2("skia", "ImageOperations::ResizeBasic", | 476 TRACE_EVENT2("skia", "ImageOperations::ResizeBasic", |
| 477 "src_pixels", source.width()*source.height(), | 477 "src_pixels", source.width()*source.height(), |
| 478 "dst_pixels", dest_width*dest_height); | 478 "dst_pixels", dest_width*dest_height); |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 539 | 539 |
| 540 // static | 540 // static |
| 541 SkBitmap ImageOperations::Resize(const SkBitmap& source, | 541 SkBitmap ImageOperations::Resize(const SkBitmap& source, |
| 542 ResizeMethod method, | 542 ResizeMethod method, |
| 543 int dest_width, int dest_height) { | 543 int dest_width, int dest_height) { |
| 544 SkIRect dest_subset = { 0, 0, dest_width, dest_height }; | 544 SkIRect dest_subset = { 0, 0, dest_width, dest_height }; |
| 545 return Resize(source, method, dest_width, dest_height, dest_subset); | 545 return Resize(source, method, dest_width, dest_height, dest_subset); |
| 546 } | 546 } |
| 547 | 547 |
| 548 } // namespace skia | 548 } // namespace skia |
| OLD | NEW |