| 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..448d8b9b13fc983f1b77202dd7449adc267ec95f
|
| --- /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
|
| +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.
|
| +
|
|
|