Added 3-color gradient scraper for detecting symmetrical gradients.





Made changes to lua to scrape info about 3 color gradients

BUG=
R=reed@google.com

Author: dierk@google.com

Review URL: https://chromiumcodereview.appspot.com/21571002

git-svn-id: http://skia.googlecode.com/svn/trunk@10490 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/utils/SkLua.cpp b/src/utils/SkLua.cpp
index 66a9c08..8267132 100644
--- a/src/utils/SkLua.cpp
+++ b/src/utils/SkLua.cpp
@@ -712,12 +712,26 @@
     if (shader) {
         SkShader::GradientInfo info;
         sk_bzero(&info, sizeof(info));
+
+        SkColor colors[3];  // hacked in for extracting info on 3 color case.
+        SkScalar pos[3];    
+
+        info.fColorCount = 3;
+        info.fColors = &colors[0];
+        info.fColorOffsets = &pos[0];
+        
         SkShader::GradientType t = shader->asAGradient(&info);
+
         if (SkShader::kNone_GradientType != t) {
             lua_newtable(L);
             setfield_string(L, "type", gradtype2string(t));
             setfield_number(L, "colorCount", info.fColorCount);
             setfield_string(L, "tile", mode2string(info.fTileMode));
+
+            if (info.fColorCount == 3){
+                setfield_number(L, "midPos", pos[1]);
+            }
+            
             return 1;
         }
     }