; Test whether a line on the screen is being selected by the mouse.
; (gldefun draw-line-selectedp (d\:draw-line pt\:vector off\:vector)
; (let ((ptp (pt - off)))
; (and (contains? (vregion d) ptp) ; is point in region near line
; ((distance (line d) ptp) < 5) ) )) ; and within distance of 5
(defun t6 (D PT OFF)
(LET ((PTP (LIST (- (CAR (PROG1 PT)) (CAR (PROG1 OFF)))
(- (CADR (PROG1 PT)) (CADR (PROG1 OFF))))))
(AND (AND (> = (CAR (PROG1 PTP))
(- (MIN (CAR (CADR (PROG1 D)))
(+ (CAR (CADR (PROG1 D)))
(CAR (CADDR (PROG1 D)))))
2))
(< = (CAR (PROG1 PTP))
(+ (- (MIN (CAR (CADR (PROG1 D)))
(+ (CAR (CADR (PROG1 D)))
(CAR (CADDR (PROG1 D)))))
2)
(+ (ABS (CAR (CADDR (PROG1 D)))) 4)))
(> = (CADR (PROG1 PTP))
(- (MIN (CADR (CADR (PROG1 D)))
(+ (CADR (CADR (PROG1 D)))
(CADR (CADDR (PROG1 D)))))
2))
(< = (CADR (PROG1 PTP))
(+ (- (MIN (CADR (CADR (PROG1 D)))
(+ (CADR (CADR (PROG1 D)))
(CADR (CADDR (PROG1 D)))))
2)
(+ (ABS (CADR (CADDR (PROG1 D)))) 4))))
Contents    Page-10    Prev    Next    Page+10    Index