OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2016 Google Inc. | 2 * Copyright 2016 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #include "ImageSlide.h" | 8 #include "ImageSlide.h" |
9 | 9 |
10 #include "SkBitmap.h" | 10 #include "SkBitmap.h" |
(...skipping 19 matching lines...) Expand all Loading... |
30 } else { | 30 } else { |
31 // skbug.com/5428 | 31 // skbug.com/5428 |
32 // drawImage() and drawBitmap() behave differently in sRGB mode. | 32 // drawImage() and drawBitmap() behave differently in sRGB mode. |
33 // canvas->drawImage(fImage.get(), 0, 0); | 33 // canvas->drawImage(fImage.get(), 0, 0); |
34 canvas->drawBitmap(fOriginalBitmap, 0, 0); | 34 canvas->drawBitmap(fOriginalBitmap, 0, 0); |
35 } | 35 } |
36 } | 36 } |
37 | 37 |
38 void ImageSlide::load(SkScalar, SkScalar) { | 38 void ImageSlide::load(SkScalar, SkScalar) { |
39 sk_sp<SkData> encoded = SkData::MakeFromFileName(fPath.c_str()); | 39 sk_sp<SkData> encoded = SkData::MakeFromFileName(fPath.c_str()); |
40 SkAutoTDelete<SkCodec> codec(SkCodec::NewFromData(encoded.get())); | 40 SkAutoTDelete<SkCodec> codec(SkCodec::NewFromData(encoded)); |
41 if (!codec) { | 41 if (!codec) { |
42 return; | 42 return; |
43 } | 43 } |
44 | 44 |
45 fOriginalBitmap.allocPixels(codec->getInfo()); | 45 fOriginalBitmap.allocPixels(codec->getInfo()); |
46 codec->getPixels(codec->getInfo(), fOriginalBitmap.getPixels(), fOriginalBit
map.rowBytes()); | 46 codec->getPixels(codec->getInfo(), fOriginalBitmap.getPixels(), fOriginalBit
map.rowBytes()); |
47 | 47 |
48 SkImageInfo xformedInfo = codec->getInfo().makeColorSpace( | 48 SkImageInfo xformedInfo = codec->getInfo().makeColorSpace( |
49 SkColorSpace::NewNamed(SkColorSpace::kAdobeRGB_Named)); | 49 SkColorSpace::NewNamed(SkColorSpace::kAdobeRGB_Named)); |
50 fXformedBitmap.allocPixels(xformedInfo); | 50 fXformedBitmap.allocPixels(xformedInfo); |
51 codec->getPixels(xformedInfo, fXformedBitmap.getPixels(), fXformedBitmap.row
Bytes()); | 51 codec->getPixels(xformedInfo, fXformedBitmap.getPixels(), fXformedBitmap.row
Bytes()); |
52 } | 52 } |
53 | 53 |
54 void ImageSlide::unload() { | 54 void ImageSlide::unload() { |
55 fImage.reset(nullptr); | 55 fImage.reset(nullptr); |
56 } | 56 } |
OLD | NEW |