+;; (defun draw-points (drawable gc &rest points)
+
+;; )
+
+(defbinding draw-line () nil
+ (drawable drawable) (gc gc)
+ (x1 int) (y1 int)
+ (x2 int) (y2 int))
+
+;; (defbinding draw-lines (drawable gc &rest points) nil
+;; (drawable drawable) (gc gc)
+;; (points (vector point))
+;; ((length points) int))
+
+(defbinding draw-pixbuf
+ (drawable gc pixbuf src-x src-y dest-x dest-y &optional
+ width height (dither :none) (x-dither 0) (y-dither 0)) nil
+ (drawable drawable) (gc (or null gc))
+ (pixbuf pixbuf)
+ (src-x int) (src-y int)
+ (dest-x int) (dest-y int)
+ ((or width -1) int) ((or height -1) int)
+ (dither rgb-dither)
+ (x-dither int) (y-dither int))
+
+;; (defbinding draw-segments (drawable gc &rest points) nil
+;; (drawable drawable) (gc gc)
+;; (segments (vector segments))
+;; ((length segments) int))
+
+(defbinding draw-rectangle () nil
+ (drawable drawable) (gc gc)
+ (filled boolean)
+ (x int) (y int)
+ (width int) (height int))
+
+(defbinding draw-arc () nil
+ (drawable drawable) (gc gc)
+ (filled boolean)
+ (x int) (y int)
+ (width int) (height int)
+ (angle1 int) (angle2 int))
+
+;; (defbinding draw-polygon (drawable gc &rest points) nil
+;; (drawable drawable) (gc gc)
+;; (points (vector point))
+;; ((length points) int))
+
+;; (defbinding draw-trapezoid (drawable gc &rest points) nil
+;; (drawable drawable) (gc gc)
+;; (points (vector point))
+;; ((length points) int))
+
+;; (defbinding %draw-layout-line () nil
+;; (drawable drawable) (gc gc)
+;; (font pango:font)
+;; (x int) (y int)
+;; (line pango:layout-line))
+
+;; (defbinding %draw-layout-line-with-colors () nil
+;; (drawable drawable) (gc gc)
+;; (font pango:font)
+;; (x int) (y int)
+;; (line pango:layout-line)
+;; (foreground (or null color))
+;; (background (or null color)))
+
+;; (defun draw-layout-line (drawable gc font x y line &optional foreground background)
+;; (if (or foreground background)
+;; (%draw-layout-line-with-colors drawable gc font x y line foreground background)
+;; (%draw-layout-line drawable gc font x y line)))
+
+(defbinding %draw-layout () nil
+ (drawable drawable) (gc gc)
+ (font pango:font)
+ (x int) (y int)
+ (layout pango:layout))
+
+(defbinding %draw-layout-with-colors () nil
+ (drawable drawable) (gc gc)
+ (font pango:font)
+ (x int) (y int)
+ (layout pango:layout)
+ (foreground (or null color))
+ (background (or null color)))
+
+(defun draw-layout (drawable gc font x y layout &optional foreground background)
+ (if (or foreground background)
+ (%draw-layout-with-colors drawable gc font x y layout foreground background)
+ (%draw-layout drawable gc font x y layout)))
+
+(defbinding draw-drawable
+ (drawable gc src src-x src-y dest-x dest-y &optional width height) nil
+ (drawable drawable) (gc gc)
+ (src drawable)
+ (src-x int) (src-y int)
+ (dest-x int) (dest-y int)
+ ((or width -1) int) ((or height -1) int))
+
+(defbinding draw-image
+ (drawable gc image src-x src-y dest-x dest-y &optional width height) nil
+ (drawable drawable) (gc gc)
+ (image image)
+ (src-x int) (src-y int)
+ (dest-x int) (dest-y int)
+ ((or width -1) int) ((or height -1) int))
+
+(defbinding drawable-get-image () image
+ (drawable drawable)
+ (x int) (y int)
+ (width int) (height int))
+
+(defbinding drawable-copy-to-image
+ (drawable src-x src-y width height &optional image dest-x dest-y) image
+ (drawable drawable)
+ (image (or null image))
+ (src-x int) (src-y int)
+ ((if image dest-x 0) int)
+ ((if image dest-y 0) int)
+ (width int) (height int))