summaryrefslogtreecommitdiff
path: root/strigoform/canvas.scm
blob: f5565efe8514e9435644c1998fa20ffe68ebe1ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
(library (strigoform canvas)
  (export get-context
          set-fill-color!
          set-font!
          set-text-align!
          clear-rect
          fill-rect
          fill-text
          draw-image
          set-scale!
          set-transform!
          set-image-smoothing-enabled!)
  (import (scheme base)
          (hoot ffi))

  (define-foreign get-context
    "canvas" "getContext"
    (ref null extern) (ref string) -> (ref null extern))
  (define-foreign set-fill-color!
    "canvas" "setFillColor"
    (ref null extern) (ref string) -> none)
  (define-foreign set-font!
    "canvas" "setFont"
    (ref null extern) (ref string) -> none)
  (define-foreign set-text-align!
    "canvas" "setTextAlign"
    (ref null extern) (ref string) -> none)
  (define-foreign clear-rect
    "canvas" "clearRect"
    (ref null extern) f64 f64 f64 f64 -> none)
  (define-foreign fill-rect
    "canvas" "fillRect"
    (ref null extern) f64 f64 f64 f64 -> none)
  (define-foreign fill-text
    "canvas" "fillText"
    (ref null extern) (ref string) f64 f64 -> none)
  (define-foreign draw-image
    "canvas" "drawImage"
    (ref null extern) (ref null extern) f64 f64 f64 f64 f64 f64 f64 f64 -> none)
  (define-foreign set-scale!
    "canvas" "setScale"
    (ref null extern) f64 f64 -> none)
  (define-foreign set-transform!
    "canvas" "setTransform"
    (ref null extern) f64 f64 f64 f64 f64 f64 -> none)
  (define-foreign set-image-smoothing-enabled!
    "canvas" "setImageSmoothingEnabled"
    (ref null extern) i32 -> none))