;; License along with this library; if not, write to the Free Software
;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-;; $Id: gtkobject.lisp,v 1.3 2000-08-16 17:30:36 espen Exp $
+;; $Id: gtkobject.lisp,v 1.4 2000-08-16 22:16:23 espen Exp $
(in-package "GTK")
-;;;; Main loop
+;;;; Main loop, timeouts and idle functions
(declaim (inline events-pending-p main-iteration))
(define-foreign ("gtk_events_pending" events-pending-p) () boolean)
+(define-foreign get-current-event () gdk:event)
+
(define-foreign main-do-event () nil
(event gdk:event))
(main-iteration nil)
(main-iterate-all)))
+(define-foreign ("gtk_timeout_add_full" timeout-add)
+ (interval function) unsigned-int
+ (interval (unsigned 32))
+ (0 unsigned-long)
+ (*callback-marshal* pointer)
+ ((register-callback-function function) unsigned-long)
+ (*destroy-marshal* pointer))
+
+(define-foreign timeout-remove () nil
+ (timeout-handler-id unsigned-int))
+
+(define-foreign ("gtk_idle_add_full" idle-add)
+ (function &optional (priority 200)) unsigned-int
+ (priority int)
+ (0 unsigned-long)
+ (*callback-marshal* pointer)
+ ((register-callback-function function) unsigned-long)
+ (*destroy-marshal* pointer))
+
+(define-foreign idle-remove () nil
+ (idle-handler-id unsigned-int))
+
+
(system:add-fd-handler (gdk:event-poll-fd) :input #'main-iterate-all)
(setq lisp::*periodic-polling-function* #'main-iterate-all)
(setq lisp::*max-event-to-sec* 0)
;; License along with this library; if not, write to the Free Software
;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-;; $Id: gtkwidget.lisp,v 1.1 2000-08-14 16:45:02 espen Exp $
+;; $Id: gtkwidget.lisp,v 1.2 2000-08-16 22:16:44 espen Exp $
(in-package "GTK")
(widget widget)
(event gdk:event))
+(define-foreign get-event-widget () widget
+ (event gdk:event))
+
(define-foreign widget-activate () boolean
(widget widget))
(define-foreign widget-grab-default () nil
(widget widget))
-;; cl-gtk.c
+(define-foreign grab-add () nil
+ (widget widget))
+
+(define-foreign grab-get-current () widget)
+
+(define-foreign grab-remove () nil
+ (widget widget))
+
(define-foreign widget-allocation () nil
(widget widget)
(width int :out)
(x-offset int)
(y-offset int))
-;; cl-gtk.c
+;; defined in gtkglue.c
(define-foreign widget-mapped-p () boolean
(widget widget))