Кросс платформенная библиотека графического интерфейса пользователя
Вебсайт: http://www.gtk.org
Поддерживаемые платформы: Win32, Linux
Заголовки: gtk/gtk.bi
Примеры: в examples/GUI/GTK+/
Версия заголовков: 2.24.6 и 3.2.2
ПО умолчанию, gtk/gtk.bi использует GTK+ 2.24 API.
Define __USE_GTK_OLD__ при включении gtk/gtk.bi использует GTK+ >= 2.0 и < 2.16.
Define __USE_GTK3__ при включении gtk/gtk.bi использует GTK+ >= 3.0.
Пример
#include once "gtk/gtk.bi"
Dim Shared As GtkWidget Ptr win
Private Sub on_clicked cdecl(ByVal button As GtkButton Ptr, ByVal userdata As gpointer)
Static As Integer clickcount = 0
clickcount += 1
gtk_window_set_title(GTK_WINDOW(win), "clicked " & clickcount & " times")
End Sub
gtk_init(NULL, NULL)
win = gtk_window_new(GTK_WINDOW_TOPLEVEL)
gtk_window_set_title(GTK_WINDOW(win), "A small GTK+ example")
gtk_window_set_default_size(GTK_WINDOW(win), 300, 200)
gtk_container_set_border_width(GTK_CONTAINER(win), 20)
g_signal_connect(G_OBJECT(win), "destroy", G_CALLBACK(@gtk_main_quit), NULL)
Dim As GtkWidget Ptr button = gtk_button_new_with_label("Click me!")
gtk_container_add(GTK_CONTAINER(win), button)
g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(@on_clicked), NULL)
gtk_widget_show_all(win)
gtk_main()