diff options
-rwxr-xr-x | demo.lua | 18 | ||||
-rw-r--r-- | marigold.lua | 9 | ||||
-rw-r--r-- | output.svg | 5 |
3 files changed, 31 insertions, 1 deletions
diff --git a/demo.lua b/demo.lua new file mode 100755 index 0000000..9c8dd34 --- /dev/null +++ b/demo.lua @@ -0,0 +1,18 @@ +#!/usr/bin/env lua5.1 + +local svg = require 'marigold' + + +local img = svg.svg{ + style = 'fill=#bbbbbbff', + width = '100mm', + height = '100mm', + + svg.rect{ x=0, y=0, width='100mm', height='100mm', style='fill: #ff0000ff' }, + svg.text('hello c:', { x=10, y=10, style='font-family: Verdana' }), +} + + +local f = io.open('output.svg', 'w') +f:write(svg.render(img)) +f:close() diff --git a/marigold.lua b/marigold.lua index 9daa808..a5b1c75 100644 --- a/marigold.lua +++ b/marigold.lua @@ -104,6 +104,7 @@ local function render_internal(tbl, indent_level) children, indent, close) end +marigold.prerender = render_internal marigold.render = function(tbl) local str = render_internal(tbl, 0) @@ -171,7 +172,13 @@ marigold.rect = function(tbl) end -marigold.text = function(tbl) +marigold.text = function(content, tbl) + local tag, err = maketag( + 'text', content, tbl, + { 'lengthAdjust', 'x', 'y', 'dx', 'dy', 'rotate', 'textLength' } + ) + if err then error(err) end + return tag end diff --git a/output.svg b/output.svg new file mode 100644 index 0000000..84c6fb0 --- /dev/null +++ b/output.svg @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg height="100mm" width="100mm" style="fill=#bbbbbbff" xmlns="http://www.w3.org/2000/svg"> + <rect y="0" x="0" style="fill: #ff0000ff" height="100mm" width="100mm"></rect> + <text y="10" x="10" style="font-family: Verdana">hello c:</text> +</svg>
\ No newline at end of file |