anchor.diff:                           (let ((ink-index (aref image-array y x)))
                              (when (< (elt opacity-map ink-index) #x40)  ; FIXME? Arbitrary threshold.
                                (setf (elt mask-data mask-index)
  -				   (logxor (elt mask-data mask-index)
  -					   mask-bitcursor)))
  +                                   (logxor (elt mask-data mask-index)
  +                                           mask-bitcursor)))
                              (let ((red   (elt red-map ink-index))
                                    (green (elt green-map ink-index))
                                    (blue  (elt blue-map ink-index)))
  
positive.code: ;;; From Tagore Smith <tagore@tagoresmith.com>
  
  (defmethod medium-gcontext ((medium clx-medium)
  			    (ink climi::standard-flipping-ink))
    (let* ((gc (medium-gcontext medium (medium-background medium)))
  	 (port (port medium))
  	 (color1 (slot-value ink 'climi::design1))
  	 (color2 (slot-value ink 'climi::design2))
  	 (flipper (logxor (X-pixel port color1)
  			  (X-pixel port color2))))
      (setf (xlib:gcontext-function gc) boole-xor)
      (setf (xlib:gcontext-foreground gc) flipper)
      (setf (xlib:gcontext-background gc) flipper)
      gc))
  
  (defgeneric design-gcontext (medium ink))
  
  (defmethod medium-gcontext ((medium clx-medium) (ink climi::indexed-pattern))
    (multiple-value-bind (mx my)
  
negative.code: (defmethod medium-copy-area ((from-drawable clx-medium) from-x from-y width height
                               (to-drawable clx-medium) to-x to-y)
    (let* ((from-sheet (medium-sheet from-drawable))
           (from-transformation (sheet-native-transformation from-sheet))
           (to-sheet (medium-sheet to-drawable))
           (to-transformation (sheet-native-transformation to-sheet)))
      (with-transformed-position (from-transformation from-x from-y)
        (with-transformed-position (to-transformation to-x to-y)
          (multiple-value-bind (width height)
              (transform-distance (medium-transformation from-drawable)
                                  width height)
            (xlib:copy-area (sheet-xmirror (medium-sheet from-drawable))
                            ;; why using the context of from-drawable?
                            (medium-gcontext from-drawable +background-ink+)
                            (round-coordinate from-x) (round-coordinate from-y)
                            (round width) (round height)
                            (or (medium-buffer to-drawable)
                                (sheet-xmirror (medium-sheet to-drawable)))
                            (round-coordinate to-x) (round-coordinate to-y)))))))
  
  (defmethod medium-copy-area ((from-drawable clx-medium) from-x from-y width height
                               (to-drawable pixmap) to-x to-y)
    (let* ((from-sheet (medium-sheet from-drawable))
           (from-transformation (sheet-native-transformation from-sheet)))
      (with-transformed-position (from-transformation from-x from-y)
        (climi::with-pixmap-medium (to-medium to-drawable)
          (xlib:copy-area (sheet-xmirror (medium-sheet from-drawable))
                          ;; we can not use from-drawable
                          (medium-gcontext to-medium +background-ink+)
                          (round-coordinate from-x) (round-coordinate from-y)
                          (round width) (round height)
                          (pixmap-xmirror to-drawable)
                          (round-coordinate to-x) (round-coordinate to-y))))))
  
  (defmethod medium-copy-area ((from-drawable pixmap) from-x from-y width height
                               (to-drawable clx-medium) to-x to-y)
  