Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kalimehtar/gtk-cffi

GTK3 CFFI binding
https://github.com/kalimehtar/gtk-cffi

common-lisp gtk

Last synced: 3 months ago
JSON representation

GTK3 CFFI binding

Awesome Lists containing this project

README

        

gtk-cffi
========

GTK-CFFI is a library, providing CFFI layer to GTK3. License is LLGPL for GTK, BSD for GLib and GDK.

GTK interface is mapped like this:

GTKLisp
gtk_widget_set_parent(setf (parent widget) new-parent)
gtk_widget_get_parent(parent widget)

Properties realized as (property object :property-name). There are corresponding setters for them.
Signals: (gsignal object :signal-name). Value of signal can be name of C function, its address,
corresponding keyword or lisp function, including closure.

Along with GtkListStore, I made LispStore. It can be filled much faster, than ListStore.

Why not cl-gtk2
===============
- cl-gtk2 supports only GTK2, gtk-cffi supports GTK3
- cl-gtk2 describes properties by hand, gtk-cffi uses g-object-class-find-property and caching results
- cl-gtk2 offers c-style functions like (gtk:widget-queue-resize-no-redraw widget), in gtk-cffi this will be (gtk:queue-resize widget :no-redraw t)