PNG  IHDR!@ PLTE>O`jqv tEXtPage
pngenerator.scm - metalympiada
git clone git://metalympiada.org/
Log | Files | README | LICENSE

pngenerator.scm (607B)


   1 (define-module (pngenerator)
   2     #:export (pngenerate))
   3 (use-modules (system foreign))
   4 
   5 (define pngenerator (dynamic-link "pngenerator"))
   6 
   7 (define (pngenerate text background-color foreground-color)
   8   (let* ((slice-type (list '* size_t size_t))
   9          (f (pointer->procedure slice-type
  10                                 (dynamic-func "pngenerate" pngenerator)
  11                                 (list '* uint32 uint32)))
  12          (ret (parse-c-struct (f (string->pointer text) background-color foreground-color)
  13                               slice-type)))
  14         (pointer->bytevector (car ret) (cadr ret)))
  15 )
;UIDATxo#Gvǫ,91>8@7A[jC`(@r!i9dQ !- h%AS$ͯ^7IcB?]U{/5?ϓu kњV. r隀GzVlh=Rx= ZfPZ^ zc!Q=kQ4kQHS:vԁbuTf5(=iwe;57*\V6t$8fֽU2>q"`Yu , VH% L+Q8VHW@Wt'!mAբS-Hx^jf\uE\p V3{Aޖ)+ۂ:bSvw ?t[JvD O3 6 z&wWljdH-V0& Z]9.˨6Z9旑V\V0Z d<(^B3'`_9~ ށV+RQ߇$QI(rz`y6f2dUA.]6b(>]0@gK L=c }cIi BĒe|cfHX@v5n$8KN=J- jI#|x9wPmVUx@ @5\6ZaD:Ƒʙ* cKRSxKT^RƷc.(C=' h% N r0Y*?v 4Մ+(\o (c7i R魮8Yg@+2rəI?Āmv̦V3(C&X&? I }KAj8jHX6"d+Β 7E"p[cm%6-uMY+~& -7r 41(܏T@A] 碕V| wsh;-J&]R ނfPD[v0. 0a&uOzQƓPl+#\ArxF:{E=Jހb "- `:f͹aTCnoA38\s=P)Cg"dw7`k@bvwqbʎ#uȟ4 {ydh- oj2L Aw띦 )P&}Y%!gLMHX̛dΠ󣤇 !aH1|Ń .<3 _wT ]0Hַ-"Uk-R^^. ^dB';Nܥvrw0_]h9 mNCim]n;}-?{k's)NukmpÛfp۠V5C3th`N{Mhjfhj{ۘ'Gh__*ʴl1 {i"6:C ut {D8 0Q>; 'p GVԼ wuZUpQ:~j3[ճg({&7XWU~j ({ (K3# GU +V-LVjḧ z=Y 3}UmI]1wWp ARQ|cТ Z5* WY9z:m#TxF&f%}w`!^kupc)k:~]kOJN@gz~_ _LVQ.MsgUtvkT396ЍTe!q\bG|M̠bVx;Mn>G`x˳t]:8ܩ),IXxë3t׻pn!Q:>mpy> AI;Ā_3lЉ5p _S=>y.Cl=q)tR'WZ-2rzwW!,,5'Vx\"wW~l'%@ c.X"eݕOs&"pX}*#y=]LJb.8`3|[2T<].]XLZEtq\[CގÖnrǞHC~8/EɦC ב̪Xpg-]yPc-fT. =a$bT^6 O~6"ȏpV& NnC˭}t.:TXVOP+>m1`nJZsRihAnĊnZ0ǻp,7 4i8civ;qH˳`C(g[son@d' 9e y@ep0~0ѧ0dP\`UjC!a[6rGvO"F *v 1(oj\XACA bV9苄?qfԣ=djvI@d4"z\ڛHOS|L|9OpSF-GK/JD@d[I;$tEŏ#@"r*+oI8|4@)E2bRq~GcmdΎ@F8GojOFa})9:F(p%1?~HI5d㹰;9 uN9m<88E9Hs_xΝ#* 9͌WAO7r&#k(V 4= ٜk]C(pZaB0x &E&x@Q|I =s~m'pl-kJ8b'K,`#caRsznMT)Jם[taWIM 1_A1 P`heU v ?[FRGٛf eկCED"`2v M99!-\DJIh{@WKVf)} ^fdi8#F %6;Ey!Eg^elpj@:qoT>m>= QFm8|I. *WǝM:|ΔY\fEl8Uϫbu(جi2O#`| yetGӅvxpuZ[q^]h(8 <5%sTu^!mB=DnրQBXyN/ w5i㶒Da < G0Q8*PS4qrt<`n OGm:́4wH!8ڦ!u3qGT 7@x tK"QX&؍g`e(r (ӸfU^W1ꊝ8,`)܇l%T #\x5(p(V 7 0"s)98% %`]ݙ\8>-ZH] du3ypfbyl{^;;#SWzEOں,5z PlӠJr(DZ\(9@qruA1))(RiC_M /5OYB"|vkqh߽ˆA?W뇨GNů(4Ih znQ?W2ե \fol:AI@^2PfU,65T.o͟t|p*uÍ`8,zJJs `S 65c# 5BdK@=|[жkGKkB[\6{iJή[qL"B\{ 1E{sIENDB`