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;
}
}