summaryrefslogtreecommitdiff
path: root/strigoform/element.scm
blob: a901960518a57e2c31341758e39f84653800d382 (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
49
50
51
52
(library (strigoform element)
  (export element-value
          set-element-value!
          set-element-width!
          set-element-height!
          append-child!
          remove!
          replace-with!
          set-attribute!
          remove-attribute!
          add-event-listener!
          remove-event-listener!
          clone-element)
  (import (scheme base)
          (hoot ffi))

  (define-foreign element-value
    "element" "value"
    (ref null extern) -> (ref string))
  (define-foreign set-element-value!
    "element" "setValue"
    (ref null extern) (ref string) -> none)
  (define-foreign set-element-width!
    "element" "setWidth"
    (ref null extern) i32 -> none)
  (define-foreign set-element-height!
    "element" "setHeight"
    (ref null extern) i32 -> none)
  (define-foreign append-child!
    "element" "appendChild"
    (ref null extern) (ref null extern) -> (ref null extern))
  (define-foreign remove!
    "element" "remove"
    (ref null extern) -> none)
  (define-foreign replace-with!
    "element" "replaceWith"
    (ref null extern) (ref null extern) -> none)
  (define-foreign set-attribute!
    "element" "setAttribute"
    (ref null extern) (ref string) (ref string) -> none)
  (define-foreign remove-attribute!
    "element" "removeAttribute"
    (ref null extern) (ref string) -> none)
  (define-foreign add-event-listener!
    "element" "addEventListener"
    (ref null extern) (ref string) (ref null extern) -> none)
  (define-foreign remove-event-listener!
    "element" "removeEventListener"
    (ref null extern) (ref string) (ref null extern) -> none)
  (define-foreign clone-element
    "element" "clone"
    (ref null extern) -> (ref null extern)))