The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

st/gui: Make it possible to inhibit sinks gui headers

+13 -6
+13 -6
src/xrt/state_trackers/gui/gui_scene_debug.c
··· 118 118 struct debug_scene *ds; 119 119 bool vis_stack[MAX_HEADER_NESTING]; //!< Visibility stack for nested headers 120 120 int vis_i; 121 + bool inhibit_sink_headers; 121 122 }; 122 123 123 124 struct plot_state ··· 192 193 } 193 194 194 195 static void 195 - on_sink_debug_var(const char *name, void *ptr, struct gui_program *p, struct debug_scene *ds) 196 + on_sink_debug_var(const char *name, void *ptr, struct draw_state *state) 196 197 { 198 + struct gui_program *p = state->p; 199 + struct debug_scene *ds = state->ds; 200 + bool gui_header = !state->inhibit_sink_headers; 201 + 197 202 struct u_sink_debug *usd = (struct u_sink_debug *)ptr; 198 203 if (usd->sink == NULL) { 199 204 struct debug_record *dr = &ds->recs[ds->num_recrs++]; ··· 211 216 continue; 212 217 } 213 218 214 - const ImGuiTreeNodeFlags_ flags = ImGuiTreeNodeFlags_DefaultOpen; 215 - if (!igCollapsingHeaderBoolPtr(name, NULL, flags)) { 216 - continue; 219 + if (gui_header) { 220 + const ImGuiTreeNodeFlags_ flags = ImGuiTreeNodeFlags_DefaultOpen; 221 + if (!igCollapsingHeaderBoolPtr(name, NULL, flags)) { 222 + continue; 223 + } 217 224 } 218 225 219 226 gui_window_record_render(&dr->rw, p); ··· 473 480 igUnindent(8.0f); 474 481 break; 475 482 } 476 - case U_VAR_KIND_SINK_DEBUG: on_sink_debug_var(name, ptr, state->p, state->ds); break; 483 + case U_VAR_KIND_SINK_DEBUG: on_sink_debug_var(name, ptr, state); break; 477 484 case U_VAR_KIND_DRAGGABLE_F32: on_draggable_f32_var(name, ptr); break; 478 485 case U_VAR_KIND_BUTTON: on_button_var(name, ptr); break; 479 486 case U_VAR_KIND_COMBO: on_combo_var(name, ptr); break; ··· 536 543 scene_render(struct gui_scene *scene, struct gui_program *p) 537 544 { 538 545 struct debug_scene *ds = (struct debug_scene *)scene; 539 - struct draw_state state = {p, ds, {0}, 0}; 546 + struct draw_state state = {p, ds, {0}, 0, false}; 540 547 541 548 u_var_visit(on_root_enter, on_root_exit, on_elem, &state); 542 549 }