| function tostr(t) | |
| local str = "" | |
| for k, v in next, t do | |
| if #str > 0 then | |
| str = str .. ", " | |
| end | |
| if type(k) == "number" then | |
| str = str .. "[" .. k .. "] = " | |
| else | |
| str = str .. tostring(k) .. " = " | |
| end | |
| if type(v) == "table" then | |
| str = str .. "{ " .. tostr(v) .. " }" | |
| else | |
| str = str .. tostring(v) | |
| end | |
| end | |
| return str | |
| end | |
| function sk_scrape_startcanvas(c, fileName) end | |
| function sk_scrape_endcanvas(c, fileName) end | |
| local effects = {} | |
| function count_fields(t) | |
| for k, v in next, t do | |
| effects[k] = (effects[k] or 0) + 1 | |
| end | |
| end | |
| local total_paints = 0; | |
| function sk_scrape_accumulate(t) | |
| if (t.paint) then | |
| total_paints = total_paints + 1 | |
| count_fields(t.paint:getEffects()) | |
| end | |
| end | |
| function sk_scrape_summarize() | |
| io.write("total paints ", total_paints, " ", tostr(effects), "\n"); | |
| end | |