add SkEmptyShader, and return it from CreateBitmapShader if the bitmap is empty
(i.e. has no pixels at all)



git-svn-id: http://skia.googlecode.com/svn/trunk@1792 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/core/SkBitmapProcShader.cpp b/src/core/SkBitmapProcShader.cpp
index a16e96a..a3132c7 100644
--- a/src/core/SkBitmapProcShader.cpp
+++ b/src/core/SkBitmapProcShader.cpp
@@ -228,6 +228,7 @@
 
 #include "SkUnPreMultiply.h"
 #include "SkColorShader.h"
+#include "SkEmptyShader.h"
 
 // returns true and set color if the bitmap can be drawn as a single color
 // (for efficiency)
@@ -264,7 +265,10 @@
                                        void* storage, size_t storageSize) {
     SkShader* shader;
     SkColor color;
-    if (canUseColorShader(src, &color)) {
+    if (src.isNull()) {
+        SK_PLACEMENT_NEW(shader, SkEmptyShader, storage, storageSize);
+    }
+    else if (canUseColorShader(src, &color)) {
         SK_PLACEMENT_NEW_ARGS(shader, SkColorShader, storage, storageSize,
                               (color));
     } else {