Add Gdk/Visuals and Gdk/Cursors
[cl-gtk2.git] / gdk / gdk.objects.lisp
index fbd4a64..a03eb8b 100644 (file)
   (:normal 1)
   (:max 2))
 
+(define-g-enum "GdkVisualType"
+    visual-type
+    (:export t :type-initializer "gdk_visual_type_get_type")
+  (:static-gray 0)
+  (:grayscale 1)
+  (:static-color 2)
+  (:pseudo-color 3)
+  (:true-color 4)
+  (:direct-color 5))
+
+(define-g-enum "GdkByteOrder"
+    byte-order
+    (:export t :type-initializer "gdk_byte_order_get_type")
+  (:lsb-first 0)
+  (:msb-first 1))
+
+(define-g-enum "GdkCursorType"
+    gdk-cursor-type
+    (:export t :type-initializer "gdk_cursor_type_get_type")
+  (:x-cursor 0)
+  (:arrow 2)
+  (:based-arrow-down 4)
+  (:based-arrow-up 6)
+  (:boat 8)
+  (:bogosity 10)
+  (:bottom-left-corner 12)
+  (:bottom-right-corner 14)
+  (:bottom-side 16)
+  (:bottom-tee 18)
+  (:box-spiral 20)
+  (:center-ptr 22)
+  (:circle 24)
+  (:clock 26)
+  (:coffee-mug 28)
+  (:cross 30)
+  (:cross-reverse 32)
+  (:crosshair 34)
+  (:diamond-cross 36)
+  (:dot 38)
+  (:dotbox 40)
+  (:double-arrow 42)
+  (:draft-large 44)
+  (:draft-small 46)
+  (:draped-box 48)
+  (:exchange 50)
+  (:fleur 52)
+  (:gobbler 54)
+  (:gumby 56)
+  (:hand1 58)
+  (:hand2 60)
+  (:heart 62)
+  (:icon 64)
+  (:iron-cross 66)
+  (:left-ptr 68)
+  (:left-side 70)
+  (:left-tee 72)
+  (:leftbutton 74)
+  (:ll-angle 76)
+  (:lr-angle 78)
+  (:man 80)
+  (:middlebutton 82)
+  (:mouse 84)
+  (:pencil 86)
+  (:pirate 88)
+  (:plus 90)
+  (:question-arrow 92)
+  (:right-ptr 94)
+  (:right-side 96)
+  (:right-tee 98)
+  (:rightbutton 100)
+  (:rtl-logo 102)
+  (:sailboat 104)
+  (:sb-down-arrow 106)
+  (:sb-h-double-arrow 108)
+  (:sb-left-arrow 110)
+  (:sb-right-arrow 112)
+  (:sb-up-arrow 114)
+  (:sb-v-double-arrow 116)
+  (:shuttle 118)
+  (:sizing 120)
+  (:spider 122)
+  (:spraycan 124)
+  (:star 126)
+  (:target 128)
+  (:tcross 130)
+  (:top-left-arrow 132)
+  (:top-left-corner 134)
+  (:top-right-corner 136)
+  (:top-side 138)
+  (:top-tee 140)
+  (:trek 142)
+  (:ul-angle 144)
+  (:umbrella 146)
+  (:ur-angle 148)
+  (:watch 150)
+  (:xterm 152)
+  (:last-cursor 153)
+  (:blank-cursor -2)
+  (:cursor-is-pixmap -1))
+
 (define-g-object-class "GdkDisplay" display ()
   ((:cffi name display-name (glib:g-string :free-from-foreign nil)
           "gdk_display_get_name" nil)
    (: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 ()
+  ((: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)
+   (:cffi byte-order visual-byte-order byte-order gdk-visual-get-byte-order nil)
+   (:cffi colormap-size visual-colormap-size :int gdk-visual-get-colormap-size nil)
+   (:cffi bits-per-rgb visual-bits-per-rgb :int gdk-visual-get-bits-per-rgb nil)
+   (:cffi red-mask visual-red-mask :uint32 gdk-visual-get-red-mask nil)
+   (:cffi red-shift visual-red-shift :int gdk-visual-get-red-shift nil)
+   (:cffi red-prec visual-red-prec :int gdk-visual-get-red-prec nil)
+   (:cffi green-mask visual-green-mask :uint32 gdk-visual-get-green-mask nil)
+   (:cffi green-shift visual-green-shift :int gdk-visual-get-green-shift nil)
+   (:cffi green-prec visual-green-prec :int gdk-visual-get-green-prec nil)
+   (:cffi blue-mask visual-blue-mask :uint32 gdk-visual-get-blue-mask nil)
+   (:cffi blue-shift visual-blue-shift :int gdk-visual-get-blue-shift nil)
+   (:cffi blue-prec visual-blue-prec :int gdk-visual-get-blue-prec nil)))
 
 (define-g-object-class "GdkColormap" gdk-colormap
   (:superclass g-object :export t :interfaces
 
 (glib:at-init () (foreign-funcall-pointer (foreign-symbol-pointer "gdk_cursor_get_type") () :int))
 
-(gobject:define-g-enum "GdkCursorType" cursor-type (:export t :type-initializer "gdk_cursor_type_get_type")
+(define-g-enum "GdkCursorType" cursor-type (:export t :type-initializer "gdk_cursor_type_get_type")
   (:x-cursor 0) (:arrow 2) (:based-arrow-down 4)
   (:based-arrow-up 6) (:boat 8) (:bogosity 10)
   (:bottom-left-corner 12) (:bottom-right-corner 14)
 
 (export 'cursor-type)
 
-(define-g-boxed-cstruct cursor "GdkCursor"
-  (type cursor-type))
+(define-g-boxed-opaque cursor "GdkCursor" :alloc (error "GdkCursor can not be created from Lisp side"))
 
 (export (boxed-related-symbols 'cursor))