You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.8 KiB
60 lines
1.8 KiB
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
|
|
|