| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 #include "ash/desktop_background/wallpaper_resizer.h" | 5 #include "ash/desktop_background/wallpaper_resizer.h" |
| 6 | 6 |
| 7 #include "ash/desktop_background/wallpaper_resizer_observer.h" | 7 #include "ash/desktop_background/wallpaper_resizer_observer.h" |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/threading/sequenced_worker_pool.h" | 10 #include "base/threading/sequenced_worker_pool.h" |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 static_cast<double>(new_height) / horizontal_ratio)); | 77 static_cast<double>(new_height) / horizontal_ratio)); |
| 78 } | 78 } |
| 79 wallpaper_rect.ClampToCenteredSize(cropped_size); | 79 wallpaper_rect.ClampToCenteredSize(cropped_size); |
| 80 SkBitmap sub_image; | 80 SkBitmap sub_image; |
| 81 orig_bitmap.extractSubset(&sub_image, | 81 orig_bitmap.extractSubset(&sub_image, |
| 82 gfx::RectToSkIRect(wallpaper_rect)); | 82 gfx::RectToSkIRect(wallpaper_rect)); |
| 83 new_bitmap = skia::ImageOperations::Resize( | 83 new_bitmap = skia::ImageOperations::Resize( |
| 84 sub_image, skia::ImageOperations::RESIZE_LANCZOS3, | 84 sub_image, skia::ImageOperations::RESIZE_LANCZOS3, |
| 85 new_width, new_height); | 85 new_width, new_height); |
| 86 } | 86 } |
| 87 break; |
| 88 case WALLPAPER_LAYOUT_UNKNOWN: |
| 89 NOTREACHED(); |
| 87 } | 90 } |
| 88 } | 91 } |
| 89 | 92 |
| 90 *resized_bitmap_out = new_bitmap; | 93 *resized_bitmap_out = new_bitmap; |
| 91 resized_bitmap_out->setImmutable(); | 94 resized_bitmap_out->setImmutable(); |
| 92 } | 95 } |
| 93 | 96 |
| 94 } // namespace | 97 } // namespace |
| 95 | 98 |
| 96 const int kInvalidResourceID = -1; | |
| 97 | |
| 98 // static | 99 // static |
| 99 uint32_t WallpaperResizer::GetImageId(const gfx::ImageSkia& image) { | 100 uint32_t WallpaperResizer::GetImageId(const gfx::ImageSkia& image) { |
| 100 const gfx::ImageSkiaRep& image_rep = image.GetRepresentation(1.0f); | 101 const gfx::ImageSkiaRep& image_rep = image.GetRepresentation(1.0f); |
| 101 return image_rep.is_null() ? 0 : image_rep.sk_bitmap().getGenerationID(); | 102 return image_rep.is_null() ? 0 : image_rep.sk_bitmap().getGenerationID(); |
| 102 } | 103 } |
| 103 | 104 |
| 104 WallpaperResizer::WallpaperResizer(int image_resource_id, | 105 WallpaperResizer::WallpaperResizer(int image_resource_id, |
| 105 const gfx::Size& target_size, | 106 const gfx::Size& target_size, |
| 106 WallpaperLayout layout) | 107 WallpaperLayout layout) |
| 107 : image_(*(ui::ResourceBundle::GetSharedInstance() | 108 : image_(*(ui::ResourceBundle::GetSharedInstance() |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 154 } | 155 } |
| 155 | 156 |
| 156 void WallpaperResizer::OnResizeFinished(SkBitmap* resized_bitmap) { | 157 void WallpaperResizer::OnResizeFinished(SkBitmap* resized_bitmap) { |
| 157 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 158 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 158 image_ = gfx::ImageSkia::CreateFrom1xBitmap(*resized_bitmap); | 159 image_ = gfx::ImageSkia::CreateFrom1xBitmap(*resized_bitmap); |
| 159 FOR_EACH_OBSERVER(WallpaperResizerObserver, observers_, | 160 FOR_EACH_OBSERVER(WallpaperResizerObserver, observers_, |
| 160 OnWallpaperResized()); | 161 OnWallpaperResized()); |
| 161 } | 162 } |
| 162 | 163 |
| 163 } // namespace ash | 164 } // namespace ash |
| OLD | NEW |