Jump to content

Window creation: Difference between revisions

→‎{{header|TXR}}: GTK2 solution.
(→‎{{header|TXR}}: X11 solution.)
(→‎{{header|TXR}}: GTK2 solution.)
Line 2,146:
 
(XCloseDisplay d)))</lang>
 
===GTK2===
 
{{trans|C}}
 
<lang txrlisp>(typedef GtkObject* (cptr GtkObject))
(typedef GtkWidget* (cptr GtkWidget))
 
(typedef GtkWidget* (cptr GtkWidget))
 
(typedef GtkWindowType (enum GtkWindowType
GTK_WINDOW_TOPLEVEL
GTK_WINDOW_POPUP))
 
(with-dyn-lib "libgtk-x11-2.0.so.0"
(deffi gtk_init "gtk_init" void ((ptr int) (ptr (ptr (zarray str)))))
(deffi gtk_window_new "gtk_window_new" GtkWidget* (GtkWindowType))
(deffi gtk_signal_connect_full "gtk_signal_connect_full"
ulong (GtkObject* str closure closure val closure int int))
(deffi gtk_widget_show "gtk_widget_show" void (GtkWidget*))
(deffi gtk_main "gtk_main" void ())
(deffi-sym gtk_main_quit "gtk_main_quit"))
 
(defmacro GTK_OBJECT (cptr)
^(cptr-cast 'GtkObject ,cptr))
 
(defmacro gtk_signal_connect (object name func func-data)
^(gtk_signal_connect_full ,object ,name ,func cptr-null
,func-data cptr-null 0 0))
 
(gtk_init (length *args*) (vec-list *args*))
 
(let ((window (gtk_window_new 'GTK_WINDOW_TOPLEVEL)))
(gtk_signal_connect (GTK_OBJECT window) "destroy" gtk_main_quit nil)
(gtk_widget_show window)
(gtk_main))</lang>
 
=={{header|Vedit macro language}}==
543

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.