From ba5fb932a1b5666a861043735cfb055cc1b600c7 Mon Sep 17 00:00:00 2001 From: reed Date: Fri, 10 Oct 2014 15:28:19 -0700 Subject: add drawImageRect to lua, update sample BUG=skia: TBR= Review URL: https://codereview.chromium.org/642353005 --- samplecode/SampleLua.cpp | 131 ++++++++++++++++++++++++----------------------- 1 file changed, 67 insertions(+), 64 deletions(-) (limited to 'samplecode/SampleLua.cpp') diff --git a/samplecode/SampleLua.cpp b/samplecode/SampleLua.cpp index 00a3227d48..b4460c8550 100644 --- a/samplecode/SampleLua.cpp +++ b/samplecode/SampleLua.cpp @@ -19,70 +19,73 @@ extern "C" { static const char gDrawName[] = "onDrawContent"; static const char gCode[] = "" - "require \"math\" " - "" - "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/trunk/sailboat.jpg');" - "" - "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};" - " 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 " - "" - "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;" - " canvas:drawImage(image, x, r.bottom + 50, 0.5);" - " if x > 100 then x = 0 end;" - "end " - "" - "onStartup();"; + "local r = { left = 10, top = 10, right = 100, bottom = 80 } \n" + "local x = 0;\n" + "\n" + "local paint = Sk.newPaint();\n" + "paint:setAntiAlias(true);\n" + "\n" + "local image = Sk.loadImage('/skia/sailboat.jpg');\n" + "\n" + "local color = {a = 1, r = 1, g = 0, b = 0};\n" + "\n" + "function rnd(range) \n" + " return math.random() * range;\n" + "end \n" + "\n" + "rndX = function () return rnd(640) end \n" + "rndY = function () return rnd(480) end \n" + "\n" + "function draw_rand_path(canvas);\n" + " if not path_paint then \n" + " path_paint = Sk.newPaint();\n" + " path_paint:setAntiAlias(true);\n" + " end \n" + " path_paint:setColor({a = 1, r = math.random(), g = math.random(), b = math.random() });\n" + "\n" + " local path = Sk.newPath();\n" + " path:moveTo(rndX(), rndY());\n" + " for i = 0, 50 do \n" + " path:quadTo(rndX(), rndY(), rndX(), rndY());\n" + " end \n" + " canvas:drawPath(path, path_paint);\n" + "\n" + " paint:setColor{a=1,r=0,g=0,b=1};\n" + " local align = { 'left', 'center', 'right' };\n" + " paint:setTextSize(30);\n" + " for k, v in next, align do \n" + " paint:setTextAlign(v);\n" + " canvas:drawText('Hamburgefons', 320, 200 + 30*k, paint);\n" + " end \n" + "end \n" + "\n" + "function onStartup() \n" + " local paint = Sk.newPaint();\n" + " paint:setColor{a=1, r=1, g=0, b=0};\n" + " local doc = Sk.newDocumentPDF('/skia/trunk/test.pdf');\n" + " local canvas = doc:beginPage(72*8.5, 72*11);\n" + " canvas:drawText('Hello Lua', 300, 300, paint);\n" + " doc:close();\n" + " doc = nil;\n" + "end \n" + "\n" + "function onDrawContent(canvas) \n" + " draw_rand_path(canvas);\n" + " color.g = x / 100;\n" + " paint:setColor(color) \n" + " canvas:translate(x, 0);\n" + " canvas:drawOval(r, paint) \n" + " x = x + 1;\n" + " local r2 = {}\n" + " r2.left = x;\n" + " r2.top = r.bottom + 50;\n" + " r2.right = r2.left + image:width() * 0.1;\n" + " r2.bottom = r2.top + image:height() * 0.1;\n" + " canvas:drawImageRect(image, nil, r2, 0.75);\n" + " if x > 100 then x = 0 end;\n" + "end \n" + "\n" + "onStartup();\n"; class LuaView : public SampleView { public: -- cgit v1.2.3