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. |
+ |