summaryrefslogtreecommitdiff
path: root/doc/overview.txt
blob: 6a9319deb668ad0c0c82996a2fd557df3c3dcb9a (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


Ada Wayland Binding



Specific points about this binding:

- Memory management is set up so that, from the Ada side, the programmer can
  treat all objects as if they were stack objects. Any and all ways to avoid
  dangling references without burdening the programmer using the library are
  taken advantage of.

- Callbacks are done with function/procedure accesses rather than tagged types,
  in order to minimise boilerplate for programmers using the library.



The following files are bound manually:

wayland-server-core.h -> Wayland.Server
wayland-client-core.h -> Wayland.Client
wayland-egl-core.h -> Wayland.EGL



Then a generator is used to process the protocol XML files and produce all
remaining bindings. Probably into Wayland.Protocols.<Name of Protocol>



References:

https://wayland.freedesktop.org/docs/pdf/Documentation-1.3-Wayland-en-US.pdf
http://www.jlekstrand.net/jason/projects/wayland/language-bindings-guide/