X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=gdk%2Fgdk.objects.lisp;h=b62007e3d0bee9df1fcb738db6f46a987ee126e8;hb=00346cf6cc21a7a1daa85c3c4bfcac0d86d023b2;hp=e3d93b8f0760504a708925168d8e2f2f0d4a7b4c;hpb=973b93adad818f19fc751c99b5c1c11ef870c021;p=cl-gtk2.git diff --git a/gdk/gdk.objects.lisp b/gdk/gdk.objects.lisp index e3d93b8..b62007e 100644 --- a/gdk/gdk.objects.lisp +++ b/gdk/gdk.objects.lisp @@ -435,6 +435,22 @@ (:bilevel 0) (:full 1)) +(define-g-enum "GdkInterpType" + gdk-interp-type + (:export t :type-initializer "gdk_interp_type_get_type") + (:nearest 0) + (:tiles 1) + (:bilinear 2) + (:hyper 3)) + +(define-g-enum "GdkPixbufRotation" + gdk-pixbuf-rotation + (:export t :type-initializer "gdk_pixbuf_rotation_get_type") + (:none 0) + (:counterclockwise 90) + (:upsidedown 180) + (:clockwise 270)) + (define-g-enum "GdkColorspace" colorspace () :rgb) @@ -579,7 +595,7 @@ (export (boxed-related-symbols 'color)) -(define-g-object-class "GdkDrawable" drawable () +(define-g-object-class "GdkDrawable" drawable (:type-initializer "gdk_drawable_get_type") ((:cffi display drawable-display (g-object display) "gdk_drawable_get_display" nil) (:cffi screen drawable-screen (g-object screen) @@ -596,8 +612,12 @@ "gdk_drawable_get_visible_region" nil))) (define-g-object-class "GdkWindow" gdk-window (:superclass drawable) - ((cursor gdk-window-cursor "cursor" + (#+gtk-2.18 + (cursor gdk-window-cursor "cursor" "GdkCursor" t t) + #-gtk-2.18 + (:cffi cursor gdk-window-cursor (g-boxed-foreign cursor :return) + "gdk_window_get_cursor" "gdk_window_set_cursor") (:cffi window-type gdk-window-window-type gdk-window-type "gdk_window_get_window_type" nil) (:cffi is-destroyed gdk-window-is-destroyed :boolean @@ -689,6 +709,16 @@ do (setf (aref result i) (mem-aref ptr el-type i))) result))) +(defmethod translate-to-foreign (value (type fixed-array)) + (if (null value) + (null-pointer) + (foreign-alloc (fixed-array-element-type type) :count (length value) :initial-contents value))) + +(defmethod free-translated-object (value (type fixed-array) param) + (declare (ignore param)) + (unless (null-pointer-p value) + (foreign-free value))) + (define-g-boxed-cstruct rectangle "GdkRectangle" (x :int :initform 0) (y :int :initform 0) @@ -722,7 +752,7 @@ (axes (fixed-array :double 2)) (state :uint) (button :uint) - (device (g-object device)) + (device (g-object gdk-device)) (x-root :double) (y-root :double)) ((:scroll) event-scroll @@ -731,7 +761,7 @@ (y :double) (state modifier-type) (direction scroll-direction) - (device (g-object device)) + (device (g-object gdk-device)) (x-root :double) (y-root :double)) ((:motion-notify) event-motion @@ -741,7 +771,7 @@ (axes (fixed-array :double 2)) (state modifier-type) (is-hint :int16) - (device (g-object device)) + (device (g-object gdk-device)) (x-root :double) (y-root :double)) ((:expose) event-expose @@ -793,7 +823,7 @@ ((:proximity-in :proximity-out) event-proximity (time :uint32) - (device (g-object device))) + (device (g-object gdk-device))) ((:client-event) event-client (message-time gdk-atom) (data-format :ushort) @@ -824,7 +854,7 @@ (export (boxed-related-symbols 'event)) -(define-g-object-class "GdkDragContext" drag-context () +(define-g-object-class "GdkDragContext" drag-context (:type-initializer "gdk_drag_context_get_type") ((:cffi protocol drag-context-protocol gdk-drag-protocol %gdk-drag-context-get-protocol nil) (:cffi is-source drag-context-is-source :boolean @@ -844,7 +874,7 @@ (:cffi start-time drag-context-start-time :uint32 %gdk-drag-context-get-start-time nil))) -(define-g-object-class "GdkPixbuf" pixbuf () +(define-g-object-class "GdkPixbuf" pixbuf (:type-initializer "gdk_pixbuf_get_type") ((colorspace pixbuf-colorspace "colorspace" "GdkColorspace" t nil) (n-channels pixbuf-n-channels "n-channels" "gint" t nil) (has-alpha pixbuf-has-alpha "has-alpha" "gboolean" t nil) @@ -854,7 +884,7 @@ (rowstride pixbuf-rowstride "rowstride" "gint" t nil) (pixels pixbuf-pixels "pixels" "gpointer" t nil))) -(define-g-object-class "GdkPixbufAnimation" pixbuf-animation () +(define-g-object-class "GdkPixbufAnimation" pixbuf-animation (:type-initializer "gdk_pixbuf_animation_get_type") nil) (define-g-object-class "GdkImage" gdk-image @@ -864,7 +894,7 @@ ((:cffi colormap gdk-image-colormap (g-object gdk-colormap) "gdk_image_get_colormap" "gdk_image_set_colormap"))) -(define-g-object-class "GdkDisplay" display () +(define-g-object-class "GdkDisplay" display (:type-initializer "gdk_display_get_type") ((:cffi name display-name (glib:g-string :free-from-foreign nil) "gdk_display_get_name" nil) (:cffi n-screens display-n-screens :int @@ -894,12 +924,12 @@ (:cffi core-pointer display-core-pointer g-object "gdk_display_get_core_pointer" nil))) -(define-g-object-class "GdkDisplayManager" display-manager () +(define-g-object-class "GdkDisplayManager" display-manager (:type-initializer "gdk_display_manager_get_type") ((default-display display-manager-default-display "default-display" "GdkDisplay" t t) (:cffi displays display-manager-displays (glib:gslist (g-object display) :free-from-foreign t) "gdk_display_manager_list_displays" nil))) -(define-g-object-class "GdkVisual" visual () +(define-g-object-class "GdkVisual" visual (:type-initializer "gdk_visual_get_type") ((:cffi screen visual-screen (g-object screen) "gdk_visual_get_screen" nil) (:cffi visual-type visual-visual-type visual-type gdk-visual-get-visual-type nil) (:cffi depth visual-depth :int gdk-visual-get-depth nil) @@ -923,9 +953,9 @@ ((:cffi visual colormap-visual (g-object visual) "gdk_colormap_get_visual" nil) (:cffi screen colormap-screen (g-object screen) - "gdk_colormap_get_screeen" nil))) + "gdk_colormap_get_screen" nil))) -(define-g-object-class "GdkScreen" screen () +(define-g-object-class "GdkScreen" screen (:type-initializer "gdk_screen_get_type") ((font-options screen-font-options "font-options" "gpointer" t t) (resolution screen-resolution "resolution" "gdouble" t t) (:cffi default-colormap screen-default-colormap (g-object colormap) @@ -971,7 +1001,7 @@ (:cffi window-stack screen-window-stack (glib:glist (g-object gdk-window) :free-from-foreign t) "gdk_screen_get_window_stack" nil))) -(define-g-object-class "GdkGC" graphics-context () +(define-g-object-class "GdkGC" graphics-context (:type-initializer "gdk_gc_get_type") ((:cffi screen graphics-context-screen (g-object screen) "gdk_gc_get_screen" nil) (:cffi foreground graphics-context-foreground (g-boxed-foreign color) @@ -1005,7 +1035,7 @@ (:cffi colormap graphics-context-colormap (g-object colormap) "gdk_gc_get_colormap" "gdk_gc_set_colormap"))) -(define-g-object-class "GdkPixmap" pixmap (:superclass drawable) ()) +(define-g-object-class "GdkPixmap" pixmap (:superclass drawable :type-initializer "gdk_pixmap_get_type") ()) (define-g-object-class "GdkKeymap" keymap (:superclass g-object :export t :interfaces