summaryrefslogtreecommitdiff
path: root/doc/overview.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/overview.txt')
-rw-r--r--doc/overview.txt38
1 files changed, 38 insertions, 0 deletions
diff --git a/doc/overview.txt b/doc/overview.txt
new file mode 100644
index 0000000..6a9319d
--- /dev/null
+++ b/doc/overview.txt
@@ -0,0 +1,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/
+
+
+