LWL image scaling
Under LWL, if I apply a non-unity scale transform to a capi:output-pane that contains an image (.bmp file), it appears that the display-callback is called continuously. This appears not to happen under LWW. Am I doing something wrong? The docs indicate that image scaling is system dependent. I thought that this means that the image would not change in size, yet still survive the scaling operation (i.e. noop). I've included a test program that appears to show this problem under LWL and not LWW (check the pathname for the .bmp file in the gp:register-image-translation). "(run)" should run the program and print two lines of output. Under LWL, it prints output until you close the test pane. [The output indicates that LWL is calling display-callback once with the full width and height of the pane, then continuously with the width and height of the image/icon]. Thanks. Paul Tarvydas (in-package "COMMON-LISP-USER") (defvar *out*) (gp:register-image-translation 'img-code #.(gp:read-external-image (current-pathname "/usr/lib/LispWorks/lib/4-2-0-0/examples/capi/elements/images/toolbar-radio-images.bmp") :transparent-color-index 7)) (capi:define-interface junk2 () () (:panes (output-pane-1 capi:output-pane :accessor canvas :display-callback 'pane-display-callback)) (:layouts (simple-layout-1 capi:simple-layout '(output-pane-1))) (:default-initargs :best-height 300 :best-width 308 :layout 'simple-layout-1 :title "Junk2")) (defun pane-display-callback (pane x y w h) (let ((img (gp:load-image pane 'img-code))) (format *out* "~S ~S ~S ~S~%" x y w h) (gp:draw-image pane img x y))) (defun run () (let ((win (make-instance 'junk2)) (tfm (gp:copy-transform gp::*unit-transform*))) (setf *out* *standard-output*) (capi:display win) (gp:apply-scale tfm 2 2) (gp:set-graphics-state (canvas win) :transform tfm) (gp:invalidate-rectangle (canvas win)))) ________________________________________________________________________ This email has been scanned for all viruses by the MessageLabs Email Security System. For more information on a proactive email security service working around the clock, around the globe, visit http://www.messagelabs.com ________________________________________________________________________