psychon's example in scheme added by C-Keen on Fri Mar 9 14:29:17 2012

(import foreign)
(use cairo doodle)

(new-doodle width: 200 height: 200 background: solid-white)

(define-inline (print-clipping-area)
  (let-location
   ((x1 double 2)
    (y1 double 3)
    (x2 double 4)
    (y2 double 5))
   (cairo-clip-extents (*c*) #$x1 #$y1 #$x2 #$y2)
   (printf "Clipping extents: ~a x ~a - ~a x ~a~%"
           x1 y1 x2 y2)))

(print-clipping-area)

(rectangle 10 10 100 100 '(1 0 0 1))
(cairo-stroke (*c*))

(rectangle 10 10 10 10 '(1 0 0 1))
(cairo-clip (*c*))

(print-clipping-area)


(run-event-loop)