OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "skia/public/type_converters.h" | 5 #include "skia/public/type_converters.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 #include <string.h> | 9 #include <string.h> |
10 | 10 |
11 #include "base/logging.h" | 11 #include "base/logging.h" |
12 #include "third_party/skia/include/core/SkBitmap.h" | 12 #include "third_party/skia/include/core/SkBitmap.h" |
13 | 13 |
14 namespace mojo { | 14 namespace mojo { |
15 | 15 |
16 namespace { | 16 namespace { |
17 | 17 |
18 SkColorType MojoColorTypeToSk(skia::ColorType type) { | 18 SkColorType MojoColorTypeToSk(skia::ColorType type) { |
19 switch (type) { | 19 switch (type) { |
20 case skia::COLOR_TYPE_UNKNOWN: | 20 case skia::ColorType::UNKNOWN: |
21 return kUnknown_SkColorType; | 21 return kUnknown_SkColorType; |
22 case skia::COLOR_TYPE_ALPHA_8: | 22 case skia::ColorType::ALPHA_8: |
23 return kAlpha_8_SkColorType; | 23 return kAlpha_8_SkColorType; |
24 case skia::COLOR_TYPE_RGB_565: | 24 case skia::ColorType::RGB_565: |
25 return kRGB_565_SkColorType; | 25 return kRGB_565_SkColorType; |
26 case skia::COLOR_TYPE_ARGB_4444: | 26 case skia::ColorType::ARGB_4444: |
27 return kARGB_4444_SkColorType; | 27 return kARGB_4444_SkColorType; |
28 case skia::COLOR_TYPE_RGBA_8888: | 28 case skia::ColorType::RGBA_8888: |
29 return kRGBA_8888_SkColorType; | 29 return kRGBA_8888_SkColorType; |
30 case skia::COLOR_TYPE_BGRA_8888: | 30 case skia::ColorType::BGRA_8888: |
31 return kBGRA_8888_SkColorType; | 31 return kBGRA_8888_SkColorType; |
32 case skia::COLOR_TYPE_INDEX_8: | 32 case skia::ColorType::INDEX_8: |
33 return kIndex_8_SkColorType; | 33 return kIndex_8_SkColorType; |
34 case skia::COLOR_TYPE_GRAY_8: | 34 case skia::ColorType::GRAY_8: |
35 return kGray_8_SkColorType; | 35 return kGray_8_SkColorType; |
36 default: | 36 default: |
37 NOTREACHED(); | 37 NOTREACHED(); |
38 } | 38 } |
39 return kUnknown_SkColorType; | 39 return kUnknown_SkColorType; |
40 } | 40 } |
41 | 41 |
42 SkAlphaType MojoAlphaTypeToSk(skia::AlphaType type) { | 42 SkAlphaType MojoAlphaTypeToSk(skia::AlphaType type) { |
43 switch (type) { | 43 switch (type) { |
44 case skia::ALPHA_TYPE_UNKNOWN: | 44 case skia::AlphaType::UNKNOWN: |
45 return kUnknown_SkAlphaType; | 45 return kUnknown_SkAlphaType; |
46 case skia::ALPHA_TYPE_OPAQUE: | 46 case skia::AlphaType::ALPHA_TYPE_OPAQUE: |
47 return kOpaque_SkAlphaType; | 47 return kOpaque_SkAlphaType; |
48 case skia::ALPHA_TYPE_PREMUL: | 48 case skia::AlphaType::PREMUL: |
49 return kPremul_SkAlphaType; | 49 return kPremul_SkAlphaType; |
50 case skia::ALPHA_TYPE_UNPREMUL: | 50 case skia::AlphaType::UNPREMUL: |
51 return kUnpremul_SkAlphaType; | 51 return kUnpremul_SkAlphaType; |
52 default: | 52 default: |
53 NOTREACHED(); | 53 NOTREACHED(); |
54 } | 54 } |
55 return kUnknown_SkAlphaType; | 55 return kUnknown_SkAlphaType; |
56 } | 56 } |
57 | 57 |
58 skia::ColorType SkColorTypeToMojo(SkColorType type) { | 58 skia::ColorType SkColorTypeToMojo(SkColorType type) { |
59 switch (type) { | 59 switch (type) { |
60 case kUnknown_SkColorType: | 60 case kUnknown_SkColorType: |
61 return skia::COLOR_TYPE_UNKNOWN; | 61 return skia::ColorType::UNKNOWN; |
62 case kAlpha_8_SkColorType: | 62 case kAlpha_8_SkColorType: |
63 return skia::COLOR_TYPE_ALPHA_8; | 63 return skia::ColorType::ALPHA_8; |
64 case kRGB_565_SkColorType: | 64 case kRGB_565_SkColorType: |
65 return skia::COLOR_TYPE_RGB_565; | 65 return skia::ColorType::RGB_565; |
66 case kARGB_4444_SkColorType: | 66 case kARGB_4444_SkColorType: |
67 return skia::COLOR_TYPE_ARGB_4444; | 67 return skia::ColorType::ARGB_4444; |
68 case kRGBA_8888_SkColorType: | 68 case kRGBA_8888_SkColorType: |
69 return skia::COLOR_TYPE_RGBA_8888; | 69 return skia::ColorType::RGBA_8888; |
70 case kBGRA_8888_SkColorType: | 70 case kBGRA_8888_SkColorType: |
71 return skia::COLOR_TYPE_BGRA_8888; | 71 return skia::ColorType::BGRA_8888; |
72 case kIndex_8_SkColorType: | 72 case kIndex_8_SkColorType: |
73 return skia::COLOR_TYPE_INDEX_8; | 73 return skia::ColorType::INDEX_8; |
74 case kGray_8_SkColorType: | 74 case kGray_8_SkColorType: |
75 return skia::COLOR_TYPE_GRAY_8; | 75 return skia::ColorType::GRAY_8; |
76 default: | 76 default: |
77 NOTREACHED(); | 77 NOTREACHED(); |
78 } | 78 } |
79 return skia::COLOR_TYPE_UNKNOWN; | 79 return skia::ColorType::UNKNOWN; |
80 } | 80 } |
81 | 81 |
82 skia::AlphaType SkAlphaTypeToMojo(SkAlphaType type) { | 82 skia::AlphaType SkAlphaTypeToMojo(SkAlphaType type) { |
83 switch (type) { | 83 switch (type) { |
84 case kUnknown_SkAlphaType: | 84 case kUnknown_SkAlphaType: |
85 return skia::ALPHA_TYPE_UNKNOWN; | 85 return skia::AlphaType::UNKNOWN; |
86 case kOpaque_SkAlphaType: | 86 case kOpaque_SkAlphaType: |
87 return skia::ALPHA_TYPE_OPAQUE; | 87 return skia::AlphaType::ALPHA_TYPE_OPAQUE; |
88 case kPremul_SkAlphaType: | 88 case kPremul_SkAlphaType: |
89 return skia::ALPHA_TYPE_PREMUL; | 89 return skia::AlphaType::PREMUL; |
90 case kUnpremul_SkAlphaType: | 90 case kUnpremul_SkAlphaType: |
91 return skia::ALPHA_TYPE_UNPREMUL; | 91 return skia::AlphaType::UNPREMUL; |
92 default: | 92 default: |
93 NOTREACHED(); | 93 NOTREACHED(); |
94 } | 94 } |
95 return skia::ALPHA_TYPE_UNKNOWN; | 95 return skia::AlphaType::UNKNOWN; |
96 } | 96 } |
97 | 97 |
98 } // namespace | 98 } // namespace |
99 | 99 |
100 SkBitmap TypeConverter<SkBitmap, skia::BitmapPtr>::Convert( | 100 SkBitmap TypeConverter<SkBitmap, skia::BitmapPtr>::Convert( |
101 const skia::BitmapPtr& image) { | 101 const skia::BitmapPtr& image) { |
102 SkBitmap bitmap; | 102 SkBitmap bitmap; |
103 if (image.is_null()) | 103 if (image.is_null()) |
104 return bitmap; | 104 return bitmap; |
105 if (!bitmap.tryAllocPixels(SkImageInfo::Make( | 105 if (!bitmap.tryAllocPixels(SkImageInfo::Make( |
(...skipping 26 matching lines...) Expand all Loading... |
132 result->height = info.height(); | 132 result->height = info.height(); |
133 size_t size = bitmap.getSize(); | 133 size_t size = bitmap.getSize(); |
134 size_t row_bytes = bitmap.rowBytes(); | 134 size_t row_bytes = bitmap.rowBytes(); |
135 result->pixel_data = mojo::Array<uint8_t>::New(size); | 135 result->pixel_data = mojo::Array<uint8_t>::New(size); |
136 if (!bitmap.readPixels(info, &result->pixel_data[0], row_bytes, 0, 0)) | 136 if (!bitmap.readPixels(info, &result->pixel_data[0], row_bytes, 0, 0)) |
137 return nullptr; | 137 return nullptr; |
138 return result; | 138 return result; |
139 } | 139 } |
140 | 140 |
141 } // namespace mojo | 141 } // namespace mojo |
OLD | NEW |