Future visualizer - only redraw overlay when moused-over event changes

This commit is contained in:
James Swaine 2012-07-19 17:05:04 -05:00
parent ee426f7ecb
commit 0b8bccc8d4
2 changed files with 9 additions and 5 deletions

View File

@ -83,7 +83,7 @@
(set! needs-redraw #t) (set! needs-redraw #t)
(redraw-the-bitmap/maybe-delayed! (get-viewable-region) #:only-the-overlay? only-the-overlay?) (redraw-the-bitmap/maybe-delayed! (get-viewable-region) #:only-the-overlay? only-the-overlay?)
(set! repainting? #t) (set! repainting? #t)
(refresh))] (refresh))]
[interval 100] [interval 100]
[just-once? #t]) [just-once? #t])
(set! delaying-redraw #t)])) (set! delaying-redraw #t)]))

View File

@ -71,7 +71,7 @@
(send data-label1 set-label (format "Touching future ~a" (event-user-data evt)))] (send data-label1 set-label (format "Touching future ~a" (event-user-data evt)))]
[else [else
(send data-label1 set-label "") (send data-label1 set-label "")
(send data-label2 set-label "")])) (send data-label2 set-label "")]))
(begin (begin
(send selected-label set-label "") (send selected-label set-label "")
(send time-label set-label "") (send time-label set-label "")
@ -152,9 +152,13 @@
[parent timeline-container] [parent timeline-container]
[pict-builder (λ (vregion) (timeline-pict-for-trace-data vregion the-trace frameinfo segments))] [pict-builder (λ (vregion) (timeline-pict-for-trace-data vregion the-trace frameinfo segments))]
[hover-handler (λ (x y vregion) [hover-handler (λ (x y vregion)
(let ([seg (find-seg-for-coords x y timeline-mouse-index)]) (let ([seg (find-seg-for-coords x y timeline-mouse-index)])
(set! hover-seg seg) (cond
(post-event listener-table 'segment-hover timeline-panel seg)))] [(equal? seg hover-seg) #f]
[else
(set! hover-seg seg)
(post-event listener-table 'segment-hover timeline-panel seg)
#t])))]
[click-handler (λ (x y vregion) [click-handler (λ (x y vregion)
(let ([seg (find-seg-for-coords x y timeline-mouse-index)]) (let ([seg (find-seg-for-coords x y timeline-mouse-index)])
(set! tacked-seg seg) (set! tacked-seg seg)