forked from google/skia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test.lua
76 lines (62 loc) · 1.88 KB
/
test.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
local r = { left = 10, top = 10, right = 100, bottom = 80 }
local x = 0;
local paint = Sk.newPaint();
paint:setAntiAlias(true);
local image -- = Sk.loadImage('/skia/sailboat.jpg');
function setImageFilename(filename)
image = Sk.loadImage(filename)
end
local color = {a = 1, r = 1, g = 0, b = 0};
function rnd(range)
return math.random() * range;
end
rndX = function () return rnd(640) end
rndY = function () return rnd(480) end
function draw_rand_path(canvas);
if not path_paint then
path_paint = Sk.newPaint();
path_paint:setAntiAlias(true);
end
path_paint:setColor({a = 1, r = math.random(), g = math.random(), b = math.random() });
local path = Sk.newPath();
path:moveTo(rndX(), rndY());
for i = 0, 50 do
path:quadTo(rndX(), rndY(), rndX(), rndY());
end
canvas:drawPath(path, path_paint);
paint:setColor{a=1,r=0,g=0,b=1};
local align = { 'left', 'center', 'right' };
paint:setTextSize(30);
for k, v in next, align do
paint:setTextAlign(v);
canvas:drawText('Hamburgefons', 320, 200 30*k, paint);
end
end
function onStartup()
local paint = Sk.newPaint();
paint:setColor{a=1, r=1, g=0, b=0};
if false then
local doc = Sk.newDocumentPDF('/skia/trunk/test.pdf');
local canvas = doc:beginPage(72*8.5, 72*11);
canvas:drawText('Hello Lua', 300, 300, paint);
doc:close();
doc = nil;
end
end
function onDrawContent(canvas)
draw_rand_path(canvas);
color.g = x / 100;
paint:setColor(color)
canvas:translate(x, 0);
canvas:drawOval(r, paint)
x = x 1;
local r2 = {}
r2.left = x;
r2.top = r.bottom 50;
r2.right = r2.left image:width() * 1;
r2.bottom = r2.top image:height() * 1;
canvas:drawImageRect(image, nil, r2, 0.75);
if x > 200 then x = 0 end;
return true -- so we can animate
end
onStartup()