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)
(redraw-the-bitmap/maybe-delayed! (get-viewable-region) #:only-the-overlay? only-the-overlay?)
(set! repainting? #t)
(refresh))]
(refresh))]
[interval 100]
[just-once? #t])
(set! delaying-redraw #t)]))

View File

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