diff options
author | humper@google.com <humper@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-07-10 22:42:30 +0000 |
---|---|---|
committer | humper@google.com <humper@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-07-10 22:42:30 +0000 |
commit | 2815c19c4d52f0fb522e21d1938d63e01c039124 (patch) | |
tree | 56192917aac1df3866f41499b68bd390a020351e /tools/lua | |
parent | cdad30b35ac0c0b2fa0e1105021f880b49b0ac38 (diff) |
add matrix objects to the lua bindings, as well as a lua script to find the proportion of image draw commands with different kinds of matrices
git-svn-id: http://skia.googlecode.com/svn/trunk@9986 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'tools/lua')
-rw-r--r-- | tools/lua/find_rotated_bitmaps.lua | 71 | ||||
-rw-r--r-- | tools/lua/skia.lua | 9 |
2 files changed, 80 insertions, 0 deletions
diff --git a/tools/lua/find_rotated_bitmaps.lua b/tools/lua/find_rotated_bitmaps.lua new file mode 100644 index 0000000000..9886e21308 --- /dev/null +++ b/tools/lua/find_rotated_bitmaps.lua @@ -0,0 +1,71 @@ +function string.startsWith(String,Start) + return string.sub(String,1,string.len(Start))==Start +end + +function string.endsWith(String,End) + return End=='' or string.sub(String,-string.len(End))==End +end + +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 + +local canvas = nil +local num_perspective_bitmaps = 0 +local num_affine_bitmaps = 0 +local num_scaled_bitmaps = 0 +local num_translated_bitmaps = 0 +local num_identity_bitmaps = 0 + +function sk_scrape_startcanvas(c, fileName) + canvas = c +end + +function sk_scrape_endcanvas(c, fileName) + canvas = nil +end + +function sk_scrape_accumulate(t) + -- dump the params in t, specifically showing the verb first, which we + -- then nil out so it doesn't appear in tostr() + if (string.startsWith(t.verb,"drawBitmap")) then + matrix = canvas:getTotalMatrix() + matrixType = matrix:getType() + if matrixType.perspective then + num_perspective_bitmaps = num_perspective_bitmaps + 1 + elseif matrixType.affine then + num_affine_bitmaps = num_affine_bitmaps + 1 + elseif matrixType.scale then + num_scaled_bitmaps = num_scaled_bitmaps + 1 + elseif matrixType.translate then + num_translated_bitmaps = num_translated_bitmaps + 1 + else + num_identity_bitmaps = num_identity_bitmaps + 1 + end + end +end + +function sk_scrape_summarize() + io.write( "identity = ", num_identity_bitmaps, + ", translated = ", num_translated_bitmaps, + ", scaled = ", num_scaled_bitmaps, + ", affine = ", num_affine_bitmaps, + ", perspective = ", num_perspective_bitmaps) +end + diff --git a/tools/lua/skia.lua b/tools/lua/skia.lua index fe738d1880..e15e122703 100644 --- a/tools/lua/skia.lua +++ b/tools/lua/skia.lua @@ -1,5 +1,14 @@ -- Experimental helpers for skia -- +function string.startsWith(String,Start) + return string.sub(String,1,string.len(Start))==Start +end + +function string.endsWith(String,End) + return End=='' or string.sub(String,-string.len(End))==End +end + + Sk = {} function Sk.isFinite(x) |