aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2016-04-15 10:03:03 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-04-15 10:03:03 -0700
commit6d7cd1f421dbde43dd2db655ca477c05312ec5fd (patch)
treea417c65d83d2ef2575876f57f786526ab7d39b38 /include
parent6b13473dd4d5915309cc2caddbab2e22f2f21d5f (diff)
move static arrays into impl, to avoid multiple copies
Diffstat (limited to 'include')
-rw-r--r--include/core/SkImageInfo.h40
1 files changed, 8 insertions, 32 deletions
diff --git a/include/core/SkImageInfo.h b/include/core/SkImageInfo.h
index 4b308c05d8..1cac7ebc4d 100644
--- a/include/core/SkImageInfo.h
+++ b/include/core/SkImageInfo.h
@@ -86,42 +86,18 @@ enum SkColorType {
#endif
};
+extern const uint8_t gPrivate_SkColorTypeBytesPerPixel[];
+
static int SkColorTypeBytesPerPixel(SkColorType ct) {
- static const uint8_t gSize[] = {
- 0, // Unknown
- 1, // Alpha_8
- 2, // RGB_565
- 2, // ARGB_4444
- 4, // RGBA_8888
- 4, // BGRA_8888
- 1, // kIndex_8
- 1, // kGray_8
- 8, // kRGBA_F16
- };
- static_assert(SK_ARRAY_COUNT(gSize) == (size_t)(kLastEnum_SkColorType + 1),
- "size_mismatch_with_SkColorType_enum");
-
- SkASSERT((size_t)ct < SK_ARRAY_COUNT(gSize));
- return gSize[ct];
+ SkASSERT((unsigned)ct <= (unsigned)kLastEnum_SkColorType);
+ return gPrivate_SkColorTypeBytesPerPixel[ct];
}
+extern const uint8_t gPrivate_SkColorTypeShiftPerPixel[];
+
static int SkColorTypeShiftPerPixel(SkColorType ct) {
- static const uint8_t gShift[] = {
- 0, // Unknown
- 0, // Alpha_8
- 1, // RGB_565
- 1, // ARGB_4444
- 2, // RGBA_8888
- 2, // BGRA_8888
- 0, // kIndex_8
- 0, // kGray_8
- 3, // kRGBA_F16
- };
- static_assert(SK_ARRAY_COUNT(gShift) == (size_t)(kLastEnum_SkColorType + 1),
- "size_mismatch_with_SkColorType_enum");
-
- SkASSERT((size_t)ct < SK_ARRAY_COUNT(gShift));
- return gShift[ct];
+ SkASSERT((unsigned)ct <= (unsigned)kLastEnum_SkColorType);
+ return gPrivate_SkColorTypeShiftPerPixel[ct];
}
static inline size_t SkColorTypeMinRowBytes(SkColorType ct, int width) {