aboutsummaryrefslogtreecommitdiffhomepage
path: root/site/user/special/lua.md
blob: 9798273ca9baa88e11651e091348e4a8bb825214 (plain)
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
Skia Lua Bindings
=================

**Warning: The following has only been tested on Mac and Linux, but it will
likely work for any Unix.**

Prerequisites
-------------

This assumes you already have Skia building normally. If not, refer to [How to
build Skia](../build).

Build
-----

To build Lua support into Skia tools, set the GN argument `skia_use_lua` to `true`.
Optionally, set `skia_use_system_lua`.  Then re-run GN.


Try It Out
----------

The tools `lua_app` and `lua_pictures` should now be available when you compile,
and `Viewer` should now have a `Lua` sample.


To-Do
-----

Skia had a feature that let it be imported as an .so by Lua.
This feature is not yet supported by GN, but would have looked something like this:

    $ lua

    Lua 5.2.0  Copyright (C) 1994-2011 Lua.org, PUC-Rio
    > require 'skia'
    > paint = Sk.newPaint()
    > paint:setColor{a=1, r=1, g=0, b=0}
    > doc = Sk.newDocumentPDF('test.pdf')
    > canvas = doc:beginPage(72*8.5, 72*11)
    > canvas:drawText('Hello Lua', 300, 300, paint)
    > doc:close()