Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/kalimehtar/gtk-cffi
- Owner: Kalimehtar
- License: other
- Created: 2012-12-15T14:28:15.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2016-11-18T04:46:56.000Z (about 8 years ago)
- Last Synced: 2024-05-09T07:26:12.332Z (8 months ago)
- Topics: common-lisp, gtk
- Language: Common Lisp
- Size: 505 KB
- Stars: 14
- Watchers: 4
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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)