The open source OpenXR runtime
0
fork

Configure Feed

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

u/var: Add u_var_curves

authored by

Mateo de Mayo and committed by
Moses Turner
789111da 0324fbae

+32 -1
+13 -1
src/xrt/auxiliary/util/u_var.h
··· 140 140 const char *ylabel; //!< Label of the Y axis 141 141 }; 142 142 143 + struct u_var_curves 144 + { 145 + struct u_var_curve curves[16]; 146 + int curve_count; 147 + 148 + // These override individual curve axis labels 149 + const char *xlabel; //!< Label of the X axis 150 + const char *ylabel; //!< Label of the Y axis 151 + }; 152 + 143 153 /*! 144 154 * What kind of variable is this tracking. 145 155 */ ··· 181 191 U_VAR_KIND_HISTOGRAM_F32, 182 192 U_VAR_KIND_DRAGGABLE_U16, 183 193 U_VAR_KIND_CURVE, 194 + U_VAR_KIND_CURVES, 184 195 }; 185 196 186 197 #define U_VAR_NAME_STRING_SIZE 256 ··· 290 301 ADD_FUNC(draggable_f32, struct u_var_draggable_f32, DRAGGABLE_F32) \ 291 302 ADD_FUNC(draggable_u16, struct u_var_draggable_u16, DRAGGABLE_U16) \ 292 303 ADD_FUNC(histogram_f32, struct u_var_histogram_f32, HISTOGRAM_F32) \ 293 - ADD_FUNC(curve, struct u_var_curve, CURVE) 304 + ADD_FUNC(curve, struct u_var_curve, CURVE) \ 305 + ADD_FUNC(curves, struct u_var_curves, CURVES) 294 306 295 307 #define ADD_FUNC(SUFFIX, TYPE, ENUM) void u_var_add_##SUFFIX(void *, TYPE *, const char *); 296 308
+19
src/xrt/state_trackers/gui/gui_scene_debug.c
··· 271 271 } 272 272 273 273 static void 274 + on_curves_var(const char *name, void *ptr) 275 + { 276 + struct u_var_curves *cs = (struct u_var_curves *)ptr; 277 + ImVec2 size = {igGetWindowContentRegionWidth(), 256}; 278 + 279 + bool shown = ImPlot_BeginPlot(name, cs->xlabel, cs->ylabel, size, 0, 0, 0, 0, 0); 280 + if (!shown) { 281 + return; 282 + } 283 + 284 + for (int i = 0; i < cs->curve_count; i++) { 285 + struct u_var_curve *c = &cs->curves[i]; 286 + ImPlot_PlotLineG(c->label, curve_var_implot_getter, c, c->count, 0); 287 + } 288 + ImPlot_EndPlot(); 289 + } 290 + 291 + static void 274 292 on_draggable_f32_var(const char *name, void *ptr) 275 293 { 276 294 struct u_var_draggable_f32 *d = (struct u_var_draggable_f32 *)ptr; ··· 420 438 case U_VAR_KIND_DRAGGABLE_U16: on_draggable_u16_var(name, ptr); break; 421 439 case U_VAR_KIND_HISTOGRAM_F32: on_histogram_f32_var(name, ptr); break; 422 440 case U_VAR_KIND_CURVE: on_curve_var(name, ptr); break; 441 + case U_VAR_KIND_CURVES: on_curves_var(name, ptr); break; 423 442 default: igLabelText(name, "Unknown tag '%i'", kind); break; 424 443 } 425 444 }