Hi Kashyap, > Rendering graphics is a requirement that I keep running into. While > HTML5/Canvas is perhaps the most portable way to render graphics today but > you have to submit to the restrictions imposed by Javascript in a browser
I do a lot of canvas stuff in PicoLis (not much published though). But there are some articles in picolisp.com, just enter "canvas" in the search field. @lib/canvas.l allows you to write graphics completely in Lisp, and I use it also in some applications together with @lib/gis.l and OpenStreetMap. For a very simple demo, you can try the attached example. ☺/ A!ex
# 09oct18abu # (c) Software Lab. Alexander Burger (allowed () "!home" "@lib.css" ) (scl 6) (load "@lib/http.l" "@lib/xhtml.l" "@lib/form.l" "@lib/math.l" "@lib/gis.l" ) (symbols '(pico gis)) (setq *Osm (cons)) (de home () (and (app) *Port% (redirect (baseHRef) *SesId *Url)) (action (html 0 "OpenLayers" "@lib.css" NIL (form NIL (<osm> 138.490790 190.849132 19 '((Lat Lon) # Click (msg (cons Lat Lon)) ) ) (<poi> 138.490790 190.849132 "@img/go.png" "0.1" "1.0" "NW-Ecke" -20 "black" "http://software-lab.de" '((Txt Lat Lon) # Drag (set> (: txt) Txt) (set> (: lat) Lat) (set> (: lon) Lon) ) ) (<poi> 138.490744 190.849328 "@img/go.png" "0.1" "1.0" "SE-Ecke" -20 "black" ) (<poi> 138.491698 190.852213 "@img/go.png" "0.1" "1.0" "Sonnenstraße" -20 "black" ) (<line> "red" 138.490790 190.849132 138.490744 190.849328 ) (--) (gui 'txt '(+Lock +TextField) 11) (gui 'lat '(+Lock +LatField) 11) (gui 'lon '(+Lock +LonField) 11) ) ) ) ) (de main () (symbols '(pico gis)) ) (de go () (server 8080 "!home") ) # vi:et:ts=3:sw=3