X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=gtk%2Fgtk.widget.lisp;h=bc4b75c454365d0a7763de335d23294fca30c2e8;hb=47b0bf2bfd057e9b409957e8e5cb2241e2fa6573;hp=a1f25c8169d4a39ea6fda377f55a6b8d14e727aa;hpb=bd6107b4baeadf2e895ac82f8c977ca3c0c5ad3a;p=cl-gtk2.git diff --git a/gtk/gtk.widget.lisp b/gtk/gtk.widget.lisp index a1f25c8..bc4b75c 100644 --- a/gtk/gtk.widget.lisp +++ b/gtk/gtk.widget.lisp @@ -2,6 +2,17 @@ ; TODO: GtkWidget +(define-g-boxed-cstruct selection-data "GtkSelectionData" + (selection gdk-atom-as-string :initform nil) + (target gdk-atom-as-string :initform nil) + (type gdk-atom-as-string :initform nil) + (format :int :initform 0) + (data :pointer :initform (null-pointer)) + (length :int :initform 0) + (display (g-object display) :initform nil)) + +(export (boxed-related-symbols 'selection-data)) + (defun widget-flags (widget) (convert-from-foreign (gtk-object-flags-as-integer widget) 'widget-flags)) @@ -15,8 +26,8 @@ (defcstruct %gtk-widget (:object %gtk-object) (:private-flags :uint16) - (:state state-type) - (:saved-state state-type) + (:state :uint8) + (:saved-state :uint8) (:name (:pointer :char)) (:style :pointer) (:requisition requisition-cstruct) @@ -25,12 +36,12 @@ (:parent :pointer)) (defun widget-state (widget) - (foreign-slot-value (pointer widget) '%gtk-widget :state)) + (convert-from-foreign (foreign-slot-value (pointer widget) '%gtk-widget :state) 'state-type)) (export 'widget-state) (defun widget-saved-state (widget) - (foreign-slot-value (pointer widget) '%gtk-widget :saved-state)) + (convert-from-foreign (foreign-slot-value (pointer widget) '%gtk-widget :saved-state) 'state-type)) (export 'widget-saved-state) @@ -94,6 +105,8 @@ (gtk-widget-hide-all widget) (gtk-widget-hide widget))) +(export 'widget-hide) + (defcfun (widget-map "gtk_widget_map") :void (widget g-object)) @@ -388,12 +401,7 @@ (export 'widget-create-pango-context) -(defcfun (widget-get-pango-context "gtk_widget_get_pango_context") g-object - (widget g-object)) - -(export 'widget-get-pango-context) - -(defcfun (widget-create-pango-layout "gtk_widget_create_pango_layout") (g-object gdk::pango-layout :already-referenced) +(defcfun (widget-create-pango-layout "gtk_widget_create_pango_layout") (g-object pango-layout :already-referenced) (widget (g-object widget)) (text :string)) @@ -470,9 +478,13 @@ ; TODO: gtk_widget_class_list_style_properties -; TODO: gtk_widget_region_intersect +(defcfun (widget-region-intersect "gtk_widget_region_intersect") (g-boxed-foreign region :return) + (widget (g-object widget)) + (region (g-boxed-foreign region))) + +(export 'widget-region-intersect) -; TODO: gtk_widget_send_expose +; ignored: gtk_widget_send_expose (defcfun gtk-widget-style-get-property :void (widget g-object) @@ -488,7 +500,7 @@ (n-properties (:pointer :int))) (defun widget-get-style-properties (type) - (setf type (ensure-g-type type)) + (setf type (gtype type)) (let ((class (g-type-class-ref type))) (unwind-protect (with-foreign-object (np :int) @@ -519,7 +531,7 @@ (defun widget-style-property-value (widget property-name &optional property-type) (unless property-type (setf property-type (widget-style-property-type widget property-name))) - (setf property-type (ensure-g-type property-type)) + (setf property-type (gtype property-type)) (with-foreign-object (gvalue 'g-value) (g-value-zero gvalue) (g-value-init gvalue property-type) @@ -625,4 +637,4 @@ (defun widget-snapshot (widget &optional clip-rectangle) (gtk-widget-get-snapshot widget clip-rectangle)) -(export 'widget-snapshot) \ No newline at end of file +(export 'widget-snapshot)