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

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

Issue 2140293002: Fix Lua bugs, nit name change (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 5 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 | « no previous file | 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
1 function sk_scrape_startcanvas(c, fileName) end 1 function sk_scrape_startcanvas(c, fileName) end
2 function sk_scrape_endcanvas(c, fileName) end 2 function sk_scrape_endcanvas(c, fileName) end
3 3
4 SkScalarNearlyZero = 1.0 / bit32.lshift(1.0, 12) 4 LuaDoubleNearlyZero = 1.0 / bit32.lshift(1.0, 12)
5 5
6 function SkScalarNearlyEqual(a, b) 6 function LuaDoubleNearlyEqual(a, b)
7 return math.abs(a,b) <= SkScalarNearlyZero 7 return math.abs(a-b) <= LuaDoubleNearlyZero
8 end 8 end
9 9
10 gradients = {} 10 gradients = {}
11 11
12 i = 1 12 i = 1
13 13
14 function sk_scrape_accumulate(t) 14 function sk_scrape_accumulate(t)
15 local p = t.paint 15 local p = t.paint
16 if p then 16 if p then
17 local s = p:getShader() 17 local s = p:getShader()
18 if s then 18 if s then
19 local g = s:asAGradient() 19 local g = s:asAGradient()
20 if g then 20 if g then
21 gradients[i] = {} 21 gradients[i] = {}
22 22
23 gradients[i].colorCount = g.colorCount 23 gradients[i].colorCount = g.colorCount
24 gradients[i].type = g.type 24 gradients[i].type = g.type
25 gradients[i].tile = g.tile 25 gradients[i].tile = g.tile
26 26
27 numHardStops = 0
28 isEvenlySpaced = true 27 isEvenlySpaced = true
29 for j = 2, g.colorCount, 1 do 28 for j = 1, g.colorCount, 1 do
30 if not SkScalarNearlyEqual(g.positions[j], j/(g.colorCount-1 )) then 29 if not LuaDoubleNearlyEqual(g.positions[j], (j-1)/(g.colorCo unt-1)) then
31 isEvenlySpaced = false 30 isEvenlySpaced = false
32 end 31 end
32 end
33 gradients[i].isEvenlySpaced = isEvenlySpaced
33 34
34 if SkScalarNearlyEqual(g.positions[j], g.positions[j-1]) the n 35 numHardStops = 0
36 for j = 2, g.colorCount, 1 do
37 if LuaDoubleNearlyEqual(g.positions[j], g.positions[j-1]) th en
35 numHardStops = numHardStops + 1 38 numHardStops = numHardStops + 1
36 end 39 end
37 end 40 end
38 41 gradients[i].numHardStops = numHardStops;
39 gradients[i].isEvenlySpaced = isEvenlySpaced
40 gradients[i].numHardStops = numHardStops;
41 42
42 gradients[i].positions = {} 43 gradients[i].positions = {}
43 for j = 1, g.colorCount, 1 do 44 for j = 1, g.colorCount, 1 do
44 gradients[i].positions[j] = g.positions[j] 45 gradients[i].positions[j] = g.positions[j]
45 end 46 end
46 47
47 i = i + 1 48 i = i + 1
48 end 49 end
49 end 50 end
50 end 51 end
(...skipping 12 matching lines...) Expand all
63 io.write(string.format("%d %s %s %d %d %s\n", 64 io.write(string.format("%d %s %s %d %d %s\n",
64 v.colorCount, 65 v.colorCount,
65 v.type, 66 v.type,
66 v.tile, 67 v.tile,
67 tonumber(v.isEvenlySpaced and 1 or 0), 68 tonumber(v.isEvenlySpaced and 1 or 0),
68 v.numHardStops, 69 v.numHardStops,
69 pos)) 70 pos))
70 end 71 end
71 end 72 end
72 73
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698