pslib.lisp 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637
  1. ;; This software is Copyright (c) cage
  2. ;; cage grants you the rights to distribute
  3. ;; and use this software as governed by the terms
  4. ;; of the Lisp Lesser GNU Public License
  5. ;; (http://opensource.franz.com/preamble.html),
  6. ;; known as the LLGPL
  7. ;;; This file was automatically generated by SWIG (http://www.swig.org).
  8. ;;; Version 2.0.4
  9. ;;;
  10. ;;; Do not make changes to this file unless you know what you are doing--modify
  11. ;;; the SWIG interface file instead.
  12. (in-package :cl-pslib)
  13. ;;;SWIG wrapper code starts here
  14. (cl:defmacro defanonenum (&body enums)
  15. "Converts anonymous enums to defconstants."
  16. `(cl:progn ,@(cl:loop for value in enums
  17. for index = 0 then (cl:1+ index)
  18. when (cl:listp value) do (cl:setf index (cl:second value)
  19. value (cl:first value))
  20. collect `(cl:defconstant ,value ,index))))
  21. (cl:eval-when (:compile-toplevel :load-toplevel)
  22. (cl:unless (cl:fboundp 'swig-lispify)
  23. (cl:defun swig-lispify (name flag cl:&optional (package cl:*package*))
  24. (cl:labels ((helper (lst last rest cl:&aux (c (cl:car lst)))
  25. (cl:cond
  26. ((cl:null lst)
  27. rest)
  28. ((cl:upper-case-p c)
  29. (helper (cl:cdr lst) 'upper
  30. (cl:case last
  31. ((lower digit) (cl:list* c #\- rest))
  32. (cl:t (cl:cons c rest)))))
  33. ((cl:lower-case-p c)
  34. (helper (cl:cdr lst) 'lower (cl:cons (cl:char-upcase c) rest)))
  35. ((cl:digit-char-p c)
  36. (helper (cl:cdr lst) 'digit
  37. (cl:case last
  38. ((upper lower) (cl:list* c #\- rest))
  39. (cl:t (cl:cons c rest)))))
  40. ((cl:char-equal c #\_)
  41. (helper (cl:cdr lst) '_ (cl:cons #\- rest)))
  42. (cl:t
  43. (cl:error "Invalid character: ~A" c)))))
  44. (cl:let ((fix (cl:case flag
  45. ((constant enumvalue) "+")
  46. (variable "*")
  47. (cl:t ""))))
  48. (cl:intern
  49. (cl:concatenate
  50. 'cl:string
  51. fix
  52. (cl:nreverse (helper (cl:concatenate 'cl:list name) cl:nil cl:nil))
  53. fix)
  54. package))))))
  55. ;;;SWIG wrapper code ends here
  56. (cl:defconstant PS_MemoryError 1)
  57. (cl:defconstant PS_IOError 2)
  58. (cl:defconstant PS_RuntimeError 3)
  59. (cl:defconstant PS_Warning 100)
  60. (cl:defconstant PS_LINECAP_BUTT 0)
  61. (cl:defconstant PS_LINECAP_ROUND 1)
  62. (cl:defconstant PS_LINECAP_SQUARED 2)
  63. (cl:defconstant PS_LINEJOIN_MITER 0)
  64. (cl:defconstant PS_LINEJOIN_ROUND 1)
  65. (cl:defconstant PS_LINEJOIN_BEVEL 2)
  66. (cl:defconstant PS_GOTO_NEXT_PAGE -1)
  67. (cl:defconstant PS_GOTO_PREV_PAGE -2)
  68. (cl:defconstant ps_true 1)
  69. (cl:defconstant ps_false 0)
  70. (cffi:defcfun ("PS_get_majorversion" PS_get_majorversion) :int)
  71. (cffi:defcfun ("PS_get_minorversion" PS_get_minorversion) :int)
  72. (cffi:defcfun ("PS_get_subminorversion" PS_get_subminorversion) :int)
  73. (cffi:defcfun ("PS_boot" PS_boot) :void)
  74. (cffi:defcfun ("PS_shutdown" PS_shutdown) :void)
  75. (cffi:defcfun ("PS_set_info" PS_set_info) :void
  76. (p :pointer)
  77. (key :string)
  78. (val :string))
  79. (cffi:defcfun ("PS_new" PS_new) :pointer)
  80. (cffi:defcfun ("PS_new2" PS_new2) :pointer
  81. (errorhandler :pointer)
  82. (allocproc :pointer)
  83. (reallocproc :pointer)
  84. (freeproc :pointer)
  85. (opaque :pointer))
  86. (cffi:defcfun ("PS_open_fp" PS_open_fp) :int
  87. (psdoc :pointer)
  88. (fp :pointer))
  89. (cffi:defcfun ("PS_get_opaque" PS_get_opaque) :pointer
  90. (psdoc :pointer))
  91. (cffi:defcfun ("PS_open_mem" PS_open_mem) :int
  92. (p :pointer)
  93. (writeproc :pointer))
  94. (cffi:defcfun ("PS_open_file" PS_open_file) :int
  95. (psdoc :pointer)
  96. (filename :string))
  97. (cffi:defcfun ("PS_close" PS_close) :void
  98. (psdoc :pointer))
  99. (cffi:defcfun ("PS_delete" PS_delete) :void
  100. (psdoc :pointer))
  101. (cffi:defcfun ("PS_begin_page" PS_begin_page) :void
  102. (psdoc :pointer)
  103. (width :float)
  104. (height :float))
  105. (cffi:defcfun ("PS_end_page" PS_end_page) :void
  106. (psdoc :pointer))
  107. (cffi:defcfun ("PS_set_parameter" PS_set_parameter) :void
  108. (psdoc :pointer)
  109. (name :string)
  110. (value :string))
  111. (cffi:defcfun ("PS_get_parameter" PS_get_parameter) :string
  112. (psdoc :pointer)
  113. (name :string)
  114. (modifier :float))
  115. (cffi:defcfun ("PS_set_value" PS_set_value) :void
  116. (psdoc :pointer)
  117. (name :string)
  118. (value :float))
  119. (cffi:defcfun ("PS_get_value" PS_get_value) :float
  120. (psdoc :pointer)
  121. (name :string)
  122. (modifier :float))
  123. (cffi:defcfun ("PS_list_values" PS_list_values) :void
  124. (psdoc :pointer))
  125. (cffi:defcfun ("PS_list_parameters" PS_list_parameters) :void
  126. (psdoc :pointer))
  127. (cffi:defcfun ("PS_list_resources" PS_list_resources) :void
  128. (psdoc :pointer))
  129. (cffi:defcfun ("PS_set_text_pos" PS_set_text_pos) :void
  130. (psdoc :pointer)
  131. (x :float)
  132. (y :float))
  133. (cffi:defcfun ("PS_setlinewidth" PS_setlinewidth) :void
  134. (p :pointer)
  135. (width :float))
  136. (cffi:defcfun ("PS_setlinecap" PS_setlinecap) :void
  137. (p :pointer)
  138. (type :int))
  139. (cffi:defcfun ("PS_setlinejoin" PS_setlinejoin) :void
  140. (p :pointer)
  141. (type :int))
  142. (cffi:defcfun ("PS_setmiterlimit" PS_setmiterlimit) :void
  143. (p :pointer)
  144. (value :float))
  145. (cffi:defcfun ("PS_setflat" PS_setflat) :void
  146. (p :pointer)
  147. (value :float))
  148. (cffi:defcfun ("PS_setoverprintmode" PS_setoverprintmode) :void
  149. (p :pointer)
  150. (mode :int))
  151. (cffi:defcfun ("PS_setsmoothness" PS_setsmoothness) :void
  152. (p :pointer)
  153. (smoothness :float))
  154. (cffi:defcfun ("PS_setdash" PS_setdash) :void
  155. (p :pointer)
  156. (on :float)
  157. (off :float))
  158. (cffi:defcfun ("PS_setpolydash" PS_setpolydash) :void
  159. (p :pointer)
  160. (arr :pointer)
  161. (length :int))
  162. (cffi:defcfun ("PS_curveto" PS_curveto) :void
  163. (psdoc :pointer)
  164. (x1 :float)
  165. (y1 :float)
  166. (x2 :float)
  167. (y2 :float)
  168. (x3 :float)
  169. (y3 :float))
  170. (cffi:defcfun ("PS_rect" PS_rect) :void
  171. (psdoc :pointer)
  172. (x :float)
  173. (y :float)
  174. (width :float)
  175. (height :float))
  176. (cffi:defcfun ("PS_circle" PS_circle) :void
  177. (psdoc :pointer)
  178. (x :float)
  179. (y :float)
  180. (radius :float))
  181. (cffi:defcfun ("PS_arc" PS_arc) :void
  182. (psdoc :pointer)
  183. (x :float)
  184. (y :float)
  185. (radius :float)
  186. (alpha :float)
  187. (beta :float))
  188. (cffi:defcfun ("PS_arcn" PS_arcn) :void
  189. (psdoc :pointer)
  190. (x :float)
  191. (y :float)
  192. (radius :float)
  193. (alpha :float)
  194. (beta :float))
  195. (cffi:defcfun ("PS_clip" PS_clip) :void
  196. (psdoc :pointer))
  197. (cffi:defcfun ("PS_setgray" PS_setgray) :void
  198. (psdoc :pointer)
  199. (gray :float))
  200. (cffi:defcfun ("PS_closepath" PS_closepath) :void
  201. (psdoc :pointer))
  202. (cffi:defcfun ("PS_closepath_stroke" PS_closepath_stroke) :void
  203. (psdoc :pointer))
  204. (cffi:defcfun ("PS_fill_stroke" PS_fill_stroke) :void
  205. (psdoc :pointer))
  206. (cffi:defcfun ("PS_stroke" PS_stroke) :void
  207. (psdoc :pointer))
  208. (cffi:defcfun ("PS_fill" PS_fill) :void
  209. (psdoc :pointer))
  210. (cffi:defcfun ("PS_save" PS_save) :void
  211. (psdoc :pointer))
  212. (cffi:defcfun ("PS_restore" PS_restore) :void
  213. (psdoc :pointer))
  214. (cffi:defcfun ("PS_show" PS_show) :void
  215. (psdoc :pointer)
  216. (text :string))
  217. (cffi:defcfun ("PS_show2" PS_show2) :void
  218. (psdoc :pointer)
  219. (text :string)
  220. (xlen :int))
  221. (cffi:defcfun ("PS_show_xy" PS_show_xy) :void
  222. (psdoc :pointer)
  223. (text :string)
  224. (x :float)
  225. (y :float))
  226. (cffi:defcfun ("PS_show_xy2" PS_show_xy2) :void
  227. (psdoc :pointer)
  228. (text :string)
  229. (xlen :int)
  230. (x :float)
  231. (y :float))
  232. (cffi:defcfun ("PS_show_boxed" PS_show_boxed) :int
  233. (psdoc :pointer)
  234. (text :string)
  235. (left :float)
  236. (bottom :float)
  237. (width :float)
  238. (height :float)
  239. (hmode :string)
  240. (feature :string))
  241. (cffi:defcfun ("PS_continue_text" PS_continue_text) :void
  242. (psdoc :pointer)
  243. (text :string))
  244. (cffi:defcfun ("PS_continue_text2" PS_continue_text2) :void
  245. (psdoc :pointer)
  246. (text :string)
  247. (len :int))
  248. (cffi:defcfun ("PS_setcolor" PS_setcolor) :void
  249. (psdoc :pointer)
  250. (type :string)
  251. (colorspace :string)
  252. (c1 :float)
  253. (c2 :float)
  254. (c3 :float)
  255. (c4 :float))
  256. (cffi:defcfun ("PS_makespotcolor" PS_makespotcolor) :int
  257. (psdoc :pointer)
  258. (name :string)
  259. (reserved :int))
  260. (cffi:defcfun ("PS_findfont" PS_findfont) :int
  261. (psdoc :pointer)
  262. (fontname :string)
  263. (encoding :string)
  264. (embed :int))
  265. (cffi:defcfun ("PS_stringwidth" PS_stringwidth) :float
  266. (psdoc :pointer)
  267. (text :string)
  268. (fontid :int)
  269. (size :float))
  270. (cffi:defcfun ("PS_stringwidth2" PS_stringwidth2) :float
  271. (psdoc :pointer)
  272. (text :string)
  273. (xlen :int)
  274. (fontid :int)
  275. (size :float))
  276. (cffi:defcfun ("PS_string_geometry" PS_string_geometry) :float
  277. (psdoc :pointer)
  278. (text :string)
  279. (xlen :int)
  280. (fontid :int)
  281. (size :float)
  282. (dimension :pointer))
  283. (cffi:defcfun ("PS_deletefont" PS_deletefont) :void
  284. (psdoc :pointer)
  285. (fontid :int))
  286. (cffi:defcfun ("PS_setfont" PS_setfont) :void
  287. (psdoc :pointer)
  288. (fontid :int)
  289. (size :float))
  290. (cffi:defcfun ("PS_getfont" PS_getfont) :int
  291. (psdoc :pointer))
  292. (cffi:defcfun ("PS_moveto" PS_moveto) :void
  293. (psdoc :pointer)
  294. (x :float)
  295. (y :float))
  296. (cffi:defcfun ("PS_lineto" PS_lineto) :void
  297. (psdoc :pointer)
  298. (x :float)
  299. (y :float))
  300. (cffi:defcfun ("PS_rotate" PS_rotate) :void
  301. (psdoc :pointer)
  302. (x :float))
  303. (cffi:defcfun ("PS_translate" PS_translate) :void
  304. (psdoc :pointer)
  305. (x :float)
  306. (y :float))
  307. (cffi:defcfun ("PS_scale" PS_scale) :void
  308. (psdoc :pointer)
  309. (x :float)
  310. (y :float))
  311. (cffi:defcfun ("PS_get_buffer" PS_get_buffer) :string
  312. (psdoc :pointer)
  313. (size :pointer))
  314. (cffi:defcfun ("PS_open_image" PS_open_image) :int
  315. (psdoc :pointer)
  316. (type :string)
  317. (source :string)
  318. (data :string)
  319. (length :long)
  320. (width :int)
  321. (height :int)
  322. (components :int)
  323. (bpc :int)
  324. (params :string))
  325. (cffi:defcfun ("PS_open_image_file" PS_open_image_file) :int
  326. (psdoc :pointer)
  327. (type :string)
  328. (filename :string)
  329. (stringparam :string)
  330. (intparam :int))
  331. (cffi:defcfun ("PS_place_image" PS_place_image) :void
  332. (psdoc :pointer)
  333. (imageid :int)
  334. (x :float)
  335. (y :float)
  336. (scale :float))
  337. (cffi:defcfun ("PS_close_image" PS_close_image) :void
  338. (psdoc :pointer)
  339. (imageid :int))
  340. (cffi:defcfun ("PS_add_weblink" PS_add_weblink) :void
  341. (psdoc :pointer)
  342. (llx :float)
  343. (lly :float)
  344. (urx :float)
  345. (ury :float)
  346. (url :string))
  347. (cffi:defcfun ("PS_add_pdflink" PS_add_pdflink) :void
  348. (psdoc :pointer)
  349. (llx :float)
  350. (lly :float)
  351. (urx :float)
  352. (ury :float)
  353. (filename :string)
  354. (page :int)
  355. (dest :string))
  356. (cffi:defcfun ("PS_add_locallink" PS_add_locallink) :void
  357. (psdoc :pointer)
  358. (llx :float)
  359. (lly :float)
  360. (urx :float)
  361. (ury :float)
  362. (page :int)
  363. (dest :string))
  364. (cffi:defcfun ("PS_add_launchlink" PS_add_launchlink) :void
  365. (psdoc :pointer)
  366. (llx :float)
  367. (lly :float)
  368. (urx :float)
  369. (ury :float)
  370. (filename :string))
  371. (cffi:defcfun ("PS_add_bookmark" PS_add_bookmark) :int
  372. (psdoc :pointer)
  373. (text :string)
  374. (parent :int)
  375. (open :int))
  376. (cffi:defcfun ("PS_add_note" PS_add_note) :void
  377. (psdoc :pointer)
  378. (llx :float)
  379. (lly :float)
  380. (urx :float)
  381. (ury :float)
  382. (contents :string)
  383. (title :string)
  384. (icon :string)
  385. (open :int))
  386. (cffi:defcfun ("PS_set_border_style" PS_set_border_style) :void
  387. (psdoc :pointer)
  388. (style :string)
  389. (width :float))
  390. (cffi:defcfun ("PS_set_border_color" PS_set_border_color) :void
  391. (psdoc :pointer)
  392. (red :float)
  393. (green :float)
  394. (blue :float))
  395. (cffi:defcfun ("PS_set_border_dash" PS_set_border_dash) :void
  396. (psdoc :pointer)
  397. (black :float)
  398. (white :float))
  399. (cffi:defcfun ("PS_begin_template" PS_begin_template) :int
  400. (psdoc :pointer)
  401. (width :float)
  402. (height :float))
  403. (cffi:defcfun ("PS_end_template" PS_end_template) :void
  404. (psdoc :pointer))
  405. (cffi:defcfun ("PS_begin_pattern" PS_begin_pattern) :int
  406. (psdoc :pointer)
  407. (width :float)
  408. (height :float)
  409. (xstep :float)
  410. (ystep :float)
  411. (painttype :int))
  412. (cffi:defcfun ("PS_end_pattern" PS_end_pattern) :void
  413. (psdoc :pointer))
  414. (cffi:defcfun ("PS_shfill" PS_shfill) :void
  415. (psdoc :pointer)
  416. (shading :int))
  417. (cffi:defcfun ("PS_shading" PS_shading) :int
  418. (psdoc :pointer)
  419. (shtype :string)
  420. (x0 :float)
  421. (y0 :float)
  422. (x1 :float)
  423. (y1 :float)
  424. (c1 :float)
  425. (c2 :float)
  426. (c3 :float)
  427. (c4 :float)
  428. (optlist :string))
  429. (cffi:defcfun ("PS_shading_pattern" PS_shading_pattern) :int
  430. (psdoc :pointer)
  431. (shading :int)
  432. (optlist :string))
  433. (cffi:defcfun ("PS_create_gstate" PS_create_gstate) :int
  434. (psdoc :pointer)
  435. (optlist :string))
  436. (cffi:defcfun ("PS_hyphenate" PS_hyphenate) :int
  437. (psdoc :pointer)
  438. (text :string)
  439. (hyphens :pointer))
  440. (cffi:defcfun ("PS_symbol" PS_symbol) :void
  441. (psdoc :pointer)
  442. (c :unsigned-char))
  443. (cffi:defcfun ("PS_symbol_width" PS_symbol_width) :float
  444. (psdoc :pointer)
  445. (c :unsigned-char)
  446. (fontid :int)
  447. (size :float))
  448. (cffi:defcfun ("PS_symbol_name" PS_symbol_name) :void
  449. (psdoc :pointer)
  450. (c :unsigned-char)
  451. (fontid :int)
  452. (name :string)
  453. (size :int))
  454. (cffi:defcfun ("PS_include_file" PS_include_file) :int
  455. (psdoc :pointer)
  456. (filename :string))
  457. (cffi:defcfun ("PS_begin_font" PS_begin_font) :int
  458. (psdoc :pointer)
  459. (fontname :string)
  460. (reserverd :int)
  461. (a :double)
  462. (b :double)
  463. (c :double)
  464. (d :double)
  465. (e :double)
  466. (f :double)
  467. (optlist :string))
  468. (cffi:defcfun ("PS_end_font" PS_end_font) :void
  469. (psdoc :pointer))
  470. (cffi:defcfun ("PS_begin_glyph" PS_begin_glyph) :int
  471. (psdoc :pointer)
  472. (glyphname :string)
  473. (wx :double)
  474. (llx :double)
  475. (lly :double)
  476. (urx :double)
  477. (ury :double))
  478. (cffi:defcfun ("PS_end_glyph" PS_end_glyph) :void
  479. (psdoc :pointer))
  480. (cffi:defcfun ("PS_add_kerning" PS_add_kerning) :void
  481. (psdoc :pointer)
  482. (fontid :int)
  483. (glyphname1 :string)
  484. (glyphname2 :string)
  485. (kern :int))
  486. (cffi:defcfun ("PS_add_ligature" PS_add_ligature) :void
  487. (psdoc :pointer)
  488. (fontid :int)
  489. (glyphname1 :string)
  490. (glyphname2 :string)
  491. (glyphname3 :string))
  492. (cffi:defcfun ("PS_glyph_show" PS_glyph_show) :void
  493. (psdoc :pointer)
  494. (name :string))
  495. (cffi:defcfun ("PS_glyph_list" PS_glyph_list) :pointer
  496. (psdoc :pointer)
  497. (fontid :int)
  498. (charlist :pointer)
  499. (len :pointer))
  500. (cffi:defcfun ("PS_glyph_width" PS_glyph_width) :float
  501. (psdoc :pointer)
  502. (glyphname :string)
  503. (fontid :int)
  504. (size :float))
  505. (cffi:defcfun ("PS_free_glyph_list" PS_free_glyph_list) :void
  506. (psdoc :pointer)
  507. (charlist :pointer)
  508. (len :int))