Change (correct) SkImageRef's ownership rule for streams to the skia standard
pattern: the receiver will call ref() if it chooses when passed to a constructor
or setter, so the caller must balance its ownership itself. This matches how all
other refcnt objects are handled.



git-svn-id: http://skia.googlecode.com/svn/trunk@120 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/samplecode/SampleBitmapRect.cpp b/samplecode/SampleBitmapRect.cpp
index f164e06..ea6c705 100644
--- a/samplecode/SampleBitmapRect.cpp
+++ b/samplecode/SampleBitmapRect.cpp
@@ -15,7 +15,6 @@
 #include "SkTime.h"
 #include "SkTypeface.h"
 
-#include "SkImageRef.h"
 #include "SkOSFile.h"
 #include "SkStream.h"
 
diff --git a/samplecode/SampleEncode.cpp b/samplecode/SampleEncode.cpp
index e4197bf..31ddb8b 100644
--- a/samplecode/SampleEncode.cpp
+++ b/samplecode/SampleEncode.cpp
@@ -3,6 +3,7 @@
 #include "SkCanvas.h"
 #include "SkGradientShader.h"
 #include "SkGraphics.h"
+#include "SkImageDecoder.h"
 #include "SkImageEncoder.h"
 #include "SkPath.h"
 #include "SkPorterDuff.h"
@@ -15,7 +16,6 @@
 #include "SkTime.h"
 #include "SkTypeface.h"
 
-#include "SkImageRef.h"
 #include "SkStream.h"
 
 static void make_image(SkBitmap* bm, SkBitmap::Config config, int configIndex) {
diff --git a/samplecode/SampleFontScalerTest.cpp b/samplecode/SampleFontScalerTest.cpp
index 356ab39..81dd60d 100644
--- a/samplecode/SampleFontScalerTest.cpp
+++ b/samplecode/SampleFontScalerTest.cpp
@@ -70,6 +70,9 @@
     
     virtual void onDraw(SkCanvas* canvas) {
         this->drawBG(canvas);
+        
+        canvas->translate(200, 20);
+        canvas->rotate(30);
 
         SkPaint paint;
         paint.setAntiAlias(true);
diff --git a/samplecode/SampleImage.cpp b/samplecode/SampleImage.cpp
index 4cefd27..7683e63 100644
--- a/samplecode/SampleImage.cpp
+++ b/samplecode/SampleImage.cpp
@@ -23,7 +23,6 @@
     "2.bmp", "2.gif", "2.jpg", "2.png"
 };
 
-// ownership of the stream is transferred
 static bool SetImageRef(SkBitmap* bitmap, SkStream* stream,
                         SkBitmap::Config pref, const char name[] = NULL)
 {
@@ -36,7 +35,6 @@
         bitmap->setPixelRef(ref)->unref();
         return true;
     } else {
-        delete stream;
         return false;
     }
 }
@@ -60,6 +58,7 @@
             SetImageRef(&fBitmaps[i], stream, SkBitmap::kNo_Config, gNames[i]);
             if (i & 1)
                 fBitmaps[i].buildMipMap();
+            stream->unref();
         }
         
         fShader = SkShader::CreateBitmapShader(fBitmaps[5],
diff --git a/samplecode/SampleImageDir.cpp b/samplecode/SampleImageDir.cpp
index 32a719b..922910c 100644
--- a/samplecode/SampleImageDir.cpp
+++ b/samplecode/SampleImageDir.cpp
@@ -91,7 +91,6 @@
    canvas.drawRoundRect(r, SkFloatToFixed(91.756363), SkFloatToFixed(91.756363), paint);
 }
 
-// ownership of the stream is transferred
 static bool SetImageRef(SkBitmap* bitmap, SkStream* stream,
                         SkBitmap::Config pref, const char name[] = NULL) {
 #if 0
@@ -142,6 +141,7 @@
 #if 1
             SkStream* stream = new SkFILEStream(SPECIFIC_IMAGE);
             SetImageRef(&fBitmaps[i], stream, configs[i], SPECIFIC_IMAGE);
+            stream->unref();
 #else
             SkImageDecoder::DecodeFile(SPECIFIC_IMAGE, &fBitmaps[i]);
 #endif
@@ -164,6 +164,7 @@
             
             SetImageRef(&fBitmaps[i], stream, SkBitmap::kNo_Config,
                         name.c_str());
+            stream->unref();
             fStrings[i] = name;
         }
         fBitmapCount = N;
diff --git a/samplecode/SamplePatch.cpp b/samplecode/SamplePatch.cpp
index 77bd332..919c251 100644
--- a/samplecode/SamplePatch.cpp
+++ b/samplecode/SamplePatch.cpp
@@ -16,7 +16,6 @@
 #include "SkTime.h"
 #include "SkTypeface.h"
 
-#include "SkImageRef.h"
 #include "SkOSFile.h"
 #include "SkStream.h"
 
diff --git a/samplecode/SampleTextAlpha.cpp b/samplecode/SampleTextAlpha.cpp
index d695f23..629056b 100644
--- a/samplecode/SampleTextAlpha.cpp
+++ b/samplecode/SampleTextAlpha.cpp
@@ -17,7 +17,6 @@
 #include "SkTime.h"
 #include "SkTypeface.h"
 
-#include "SkImageRef.h"
 #include "SkOSFile.h"
 #include "SkStream.h"
 
diff --git a/samplecode/SampleVertices.cpp b/samplecode/SampleVertices.cpp
index 637c661..fcd9628 100644
--- a/samplecode/SampleVertices.cpp
+++ b/samplecode/SampleVertices.cpp
@@ -16,7 +16,6 @@
 #include "SkTime.h"
 #include "SkTypeface.h"
 
-#include "SkImageRef.h"
 #include "SkOSFile.h"
 #include "SkStream.h"
 #include "SkNinePatch.h"