/* * Copyright 2013 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include "SkLua.h" #include "SkGraphics.h" #include "SkStream.h" #include "SkData.h" #include "SkOSFile.h" #include <stdlib.h> extern "C" { #include "lua.h" #include "lualib.h" #include "lauxlib.h" } static SkData* read_into_data(const char file[]) { SkData* data = SkData::NewFromFileName(file); if (!data) { data = SkData::NewEmpty(); } return data; } int tool_main(int argc, char** argv); int tool_main(int argc, char** argv) { SkAutoGraphics ag; SkLua L; for (int i = 1; i < argc; ++i) { SkData* data = nullptr; const void* ptr; size_t len; if (!strcmp(argv[i], "--lua") && i < argc-1) { ptr = argv[i + 1]; len = strlen(argv[i + 1]); i += 1; } else { data = read_into_data(argv[i]); ptr = data->data(); len = data->size(); } if (!L.runCode(ptr, len)) { SkDebugf("failed to load %s\n", argv[i]); exit(-1); } SkSafeUnref(data); } return 0; } #if !defined SK_BUILD_FOR_IOS int main(int argc, char * const argv[]) { return tool_main(argc, (char**) argv); } #endif