OLD | NEW |
---|---|
(Empty) | |
1 Skia Lua Bindings | |
2 ================= | |
3 | |
4 **Warning: The following has only been tested on Linux, but it will likely | |
5 work for any Unix.** | |
6 | |
7 Prerequisites | |
8 ------------- | |
9 | |
10 This assumes one already has Skia building normally. If not, refer to the | |
11 quick start guides. In addition to that, you will need Lua 5.2 installed on | |
12 your system in order to use the bindings. | |
13 | |
14 Building lua requires the readline development library. If missing this can be i nstalled (on Ubuntu) by executing: | |
15 | |
16 * `apt-cache search libreadline` to see the available libreadline libraries | |
17 * `sudo apt-get install libreadline6 libreadline6-dev` to actually install the libraries | |
18 | |
19 Build | |
20 ----- | |
21 | |
22 The build process starts the same way as described in the quick starts, but | |
23 before using gyp or make, do this instead: | |
24 | |
25 $ export GYP_DEFINES="skia_shared_lib=1" | |
26 $ make tools | |
27 | |
28 This tells Skia to build as a shared library, which enables a build of another s hared library called skia.so that exposes Skia bindings to Lua. | |
29 | |
30 Try It Out | |
31 ---------- | |
32 | |
33 Once the build is complete, use the same terminal: | |
34 | |
35 $ cd out/Debug/ | |
36 $ lua | |
37 | |
38 Lua 5.2.0 Copyright (C) 1994-2011 Lua.org, PUC-Rio | |
39 > require 'skia' | |
40 > paint = Sk.newPaint() | |
41 > paint:setColor{a=1, r=1, g=0, b=0} | |
42 > doc = Sk.newDocumentPDF('test.pdf') | |
43 > canvas = doc:beginPage(72*8.5, 72*11) | |
44 > canvas:drawText('Hello Lua', 300, 300, paint) | |
45 > doc:close() | |
46 | |
47 The key part to loading the bindings is `require 'skia'` which tells lua to look | |
48 for skia.so in the current directory (among many others) and provides the | |
49 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
| |
50 in our case the lib.target directory. libskia.so is what contains the native | |
51 skia code. The script shown above uses skia to draw Hello Lua in red text onto | |
52 a pdf that will be outputted into the current folder as test.pdf. Go ahead and | |
53 open test.pdf to confirm that everything is working. | |
54 | |
OLD | NEW |