[mcclim-devel] clipping-region

Christophe Rhodes csr21 at cam.ac.uk
Sat Dec 17 10:55:18 UTC 2005


"Paul Werkowski" <pw at snoopy.mv.com> writes:

> What is the supposed status of clipping-region support?
> A simple test here seem to suggest clipping-region is ignored.

I believe that gsharp is currently using it to implement partial beams
in musical notation.  We patch some things, I think on Gilbert's
suggestion, but repaint continues not to work: the graphical display
is messed up on reexpose.

Cheers,

Christophe

;;; this is clim-patches.lisp from gsharp:
(in-package :clim-internals)

(defmethod replay-output-record :around (record stream &optional region (x-offset 0) (y-offset 0))
  (declare (ignore record region x-offset y-offset))
  (with-sheet-medium (medium stream)
    (letf (((medium-ink medium) (medium-ink medium))
           ((medium-foreground medium) (medium-foreground medium))
           ((medium-background medium) (medium-background medium))
           ((medium-transformation medium) (medium-transformation medium))
           ((medium-clipping-region medium) (medium-clipping-region medium))
           ((medium-line-style medium) (medium-line-style medium))
           ((medium-text-style medium) (medium-text-style medium))
           ((medium-default-text-style medium) (medium-default-text-style medium)))
      (call-next-method))))

(defmethod set-medium-graphics-state :after ((state gs-clip-mixin) medium)
  (setf (medium-clipping-region medium)
        (region-intersection (medium-clipping-region medium)
                             (graphics-state-clip state))))



More information about the mcclim-devel mailing list