109445a4f7fe6c8cd8cfe172ce160af7007738490reed 209445a4f7fe6c8cd8cfe172ce160af7007738490reedlocal r = { left = 10, top = 10, right = 100, bottom = 80 } 309445a4f7fe6c8cd8cfe172ce160af7007738490reedlocal x = 0; 409445a4f7fe6c8cd8cfe172ce160af7007738490reed 509445a4f7fe6c8cd8cfe172ce160af7007738490reedlocal paint = Sk.newPaint(); 609445a4f7fe6c8cd8cfe172ce160af7007738490reedpaint:setAntiAlias(true); 709445a4f7fe6c8cd8cfe172ce160af7007738490reed 809445a4f7fe6c8cd8cfe172ce160af7007738490reedlocal image -- = Sk.loadImage('/skia/sailboat.jpg'); 909445a4f7fe6c8cd8cfe172ce160af7007738490reedfunction setImageFilename(filename) 1009445a4f7fe6c8cd8cfe172ce160af7007738490reed image = Sk.loadImage(filename) 1109445a4f7fe6c8cd8cfe172ce160af7007738490reedend 1209445a4f7fe6c8cd8cfe172ce160af7007738490reed 1309445a4f7fe6c8cd8cfe172ce160af7007738490reed 1409445a4f7fe6c8cd8cfe172ce160af7007738490reedlocal color = {a = 1, r = 1, g = 0, b = 0}; 1509445a4f7fe6c8cd8cfe172ce160af7007738490reed 1609445a4f7fe6c8cd8cfe172ce160af7007738490reedfunction rnd(range) 1709445a4f7fe6c8cd8cfe172ce160af7007738490reed return math.random() * range; 1809445a4f7fe6c8cd8cfe172ce160af7007738490reedend 1909445a4f7fe6c8cd8cfe172ce160af7007738490reed 2009445a4f7fe6c8cd8cfe172ce160af7007738490reedrndX = function () return rnd(640) end 2109445a4f7fe6c8cd8cfe172ce160af7007738490reedrndY = function () return rnd(480) end 2209445a4f7fe6c8cd8cfe172ce160af7007738490reed 2309445a4f7fe6c8cd8cfe172ce160af7007738490reedfunction draw_rand_path(canvas); 2409445a4f7fe6c8cd8cfe172ce160af7007738490reed if not path_paint then 2509445a4f7fe6c8cd8cfe172ce160af7007738490reed path_paint = Sk.newPaint(); 2609445a4f7fe6c8cd8cfe172ce160af7007738490reed path_paint:setAntiAlias(true); 2709445a4f7fe6c8cd8cfe172ce160af7007738490reed end 2809445a4f7fe6c8cd8cfe172ce160af7007738490reed path_paint:setColor({a = 1, r = math.random(), g = math.random(), b = math.random() }); 2909445a4f7fe6c8cd8cfe172ce160af7007738490reed 3009445a4f7fe6c8cd8cfe172ce160af7007738490reed local path = Sk.newPath(); 3109445a4f7fe6c8cd8cfe172ce160af7007738490reed path:moveTo(rndX(), rndY()); 3209445a4f7fe6c8cd8cfe172ce160af7007738490reed for i = 0, 50 do 3309445a4f7fe6c8cd8cfe172ce160af7007738490reed path:quadTo(rndX(), rndY(), rndX(), rndY()); 3409445a4f7fe6c8cd8cfe172ce160af7007738490reed end 3509445a4f7fe6c8cd8cfe172ce160af7007738490reed canvas:drawPath(path, path_paint); 3609445a4f7fe6c8cd8cfe172ce160af7007738490reed 3709445a4f7fe6c8cd8cfe172ce160af7007738490reed paint:setColor{a=1,r=0,g=0,b=1}; 3809445a4f7fe6c8cd8cfe172ce160af7007738490reed local align = { 'left', 'center', 'right' }; 3909445a4f7fe6c8cd8cfe172ce160af7007738490reed paint:setTextSize(30); 4009445a4f7fe6c8cd8cfe172ce160af7007738490reed for k, v in next, align do 4109445a4f7fe6c8cd8cfe172ce160af7007738490reed paint:setTextAlign(v); 4209445a4f7fe6c8cd8cfe172ce160af7007738490reed canvas:drawText('Hamburgefons', 320, 200 + 30*k, paint); 4309445a4f7fe6c8cd8cfe172ce160af7007738490reed end 4409445a4f7fe6c8cd8cfe172ce160af7007738490reedend 4509445a4f7fe6c8cd8cfe172ce160af7007738490reed 4609445a4f7fe6c8cd8cfe172ce160af7007738490reedfunction onStartup() 4709445a4f7fe6c8cd8cfe172ce160af7007738490reed local paint = Sk.newPaint(); 4809445a4f7fe6c8cd8cfe172ce160af7007738490reed paint:setColor{a=1, r=1, g=0, b=0}; 4909445a4f7fe6c8cd8cfe172ce160af7007738490reed if false then 5009445a4f7fe6c8cd8cfe172ce160af7007738490reed local doc = Sk.newDocumentPDF('/skia/trunk/test.pdf'); 5109445a4f7fe6c8cd8cfe172ce160af7007738490reed local canvas = doc:beginPage(72*8.5, 72*11); 5209445a4f7fe6c8cd8cfe172ce160af7007738490reed canvas:drawText('Hello Lua', 300, 300, paint); 5309445a4f7fe6c8cd8cfe172ce160af7007738490reed doc:close(); 5409445a4f7fe6c8cd8cfe172ce160af7007738490reed doc = nil; 5509445a4f7fe6c8cd8cfe172ce160af7007738490reed end 5609445a4f7fe6c8cd8cfe172ce160af7007738490reedend 5709445a4f7fe6c8cd8cfe172ce160af7007738490reed 5809445a4f7fe6c8cd8cfe172ce160af7007738490reedfunction onDrawContent(canvas) 5909445a4f7fe6c8cd8cfe172ce160af7007738490reed draw_rand_path(canvas); 6009445a4f7fe6c8cd8cfe172ce160af7007738490reed color.g = x / 100; 6109445a4f7fe6c8cd8cfe172ce160af7007738490reed paint:setColor(color) 6209445a4f7fe6c8cd8cfe172ce160af7007738490reed canvas:translate(x, 0); 6309445a4f7fe6c8cd8cfe172ce160af7007738490reed canvas:drawOval(r, paint) 6409445a4f7fe6c8cd8cfe172ce160af7007738490reed x = x + 1; 6509445a4f7fe6c8cd8cfe172ce160af7007738490reed local r2 = {} 6609445a4f7fe6c8cd8cfe172ce160af7007738490reed r2.left = x; 6709445a4f7fe6c8cd8cfe172ce160af7007738490reed r2.top = r.bottom + 50; 6809445a4f7fe6c8cd8cfe172ce160af7007738490reed r2.right = r2.left + image:width() * 1; 6909445a4f7fe6c8cd8cfe172ce160af7007738490reed r2.bottom = r2.top + image:height() * 1; 7009445a4f7fe6c8cd8cfe172ce160af7007738490reed canvas:drawImageRect(image, nil, r2, 0.75); 7109445a4f7fe6c8cd8cfe172ce160af7007738490reed if x > 200 then x = 0 end; 7218ea777638f1494b068ba4ca1a5d6725a0e80cf1reed 7318ea777638f1494b068ba4ca1a5d6725a0e80cf1reed return true -- so we can animate 7409445a4f7fe6c8cd8cfe172ce160af7007738490reedend 7509445a4f7fe6c8cd8cfe172ce160af7007738490reed 7609445a4f7fe6c8cd8cfe172ce160af7007738490reedonStartup() 77