| 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 #include "ui/gfx/skbitmap_operations.h" | 5 #include "ui/gfx/skbitmap_operations.h" | 
| 6 | 6 | 
| 7 #include <string.h> | 7 #include <string.h> | 
| 8 #include <algorithm> | 8 #include <algorithm> | 
| 9 | 9 | 
| 10 #include "base/logging.h" | 10 #include "base/logging.h" | 
| (...skipping 739 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 750     canvas.restore(); | 750     canvas.restore(); | 
| 751   } | 751   } | 
| 752 | 752 | 
| 753   canvas.drawBitmap(bitmap, SkIntToScalar(0), SkIntToScalar(0)); | 753   canvas.drawBitmap(bitmap, SkIntToScalar(0), SkIntToScalar(0)); | 
| 754   return image_with_shadow; | 754   return image_with_shadow; | 
| 755 } | 755 } | 
| 756 | 756 | 
| 757 // static | 757 // static | 
| 758 SkBitmap SkBitmapOperations::Rotate(const SkBitmap& source, | 758 SkBitmap SkBitmapOperations::Rotate(const SkBitmap& source, | 
| 759                                     RotationAmount rotation) { | 759                                     RotationAmount rotation) { | 
|  | 760   // SkCanvas::drawBitmap() fails silently with unpremultiplied SkBitmap. | 
|  | 761   DCHECK(source.info().alphaType() != kUnpremul_SkAlphaType); | 
|  | 762 | 
| 760   SkBitmap result; | 763   SkBitmap result; | 
| 761   SkScalar angle = SkFloatToScalar(0.0f); | 764   SkScalar angle = SkFloatToScalar(0.0f); | 
| 762 | 765 | 
| 763   switch (rotation) { | 766   switch (rotation) { | 
| 764    case ROTATION_90_CW: | 767    case ROTATION_90_CW: | 
| 765      angle = SkFloatToScalar(90.0f); | 768      angle = SkFloatToScalar(90.0f); | 
| 766      result.allocN32Pixels(source.height(), source.width()); | 769      result.allocN32Pixels(source.height(), source.width()); | 
| 767      break; | 770      break; | 
| 768    case ROTATION_180_CW: | 771    case ROTATION_180_CW: | 
| 769      angle = SkFloatToScalar(180.0f); | 772      angle = SkFloatToScalar(180.0f); | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
| 781   canvas.translate(SkFloatToScalar(result.width() * 0.5f), | 784   canvas.translate(SkFloatToScalar(result.width() * 0.5f), | 
| 782                    SkFloatToScalar(result.height() * 0.5f)); | 785                    SkFloatToScalar(result.height() * 0.5f)); | 
| 783   canvas.rotate(angle); | 786   canvas.rotate(angle); | 
| 784   canvas.translate(-SkFloatToScalar(source.width() * 0.5f), | 787   canvas.translate(-SkFloatToScalar(source.width() * 0.5f), | 
| 785                    -SkFloatToScalar(source.height() * 0.5f)); | 788                    -SkFloatToScalar(source.height() * 0.5f)); | 
| 786   canvas.drawBitmap(source, 0, 0); | 789   canvas.drawBitmap(source, 0, 0); | 
| 787   canvas.flush(); | 790   canvas.flush(); | 
| 788 | 791 | 
| 789   return result; | 792   return result; | 
| 790 } | 793 } | 
| OLD | NEW | 
|---|