[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

SET-VIEW-SCROLL-POSITION problems.



Is set-view-scroll-position variables somewhere and losing in the
process?  There seems to be some sort of unwinding problem.  Anyway,
this difficulty explains my earlier problems with graphics (the
grafport.portrect's were not being correctly updated).
History of the problem:

Welcome to Macintosh Allegro Common Lisp 1.3.2!
?
;Loading "hd:MACL:Library:traps.fasl"...
?
;Loading "hd:MACL:Library:records.fasl"...
?
;Loading "hd:MACL:Library:QuickDraw.fasl"...
? (talkto (setq myw (oneof *window*)))
#<Object #116, a *WINDOW*>
[TALKTO #117] ? (defobfun (left-top myw) ()
               (let ((win-rect (rref wptr grafport.portrect)))
                 (list (rref win-rect rect.left)
                       (rref win-rect rect.top))))
LEFT-TOP
[TALKTO #117] ? (set-view-scroll-position 100 100 nil)
NIL
[TALKTO #117] ? (left-top)
(100 100)
[TALKTO #117] ? (set-view-scroll-position 10 20 nil)
NIL
[TALKTO #117] ? (left-top)
(10 20)
[TALKTO #117] ? (set-view-scroll-position 3 4 nil)
NIL
[TALKTO #117] ? (left-top)
(10 20) ;; WHAT?!?!?!?!?!?!?!?!
[TALKTO #117] ? (set-view-scroll-position 11 12 nil)
NIL
[TALKTO #117] ? (left-top)
(11 12)
[TALKTO #117] ? (set-view-scroll-position -34 -45 nil)
NIL
[TALKTO #117] ? (left-top)
(-34 -45)
[TALKTO #117] ? (set-view-scroll-position 100 200 nil)
NIL
[TALKTO #117] ? (left-top)
(100 200)
[TALKTO #117] ? (set-view-scroll-position 0 0 nil)
NIL
[TALKTO #117] ? (left-top)
(0 0)
;; MORE DAMAGE:
[TALKTO #117] ? (defobfun (my-set-origin myw) (h v)
               (set-view-scroll-position h v nil))
MY-SET-ORIGIN
[TALKTO #117] ? (my-set-origin 1 2)
NIL
[TALKTO #117] ? (left-top)
(0 0)
[TALKTO #117] ? (my-set-origin 30 40)
NIL
[TALKTO #117] ? (left-top)
(1 2)
[TALKTO #117] ? (my-set-origin 100 200)
NIL
[TALKTO #117] ? (left-top)
(30 40)
[TALKTO #117] ?