-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathxkbcommon.compose.scm
87 lines (72 loc) · 3.24 KB
/
xkbcommon.compose.scm
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
;; Copyright 2019 Drew Thoreson
;;
;; Permission is hereby granted, free of charge, to any person obtaining a copy
;; of this software and associated documentation files (the "Software"), to
;; deal in the Software without restriction, including without limitation the
;; rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
;; sell copies of the Software, and to permit persons to whom the Software is
;; furnished to do so, subject to the following conditions:
;;
;; The above copyright notice and this permission notice shall be included in
;; all copies or substantial portions of the Software.
;;
;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
;; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
;; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
;; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
;; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
;; IN THE SOFTWARE.
(foreign-declare "#include <xkbcommon/xkbcommon-compose.h>")
(module (xkbcommon compose)
(xkb-compose-compile/no-flags
xkb-compose-format/text-v1
xkb-compose-table-new-from-locale
xkb-compose-table-new-from-file
xkb-compose-table-new-from-buffer
xkb-compose-table-ref
xkb-compose-table-unref
xkb-compose-state/no-flags
xkb-compose-state-new
xkb-compose-state-ref
xkb-compose-state-unref
xkb-compose-state-get-compose-table
xkb-compose/nothing
xkb-compose/composing
xkb-compose/composed
xkb-compose/cancelled
xkb-compose-feed/ignored
xkb-compose-feed/accepted
xkb-compose-state-feed
xkb-compose-state-reset
xkb-compose-state-get-status
xkb-compose-state-get-utf8
xkb-compose-state-get-one-sym)
(import (scheme)
(chicken foreign)
(bind))
(bind-options default-renaming: "")
(bind-file "xkbcommon-compose.h")
; Define a series of foreign values of the same type.
(define-syntax define-foreign-values
(syntax-rules ()
((define-foreign-values type)
(begin))
((define-foreign-values type (scm-name c-name) . rest)
(begin
(define scm-name (foreign-value c-name type))
(define-foreign-values type . rest)))))
(define-foreign-values (enum "xkb_compose_compile_flags")
(xkb-compose-compile/no-flags "XKB_COMPOSE_COMPILE_NO_FLAGS"))
(define-foreign-values (enum "xkb_compose_format")
(xkb-compose-format/text-v1 "XKB_COMPOSE_FORMAT_TEXT_V1"))
(define-foreign-values (enum "xkb_compose_state_flags")
(xkb-compose-state/no-flags "XKB_COMPOSE_STATE_NO_FLAGS"))
(define-foreign-values (enum "xkb_compose_status")
(xkb-compose/nothing "XKB_COMPOSE_NOTHING")
(xkb-compose/composing "XKB_COMPOSE_COMPOSING")
(xkb-compose/composed "XKB_COMPOSE_COMPOSED")
(xkb-compose/cancelled "XKB_COMPOSE_CANCELLED"))
(define-foreign-values (enum "xkb_compose_feed_result")
(xkb-compose-feed/ignored "XKB_COMPOSE_FEED_IGNORED")
(xkb-compose-feed/accepted "XKB_COMPOSE_FEED_ACCEPTED")))