aboutsummaryrefslogtreecommitdiff
path: root/elymas
diff options
context:
space:
mode:
authorDrahflow <drahflow@gmx.de>2015-05-07 17:45:14 +0200
committerDrahflow <drahflow@gmx.de>2015-05-07 17:45:14 +0200
commit403a7003899fc6f0752b09cc3caca3cc3013dde5 (patch)
treee7fb0516e9823fca209b9c3a7316a047c25fe22e /elymas
parent44319ab55f3dfa7360ad06ee2455cfbe6184807d (diff)
Wrapping some GTK calls
Diffstat (limited to 'elymas')
-rw-r--r--elymas/lib/ffi/gtk.ey65
1 files changed, 65 insertions, 0 deletions
diff --git a/elymas/lib/ffi/gtk.ey b/elymas/lib/ffi/gtk.ey
new file mode 100644
index 0000000..c923ee4
--- /dev/null
+++ b/elymas/lib/ffi/gtk.ey
@@ -0,0 +1,65 @@
+# GTK+ support
+
+<
+ sys .so ":" via
+
+ "libgtk-3.so" :dlopen --
+ "libgdk-3.so" :dlopen --
+ "libatk-1.0.so" :dlopen --
+ "libgio-2.0.so" :dlopen --
+ "libpangocairo-1.0.so" :dlopen --
+ "libgdk_pixbuf-2.0.so" :dlopen --
+ "libcairo-gobject.so" :dlopen --
+ "libpango-1.0" :dlopen --
+ "libcairo.so" :dlopen --
+ "libgobject-2.0.so" :dlopen --
+ "libglib-2.0.so" :dlopen --
+
+ { _ "g_" -01 cat -1032 :resolveFunction -01 deffd }' "-->" deffd
+ { _ "gtk_" -01 cat -1032 :resolveFunction -01 deffd }' "->" deffd
+
+ # GC protection for callbacks
+ map ==references
+ { _ _ sys .asm .rawAddress txt .produce .u references =[] } /reference deffd
+
+ "si" "p" ->application_new
+ "p" "p" ->application_window_new
+
+ "pip" "i64" -->application_run
+ "p" "" -->application_quit
+ "p" "" -->object_unref
+ { -2103 "pp" "" :wrapCallback reference -0321 } "g_signal_connect_data" "pscppi" "" :resolveFunction ; /signal_connect_data deffd
+
+ "pp" "" ->container_add
+ "pi" "" ->container_set_border_width
+
+ "p" "" ->widget_show_all
+ "p" "" ->widget_destroy
+ "pi" "" ->widget_set_hexpand
+ "pi" "" ->widget_set_vexpand
+
+ "" "p" ->grid_new
+ "ppiiii" "" ->grid_attach
+
+ "pp" "p" ->scrolled_window_new
+
+ "ps" "" ->window_set_title
+ "pii" "" ->window_set_default_size
+
+ "i" "p" ->button_box_new
+ "s" "p" ->button_new_with_label
+
+ "" "p" ->text_view_new
+ "pi" "" ->text_view_set_editable
+ "pi" "" ->text_view_set_cursor_visible
+ "p" "p" ->text_view_get_buffer
+
+ { _ len } "gtk_text_buffer_set_text" "psi" "" :resolveFunction ; /text_buffer_set_text deffd
+
+ 0 ==:ORIENTATION_HORIZONTAL
+ 1 ==:ORIENTATION_VERTICAL
+
+ 2 ==:CONNECT_SWAPPED
+> /gtk ffi .defv
+
+# vim: syn=elymas