summaryrefslogtreecommitdiffstats
path: root/virtual-programs
diff options
context:
space:
mode:
authorOmar Rizwan <omar@omar.website>2022-12-04 21:09:31 +0000
committerOmar Rizwan <omar@omar.website>2022-12-04 21:09:31 +0000
commitfc29b8e289e46439d7b92b9c2d4d8284472298c2 (patch)
treeab323f9c2ddf97fe2a2a6df6246356eded7c382c /virtual-programs
parentAdd esc-restart.folk (diff)
downloadfolk-fc29b8e289e46439d7b92b9c2d4d8284472298c2.tar.gz
folk-fc29b8e289e46439d7b92b9c2d4d8284472298c2.zip
Move print.folk to use new C FFI -- eliminates critcl!
Diffstat (limited to 'virtual-programs')
-rw-r--r--virtual-programs/print.folk15
1 files changed, 6 insertions, 9 deletions
diff --git a/virtual-programs/print.folk b/virtual-programs/print.folk
index 5839977f..6acdaab8 100644
--- a/virtual-programs/print.folk
+++ b/virtual-programs/print.folk
@@ -1,25 +1,22 @@
Wish $this has filename "print.folk"
-package require critcl
source "pi/critclUtils.tcl"
-critcl::tcl 8.6
+set cc [c create]
if {[info hostname] != "scoriae.local"} {
- critcl::cflags -I$::env(HOME)/apriltag -Wall -Werror
- critcl::clibraries $::env(HOME)/apriltag/libapriltag.a
+ $cc cflags -I$::env(HOME)/apriltag -Wall -Werror $::env(HOME)/apriltag/libapriltag.a
} else {
- critcl::cflags -I/Users/osnr/aux/apriltag -Wall -Werror
- critcl::clibraries /Users/osnr/aux/apriltag/libapriltag.a
+ $cc cflags -I/Users/osnr/aux/apriltag -Wall -Werror /Users/osnr/aux/apriltag/libapriltag.a
}
-critcl::ccode {
+$cc code {
#include <apriltag.h>
#include <tagStandard52h13.h>
apriltag_family_t *tf = NULL;
#define emit(...) i += sprintf(&ret[i], __VA_ARGS__)
}
-livecproc tagImageForId {int id} string {
+$cc proc tagImageForId {int id} char* {
if (tf == NULL) tf = tagStandard52h13_create();
image_u8_t* image = apriltag_to_image(tf, id);
@@ -47,7 +44,7 @@ livecproc tagImageForId {int id} string {
image_u8_destroy(image);
return ret;
}
-tagImageForId 1
+$cc compile
proc programToPs {id text} {
set PageWidth 612; set PageHeight 792