aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils
diff options
context:
space:
mode:
authorMike Reed <reed@google.com>2009-06-29 14:54:46 -0400
committerMike Reed <reed@google.com>2009-06-29 14:54:46 -0400
commita8c52de60de1d2471206b3c81e9243e2c76f2edb (patch)
treeca5960eb8aea3bc8cfee1bf774ddf93afc691506 /src/utils
parent7d7b3cfdc1683207ff600eb39dbf81be53289a94 (diff)
downloadexternal_skia-a8c52de60de1d2471206b3c81e9243e2c76f2edb.zip
external_skia-a8c52de60de1d2471206b3c81e9243e2c76f2edb.tar.gz
external_skia-a8c52de60de1d2471206b3c81e9243e2c76f2edb.tar.bz2
refresh from trunk: shape flattening, bzero
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/mac/SkCreateCGImageRef.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/utils/mac/SkCreateCGImageRef.cpp b/src/utils/mac/SkCreateCGImageRef.cpp
index dca0175..be53f00 100644
--- a/src/utils/mac/SkCreateCGImageRef.cpp
+++ b/src/utils/mac/SkCreateCGImageRef.cpp
@@ -1,5 +1,6 @@
#include "SkCGUtils.h"
#include "SkBitmap.h"
+#include "SkColorPriv.h"
extern CGImageRef SkCreateCGImageRef(const SkBitmap&);
@@ -8,21 +9,23 @@ static void SkBitmap_ReleaseInfo(void* info, const void* pixelData, size_t size)
delete bitmap;
}
+#define HAS_ARGB_SHIFTS(a, r, g, b) \
+ (SK_A32_SHIFT == (a) && SK_R32_SHIFT == (r) \
+ && SK_G32_SHIFT == (g) && SK_B32_SHIFT == (b))
+
static SkBitmap* prepareForImageRef(const SkBitmap& bm,
size_t* bitsPerComponent,
CGBitmapInfo* info) {
+#if 0
+ SkDebugf("---- %d %d %d %d\n", SK_A32_SHIFT, SK_R32_SHIFT,
+ SK_G32_SHIFT, SK_B32_SHIFT);
+#endif
+
switch (bm.config()) {
case SkBitmap::kARGB_8888_Config:
*bitsPerComponent = 8;
- // try to match our rgba ordering in SkColorPriv, but take into
- // account that the data layout could have been overridden in
- // SkUserConfig.
-#define HAS_ARGB_SHIFTS(a, r, g, b) \
- (SK_A32_SHIFT == (a) && SK_R32_SHIFT == (r) \
- && SK_G32_SHIFT == (g) && SK_B32_SHIFT == (b))
#if defined(SK_CPU_LENDIAN) && HAS_ARGB_SHIFTS(24, 0, 8, 16) \
|| defined(SK_CPU_BENDIAN) && HAS_ARGB_SHIFTS(0, 24, 16, 8)
- // The default rgba ordering from SkColorPriv.h
*info = kCGBitmapByteOrder32Big |
kCGImageAlphaPremultipliedLast;
#elif defined(SK_CPU_LENDIAN) && HAS_ARGB_SHIFTS(24, 16, 8, 0) \
@@ -40,7 +43,6 @@ static SkBitmap* prepareForImageRef(const SkBitmap& bm,
*info = kCGBitmapByteOrder32Big |
kCGImageAlphaPremultipliedLast;
#endif
-#undef HAS_ARGB_SHIFTS
break;
case SkBitmap::kRGB_565_Config:
// doesn't see quite right. Are they thinking 1555?
@@ -58,6 +60,8 @@ static SkBitmap* prepareForImageRef(const SkBitmap& bm,
return new SkBitmap(bm);
}
+#undef HAS_ARGB_SHIFTS
+
CGImageRef SkCreateCGImageRef(const SkBitmap& bm) {
size_t bitsPerComponent;
CGBitmapInfo info;