summaryrefslogtreecommitdiff
path: root/macros/luatex/generic/barracuda/test/test-libgeo/001-libgeo-test.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/luatex/generic/barracuda/test/test-libgeo/001-libgeo-test.tex')
-rw-r--r--macros/luatex/generic/barracuda/test/test-libgeo/001-libgeo-test.tex48
1 files changed, 48 insertions, 0 deletions
diff --git a/macros/luatex/generic/barracuda/test/test-libgeo/001-libgeo-test.tex b/macros/luatex/generic/barracuda/test/test-libgeo/001-libgeo-test.tex
new file mode 100644
index 0000000000..ec43ad0091
--- /dev/null
+++ b/macros/luatex/generic/barracuda/test/test-libgeo/001-libgeo-test.tex
@@ -0,0 +1,48 @@
+% !TeX program = LuaTeX
+% test for ga-canvas pdfliteral driver
+%
+% Copyright (C) 2019-2022 Roberto Giacomelli
+% see LICENSE.txt file
+
+\newbox\mybox
+\directlua{
+ barracuda = require [[barracuda]]
+ pt = tex.sp [[1pt]] % 1pt = 65536sp
+}
+
+Test 1: test Archive class and Vbar arithmetic:
+
+\medskip
+\directlua{
+ % retrive the Vbar class
+ local libgeo = barracuda:libgeo()
+ local Vbar = libgeo.Vbar
+ % create three Vbar objects
+ local b1 = Vbar:from_int(22556, 2*pt)
+ local b2 = Vbar:from_int(3134563, 2*pt)
+ local b3 = Vbar:from_int(1111111, 2*pt)
+ % retrive the Archive class
+ local Archive = libgeo.Archive
+ % create a new instance of an archive and insert vbars
+ local archive = Archive:new()
+ assert(archive:insert(b1, 1))
+ assert(archive:insert(b2, 2))
+ assert(archive:insert(b3, 3))
+ % fill a queue (an array) two times
+ local queue = assert(archive:get(1)) + 20*pt
+ queue = queue + assert(archive:get(2)) + 20*pt
+ queue = queue + assert(archive:get(3)) + 20*pt
+ queue = queue + assert(archive:get(1)) + 20*pt
+ queue = queue + assert(archive:get(2)) + 20*pt
+ queue = queue + assert(archive:get(3))
+ % retrive a canvas instance
+ local ga = barracuda:new_canvas()
+ % draw the canvas with the driver component
+ assert(ga:encode_vbar_queue(queue, 0, 0, 30*pt))
+ local driver = barracuda:get_driver()
+ driver:ga_to_hbox(ga, [[mybox]])
+}A\box\mybox A
+
+\bye
+
+ \ No newline at end of file