Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / src / image / SkImagePriv.cpp
index 43cc44b..538c6bb 100644 (file)
@@ -20,7 +20,7 @@ SkBitmap::Config SkColorTypeToBitmapConfig(SkColorType colorType) {
         case kRGB_565_SkColorType:
             return SkBitmap::kRGB_565_Config;
 
-        case kPMColor_SkColorType:
+        case kN32_SkColorType:
             return SkBitmap::kARGB_8888_Config;
 
         case kIndex_8_SkColorType:
@@ -37,35 +37,19 @@ SkBitmap::Config SkImageInfoToBitmapConfig(const SkImageInfo& info) {
     return SkColorTypeToBitmapConfig(info.fColorType);
 }
 
-bool SkBitmapConfigToColorType(SkBitmap::Config config, SkColorType* ctOut) {
-    SkColorType ct;
-    switch (config) {
-        case SkBitmap::kA8_Config:
-            ct = kAlpha_8_SkColorType;
-            break;
-        case SkBitmap::kIndex8_Config:
-            ct = kIndex_8_SkColorType;
-            break;
-        case SkBitmap::kRGB_565_Config:
-            ct = kRGB_565_SkColorType;
-            break;
-        case SkBitmap::kARGB_4444_Config:
-            ct = kARGB_4444_SkColorType;
-            break;
-        case SkBitmap::kARGB_8888_Config:
-            ct = kPMColor_SkColorType;
-            break;
-        case SkBitmap::kNo_Config:
-        default:
-            return false;
-    }
-    if (ctOut) {
-        *ctOut = ct;
-    }
-    return true;
+SkColorType SkBitmapConfigToColorType(SkBitmap::Config config) {
+    static const SkColorType gCT[] = {
+        kUnknown_SkColorType,   // kNo_Config
+        kAlpha_8_SkColorType,   // kA8_Config
+        kIndex_8_SkColorType,   // kIndex8_Config
+        kRGB_565_SkColorType,   // kRGB_565_Config
+        kARGB_4444_SkColorType, // kARGB_4444_Config
+        kN32_SkColorType,   // kARGB_8888_Config
+    };
+    SkASSERT((unsigned)config < SK_ARRAY_COUNT(gCT));
+    return gCT[config];
 }
 
-
 SkImage* SkNewImageFromBitmap(const SkBitmap& bm, bool canSharePixelRef) {
     SkImageInfo info;
     if (!bm.asImageInfo(&info)) {
@@ -84,60 +68,3 @@ SkImage* SkNewImageFromBitmap(const SkBitmap& bm, bool canSharePixelRef) {
     }
     return image;
 }
-
-static bool needs_layer(const SkPaint& paint) {
-    return  0xFF != paint.getAlpha() ||
-    paint.getColorFilter() ||
-    paint.getImageFilter() ||
-    SkXfermode::IsMode(paint.getXfermode(), SkXfermode::kSrcOver_Mode);
-}
-
-void SkImagePrivDrawPicture(SkCanvas* canvas, SkPicture* picture,
-                            SkScalar x, SkScalar y, const SkPaint* paint) {
-    int saveCount = canvas->getSaveCount();
-
-    if (paint && needs_layer(*paint)) {
-        SkRect bounds;
-        bounds.set(x, y,
-                   x + SkIntToScalar(picture->width()),
-                   y + SkIntToScalar(picture->height()));
-        canvas->saveLayer(&bounds, paint);
-        canvas->translate(x, y);
-    } else if (x || y) {
-        canvas->save();
-        canvas->translate(x, y);
-    }
-
-    canvas->drawPicture(*picture);
-    canvas->restoreToCount(saveCount);
-}
-
-void SkImagePrivDrawPicture(SkCanvas* canvas, SkPicture* picture,
-                            const SkRect* src,  const SkRect& dst, const SkPaint* paint) {
-    int saveCount = canvas->getSaveCount();
-
-    SkMatrix matrix;
-    SkRect   tmpSrc;
-
-    if (NULL != src) {
-        tmpSrc = *src;
-    } else {
-        tmpSrc.set(0, 0,
-                   SkIntToScalar(picture->width()),
-                   SkIntToScalar(picture->height()));
-    }
-
-    matrix.setRectToRect(tmpSrc, dst, SkMatrix::kFill_ScaleToFit);
-    if (paint && needs_layer(*paint)) {
-        canvas->saveLayer(&dst, paint);
-    } else {
-        canvas->save();
-    }
-    canvas->concat(matrix);
-    if (!paint || !needs_layer(*paint)) {
-        canvas->clipRect(tmpSrc);
-    }
-
-    canvas->drawPicture(*picture);
-    canvas->restoreToCount(saveCount);
-}