1b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orglocal canvas -- holds the current canvas (from startcanvas()) 2b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 3b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org--[[ 4b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org startcanvas() is called at the start of each picture file, passing the 5b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org canvas that we will be drawing into, and the name of the file. 6b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 7b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org Following this call, there will be some number of calls to accumulate(t) 8b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org where t is a table of parameters that were passed to that draw-op. 9b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 10b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org t.verb is a string holding the name of the draw-op (e.g. "drawRect") 11b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 12b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org when a given picture is done, we call endcanvas(canvas, fileName) 13b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org]] 14b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgfunction sk_scrape_startcanvas(c, fileName) 15b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org canvas = c 16b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgend 17b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 18b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org--[[ 19b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org Called when the current canvas is done drawing. 20b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org]] 21b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgfunction sk_scrape_endcanvas(c, fileName) 22b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org canvas = nil 23b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgend 24b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 25b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org--[[ 26b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org Use to initialize all keys passed in keyTable to zero in table. 27b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org Useful so that keys that are never get incremented still output zero at end 28b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org]] 29b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgfunction resetTableKeys(table, keyTable) 30b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org for k, v in next, keyTable do 31b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org table[v] = 0 32b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org end 33b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgend 34b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 35b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgfunction increment(table, key) 36b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org table[key] = (table[key] or 0) + 1 37b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgend 38b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 39b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orglocal dashCount = 0 40b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 41b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orglocal total_found = {} 42b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orglocal drawPoints_count = {} 43b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orglocal drawPoints_direction = {} 44b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgresetTableKeys(drawPoints_direction, {"hori", "vert", "other"}) 45b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orglocal dashInterval_count = {} 46b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orglocal dashInterval_pattern = {} 47b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgresetTableKeys(dashInterval_pattern, {"one_one", "zero_on", "other"}) 48b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orglocal dash_phase = {} 49b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgresetTableKeys(dash_phase, {"zero", "other"}) 50b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orglocal dash_cap = {} 51b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgresetTableKeys(dash_cap, {"butt", "round", "square"}) 52b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 53b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orglocal dashTable = {} 54b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgdashTable.total_found = total_found 55b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgdashTable.drawPoints_count = drawPoints_count 56b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgdashTable.drawPoints_direction = drawPoints_direction 57b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgdashTable.dashInterval_count = dashInterval_count 58b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgdashTable.dashInterval_pattern = dashInterval_pattern 59b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgdashTable.dash_phase = dash_phase 60b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgdashTable.dash_cap = dash_cap 61b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 62b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgfunction sk_scrape_accumulate(t) 63b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org local p = t.paint 64b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org if p then 65b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org local pe = p:getPathEffect() 66b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org if pe then 67b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org local de = pe:asADash() 68b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org if de then 69b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org dashCount = dashCount + 1 70b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org increment(total_found, t.verb); 71b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org increment(dashInterval_count, #de.intervals) 72b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org if 2 == #de.intervals then 73b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org if 1 == de.intervals[1] and 1 == de.intervals[2] then 74b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org increment(dashInterval_pattern, "one_one") 75b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org elseif 0 == de.intervals[1] then 76b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org increment(dashInterval_pattern, "zero_on") 77b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org else 78b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org increment(dashInterval_pattern, "other") 79b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org end 80b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org end 81b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 82b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org if 0 == de.phase then 83b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org increment(dash_phase, "zero") 84b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org else 85b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org increment(dash_phase, "other") 86b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org end 87b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 88b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org local cap = p:getStrokeCap() 89b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org if 0 == cap then 90b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org increment(dash_cap, "butt") 91b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org elseif 1 == cap then 92b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org increment(dash_cap, "round") 93b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org else 94b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org increment(dash_cap, "square") 95b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org end 96b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 97b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org if "drawPoints" == t.verb then 98b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org local points = t.points 99b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org increment(drawPoints_count, #points) 100b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org if 2 == #points then 101b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org if points[1].y == points[2].y then 102b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org increment(drawPoints_direction, "hori") 103b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org elseif points[1].x == points[2].x then 104b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org increment(drawPoints_direction, "vert") 105b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org else 106b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org increment(drawPoints_direction, "other") 107b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org end 108b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org end 109b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org end 110b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 111b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org --[[ 112b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org eventually would like to print out info on drawPath verbs with dashed effect 113b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org ]] 114b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org if "drawPath" == t.verb then 115b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org end 116b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 117b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org end 118b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org end 119b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org end 120b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgend 121b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 122b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org--[[ 123b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org lua_pictures will call this function after all of the pictures have been 124b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org "accumulated". 125b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org]] 126b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgfunction sk_scrape_summarize() 127b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org-- use for non telemetry 128b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org--[[ 129b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org io.write("Total dashed effects is: ", dashCount, "\n"); 130b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org for k1, v1 in next, dashTable do 131b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org io.write("\nTable: ", k1, "\n") 132b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org for k, v in next, v1 do 133b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org io.write("\"", k, "\": ", v, "\n") 134b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org end 135b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org end 136b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org]] 137b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 138b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org-- use for telemetry 139b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org io.write("\ndashCount = dashCount + ", tostring(dashCount), "\n") 140b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org for k1, v1 in next, dashTable do 141b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org for k, v in next, v1 do 142b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org io.write("\nincrement(dashTable, \"", k1, "\", \"", k, "\", ", v, ")\n") 143b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org end 144b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org end 145b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.orgend 146b3b0cfc4d4c72e0b5f0ab2e53c1e2213e0b4ce90commit-bot@chromium.org 147