@@ -158,6 +158,8 @@ impl TimePanel {
158
158
return ;
159
159
}
160
160
161
+ self . data_density_graph_painter . begin_frame ( ui. ctx ( ) ) ;
162
+
161
163
// Naturally, many parts of the time panel need the time control.
162
164
// Copy it once, read/edit, and then write back at the end if there was a change.
163
165
let time_ctrl_before = rec_cfg. time_ctrl . read ( ) . clone ( ) ;
@@ -298,7 +300,13 @@ impl TimePanel {
298
300
entity_db. times_per_timeline ( ) ,
299
301
ui,
300
302
) ;
301
- collapsed_time_marker_and_time ( ui, ctx, entity_db, time_ctrl) ;
303
+ collapsed_time_marker_and_time (
304
+ ui,
305
+ ctx,
306
+ & mut self . data_density_graph_painter ,
307
+ entity_db,
308
+ time_ctrl,
309
+ ) ;
302
310
} ) ;
303
311
} ) ;
304
312
} else {
@@ -318,7 +326,13 @@ impl TimePanel {
318
326
self . time_control_ui . fps_ui ( time_ctrl, ui) ;
319
327
}
320
328
321
- collapsed_time_marker_and_time ( ui, ctx, entity_db, time_ctrl) ;
329
+ collapsed_time_marker_and_time (
330
+ ui,
331
+ ctx,
332
+ & mut self . data_density_graph_painter ,
333
+ entity_db,
334
+ time_ctrl,
335
+ ) ;
322
336
}
323
337
}
324
338
@@ -332,8 +346,6 @@ impl TimePanel {
332
346
) {
333
347
re_tracing:: profile_function!( ) ;
334
348
335
- self . data_density_graph_painter . begin_frame ( ui. ctx ( ) ) ;
336
-
337
349
// |timeline |
338
350
// ------------------------------------
339
351
// tree |streams |
@@ -983,6 +995,7 @@ fn highlight_timeline_row(
983
995
fn collapsed_time_marker_and_time (
984
996
ui : & mut egui:: Ui ,
985
997
ctx : & ViewerContext < ' _ > ,
998
+ data_density_graph_painter : & mut data_density_graph:: DataDensityGraphPainter ,
986
999
entity_db : & re_entity_db:: EntityDb ,
987
1000
time_ctrl : & mut TimeControl ,
988
1001
) {
@@ -1005,6 +1018,8 @@ fn collapsed_time_marker_and_time(
1005
1018
time_range_rect. max . x -= space_needed_for_current_time;
1006
1019
1007
1020
if time_range_rect. width ( ) > 50.0 {
1021
+ ui. allocate_rect ( time_range_rect, egui:: Sense :: hover ( ) ) ;
1022
+
1008
1023
let time_ranges_ui =
1009
1024
initialize_time_ranges_ui ( entity_db, time_ctrl, time_range_rect. x_range ( ) , None ) ;
1010
1025
time_ranges_ui. snap_time_control ( time_ctrl) ;
@@ -1025,6 +1040,19 @@ fn collapsed_time_marker_and_time(
1025
1040
time_range_rect. center ( ) . y ,
1026
1041
ui. visuals ( ) . widgets . noninteractive . fg_stroke ,
1027
1042
) ;
1043
+
1044
+ data_density_graph:: data_density_graph_ui (
1045
+ data_density_graph_painter,
1046
+ ctx,
1047
+ time_ctrl,
1048
+ entity_db,
1049
+ ui. painter ( ) ,
1050
+ ui,
1051
+ & time_ranges_ui,
1052
+ time_range_rect. shrink2 ( egui:: vec2 ( 0.0 , 10.0 ) ) ,
1053
+ & TimePanelItem :: entity_path ( EntityPath :: root ( ) ) ,
1054
+ ) ;
1055
+
1028
1056
time_marker_ui (
1029
1057
& time_ranges_ui,
1030
1058
time_ctrl,
@@ -1033,8 +1061,6 @@ fn collapsed_time_marker_and_time(
1033
1061
& painter,
1034
1062
& time_range_rect,
1035
1063
) ;
1036
-
1037
- ui. allocate_rect ( time_range_rect, egui:: Sense :: hover ( ) ) ;
1038
1064
}
1039
1065
}
1040
1066
0 commit comments