aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/lua/lua_pictures.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lua/lua_pictures.cpp')
-rw-r--r--tools/lua/lua_pictures.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/tools/lua/lua_pictures.cpp b/tools/lua/lua_pictures.cpp
index ae4e1cabda..ca28f24388 100644
--- a/tools/lua/lua_pictures.cpp
+++ b/tools/lua/lua_pictures.cpp
@@ -30,10 +30,10 @@ static const char gSummarizeFunc[] = "sk_scrape_summarize";
// PictureRenderingFlags.cpp
extern bool lazy_decode_bitmap(const void* buffer, size_t size, SkBitmap*);
-
-// Flags used by this file, alphabetically:
DEFINE_string2(skpPath, r, "", "Read .skp files from this dir");
DEFINE_string2(luaFile, l, "", "File containing lua script to run");
+DEFINE_string2(headCode, s, "", "Optional lua code to call at beginning");
+DEFINE_string2(tailFunc, s, "", "Optional lua function to call at end");
static SkPicture* load_picture(const char path[]) {
SkAutoTUnref<SkStream> stream(SkStream::NewFromFile(path));
@@ -91,8 +91,13 @@ int tool_main(int argc, char** argv) {
exit(-1);
}
+ const char* summary = gSummarizeFunc;
+ if (!FLAGS_tailFunc.isEmpty()) {
+ summary = FLAGS_tailFunc[0];
+ }
+
SkAutoGraphics ag;
- SkLua L(gSummarizeFunc);
+ SkLua L(summary);
for (int i = 0; i < FLAGS_luaFile.count(); ++i) {
SkAutoDataUnref data(read_into_data(FLAGS_luaFile[i]));
@@ -103,6 +108,10 @@ int tool_main(int argc, char** argv) {
}
}
+ if (!FLAGS_headCode.isEmpty()) {
+ L.runCode(FLAGS_headCode[0]);
+ }
+
for (int i = 0; i < FLAGS_skpPath.count(); i ++) {
SkOSFile::Iter iter(FLAGS_skpPath[i], "skp");
SkString inputFilename;