summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJed Barber <jjbarber@y7mail.com>2017-12-17 11:31:42 +1100
committerJed Barber <jjbarber@y7mail.com>2017-12-17 11:31:42 +1100
commit1a98873c6ef52d5b61b77878c83021b07b558294 (patch)
tree6e557b5be32c3355ddfed739ad028974dc893de4
Initial commit, very basic outline of what to get done
-rw-r--r--.gitignore5
-rw-r--r--doc/overview.txt38
2 files changed, 43 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e0debad
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+
+
+*.ali
+*.o
+*.d
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/
+
+
+