Chromium Code Reviews| Index: site/user/special/lua.md |
| diff --git a/site/user/special/lua.md b/site/user/special/lua.md |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..306b8f85e47535ed5d26cbda61152a84419c3f72 |
| --- /dev/null |
| +++ b/site/user/special/lua.md |
| @@ -0,0 +1,54 @@ |
| +Skia Lua Bindings |
| +================= |
| + |
| +**Warning: The following has only been tested on Linux, but it will likely |
| +work for any Unix.** |
| + |
| +Prerequisites |
| +------------- |
| + |
| +This assumes one already has Skia building normally. If not, refer to the |
| +quick start guides. In addition to that, you will need Lua 5.2 installed on |
| +your system in order to use the bindings. |
| + |
| +Building lua requires the readline development library. If missing this can be installed (on Ubuntu) by executing: |
| + |
| + * `apt-cache search libreadline` to see the available libreadline libraries |
| + * `sudo apt-get install libreadline6 libreadline6-dev` to actually install the libraries |
| + |
| +Build |
| +----- |
| + |
| +The build process starts the same way as described in the quick starts, but |
| +before using gyp or make, do this instead: |
| + |
| + $ export GYP_DEFINES="skia_shared_lib=1" |
| + $ make tools |
| + |
| +This tells Skia to build as a shared library, which enables a build of another shared library called skia.so that exposes Skia bindings to Lua. |
| + |
| +Try It Out |
| +---------- |
| + |
| +Once the build is complete, use the same terminal: |
| + |
| + $ cd out/Debug/ |
| + $ 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() |
| + |
| +The key part to loading the bindings is `require 'skia'` which tells lua to look |
| +for skia.so in the current directory (among many others) and provides the |
| +bindings. skia.so in turn will load libskia.so from the current directory or |
|
jcgregorio
2015/01/07 13:53:23
`libskia.so` for each instance of libskia.so
same
|
| +in our case the lib.target directory. libskia.so is what contains the native |
| +skia code. The script shown above uses skia to draw Hello Lua in red text onto |
| +a pdf that will be outputted into the current folder as test.pdf. Go ahead and |
| +open test.pdf to confirm that everything is working. |
| + |