Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / gm / image.cpp
index ff184d1..05a3fab 100644 (file)
@@ -8,6 +8,7 @@
 #include "gm.h"
 #include "SkSurface.h"
 #include "SkCanvas.h"
+#include "SkDecodingImageGenerator.h"
 #include "SkStream.h"
 #include "SkData.h"
 
 #include "GrContext.h"
 #endif
 
-static SkData* fileToData(const char path[]) {
-    SkFILEStream stream(path);
-    if (!stream.isValid()) {
-        return SkData::NewEmpty();
-    }
-    size_t size = stream.getLength();
-    void* mem = sk_malloc_throw(size);
-    stream.read(mem, size);
-    return SkData::NewFromMalloc(mem, size);
-}
-
 static void drawJpeg(SkCanvas* canvas, const SkISize& size) {
     // TODO: Make this draw a file that is checked in, so it can
     // be exercised on machines other than mike's. Will require a
     // rebaseline.
-    SkAutoDataUnref data(fileToData("/Users/mike/Downloads/skia.google.jpeg"));
-    SkImage* image = SkImage::NewEncodedData(data);
+    SkAutoDataUnref data(SkData::NewFromFileName("/Users/mike/Downloads/skia.google.jpeg"));
+    if (NULL == data.get()) {
+        return;
+    }
+    SkImage* image = SkImage::NewFromGenerator(
+                SkDecodingImageGenerator::Create(data, SkDecodingImageGenerator::Options()));
     if (image) {
         SkAutoCanvasRestore acr(canvas, true);
         canvas->scale(size.width() * 1.0f / image->width(),
                       size.height() * 1.0f / image->height());
-        image->draw(canvas, 0, 0, NULL);
+        canvas->drawImage(image, 0, 0, NULL);
         image->unref();
     }
 }
@@ -83,8 +77,8 @@ static void test_surface(SkCanvas* canvas, SkSurface* surf, bool usePaint) {
 //    paint.setFilterBitmap(true);
 //    paint.setAlpha(0x80);
 
-    imgR->draw(canvas, 0, 0, usePaint ? &paint : NULL);
-    imgG->draw(canvas, 0, 80, usePaint ? &paint : NULL);
+    canvas->drawImage(imgR, 0, 0, usePaint ? &paint : NULL);
+    canvas->drawImage(imgG, 0, 80, usePaint ? &paint : NULL);
     surf->draw(canvas, 0, 160, usePaint ? &paint : NULL);
 
     SkRect src1, src2, src3;
@@ -99,10 +93,10 @@ static void test_surface(SkCanvas* canvas, SkSurface* surf, bool usePaint) {
     dst3.set(0, 400, 65, 465);
     dst4.set(0, 480, 65, 545);
 
-    imgR->draw(canvas, &src1, dst1, usePaint ? &paint : NULL);
-    imgG->draw(canvas, &src2, dst2, usePaint ? &paint : NULL);
-    imgR->draw(canvas, &src3, dst3, usePaint ? &paint : NULL);
-    imgG->draw(canvas, NULL, dst4, usePaint ? &paint : NULL);
+    canvas->drawImageRect(imgR, &src1, dst1, usePaint ? &paint : NULL);
+    canvas->drawImageRect(imgG, &src2, dst2, usePaint ? &paint : NULL);
+    canvas->drawImageRect(imgR, &src3, dst3, usePaint ? &paint : NULL);
+    canvas->drawImageRect(imgG, NULL, dst4, usePaint ? &paint : NULL);
 
     imgG->unref();
     imgR->unref();
@@ -185,14 +179,14 @@ protected:
 #if SK_SUPPORT_GPU
         GrContext* ctx = canvas->getGrContext();
 
-        SkAutoTUnref<SkSurface> surf4(SkSurface::NewRenderTarget(ctx, info, 0));
+        SkAutoTUnref<SkSurface> surf4(SkSurface::NewRenderTarget(ctx, info));
 #endif
 
         test_surface(canvas, surf0, true);
         canvas->translate(80, 0);
         test_surface(canvas, surf1, true);
 #if SK_SUPPORT_GPU
-        if (NULL != ctx) {
+        if (ctx) {
             canvas->translate(80, 0);
             test_surface(canvas, surf4, true);
         }