-;; void gtk_text_view_window_to_buffer_coords
-;; (GtkTextView *text_view,
-;; GtkTextWindowType win,
-;; gint window_x,
-;; gint window_y,
-;; gint *buffer_x,
-;; gint *buffer_y);
-;; GdkWindow* gtk_text_view_get_window (GtkTextView *text_view,
-;; GtkTextWindowType win);
+
+(defcfun gtk-text-view-window-to-buffer-coords :void
+ (text-view (g-object text-view))
+ (win text-window-type)
+ (window-x :int)
+ (window-y :int)
+ (buffer-x :pointer)
+ (buffer-y :pointer))
+
+(defun text-view-window-to-buffer-coords (text-view win window-x window-y)
+ (with-foreign-objects ((buffer-x :int) (buffer-y :int))
+ (gtk-text-view-window-to-buffer-coords text-view win window-x window-y buffer-x buffer-y)
+ (values (mem-ref buffer-x :int)
+ (mem-ref buffer-y :int))))
+
+(export 'text-view-window-to-buffer-coords)
+
+(defcfun gtk-text-view-get-window (g-object gdk:gdk-window)
+ (text-view (g-object text-view))
+ (win text-window-type))
+
+(defun text-view-get-window (text-view win)
+ (gtk-text-view-get-window text-view win))
+
+(export 'text-view-get-window)
+