aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/lua/bitmap_statistics.lua
diff options
context:
space:
mode:
authorGravatar humper@google.com <humper@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-07-26 15:23:43 +0000
committerGravatar humper@google.com <humper@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-07-26 15:23:43 +0000
commit0f48ee0a07aa50ab60bfff3c2718b9649e3639ea (patch)
tree4876c68ff0988e2284eb7e67542b98cb57a095ed /tools/lua/bitmap_statistics.lua
parentc074ff502096814dfc54e986077e7f1a78ed688b (diff)
add more stats to the bitmap matrix locator
BUG= R=reed@google.com Review URL: https://codereview.chromium.org/19091006 git-svn-id: http://skia.googlecode.com/svn/trunk@10392 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'tools/lua/bitmap_statistics.lua')
-rw-r--r--tools/lua/bitmap_statistics.lua59
1 files changed, 59 insertions, 0 deletions
diff --git a/tools/lua/bitmap_statistics.lua b/tools/lua/bitmap_statistics.lua
new file mode 100644
index 0000000000..4ac8d9385f
--- /dev/null
+++ b/tools/lua/bitmap_statistics.lua
@@ -0,0 +1,59 @@
+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
+
+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
+local num_scaled_up = 0
+local num_scaled_down = 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
+ if matrix:getScaleX() > 1 or matrix:getScaleY() > 1 then
+ num_scaled_up = num_scaled_up + 1
+ else
+ num_scaled_down = num_scaled_down + 1
+ end
+ 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, " (up = ", num_scaled_up, "; down = ", num_scaled_down, ")",
+ ", affine = ", num_affine_bitmaps,
+ ", perspective = ", num_perspective_bitmaps,
+ "\n")
+end
+