anchor.diff:    "Obtains the area covered by the region as a list of rectangles."
     (multiple-value-bind (location length) (%region-get-rectangles region)
       (prog1
  -	(map-c-vector 'list #'identity location 'point length :get)
  +	(map-c-vector 'list #'identity location '(inlined rectangle) length :get)
         (deallocate-memory location))))
   
   (defbinding region-empty-p () boolean
  
positive.code: ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  
  ;; $Id: gdk.lisp,v 1.35 2007-04-06 14:25:20 espen Exp $
  
  
  (in-package "GDK")
  
negative.code:   (location pointer))
  
  (defmethod allocate-foreign ((region region) &key rectangle polygon fill-rule)
    (cond
     ((and rectangle polygon) 
      (error "Only one of the keyword arguments :RECTANGLE and :POLYGON can be specified"))
  