Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(422)

Side by Side Diff: tools/lua/scrape_dashing_full.lua

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

Powered by Google App Engine
This is Rietveld 408576698