221        U_VAR_KIND_DRAGGABLE_F32,
 
  228        U_VAR_KIND_SINK_DEBUG,
 
  229        U_VAR_KIND_NATIVE_IMAGES_DEBUG,
 
  230        U_VAR_KIND_LOG_LEVEL,
 
  241        U_VAR_KIND_RO_I64_NS,
 
  242        U_VAR_KIND_RO_VEC3_I32,
 
  243        U_VAR_KIND_RO_VEC3_F32,
 
  244        U_VAR_KIND_RO_QUAT_F32,
 
  245        U_VAR_KIND_RO_FF_F64,
 
  246        U_VAR_KIND_RO_FF_VEC3_F32,
 
  247        U_VAR_KIND_GUI_HEADER,
 
  248        U_VAR_KIND_GUI_HEADER_BEGIN,
 
  249        U_VAR_KIND_GUI_HEADER_END,
 
  252        U_VAR_KIND_HISTOGRAM_F32,
 
  253        U_VAR_KIND_DRAGGABLE_U16,
 
  263#define U_VAR_NAME_STRING_SIZE 256 
  372#define U_VAR_ADD_FUNCS()                                                                                              \ 
  373        ADD_FUNC(bool, bool, BOOL)                                                                                     \ 
  374        ADD_FUNC(rgb_u8, struct xrt_colour_rgb_u8, RGB_U8)                                                             \ 
  375        ADD_FUNC(rgb_f32, struct xrt_colour_rgb_f32, RGB_F32)                                                          \ 
  376        ADD_FUNC(u8, uint8_t, U8)                                                                                      \ 
  377        ADD_FUNC(u16, uint16_t, U16)                                                                                   \ 
  378        ADD_FUNC(u64, uint64_t, U64)                                                                                   \ 
  379        ADD_FUNC(i32, int32_t, I32)                                                                                    \ 
  380        ADD_FUNC(i64, int64_t, I64)                                                                                    \ 
  381        ADD_FUNC(f32, float, F32)                                                                                      \ 
  382        ADD_FUNC(f64, double, F64)                                                                                     \ 
  383        ADD_FUNC(f32_arr, struct u_var_f32_arr, F32_ARR)                                                               \ 
  384        ADD_FUNC(f32_timing, struct u_var_timing, TIMING)                                                              \ 
  385        ADD_FUNC(vec3_i32, struct xrt_vec3_i32, VEC3_I32)                                                              \ 
  386        ADD_FUNC(vec3_f32, struct xrt_vec3, VEC3_F32)                                                                  \ 
  387        ADD_FUNC(pose, struct xrt_pose, POSE)                                                                          \ 
  388        ADD_FUNC(sink_debug, struct u_sink_debug, SINK_DEBUG)                                                          \ 
  389        ADD_FUNC(native_images_debug, struct u_native_images_debug, NATIVE_IMAGES_DEBUG)                               \ 
  390        ADD_FUNC(log_level, enum u_logging_level, LOG_LEVEL)                                                           \ 
  391        ADD_FUNC(ro_text, const char, RO_TEXT)                                                                         \ 
  392        ADD_FUNC(ro_ftext, const char, RO_FTEXT)                                                                       \ 
  393        ADD_FUNC(ro_i16, int16_t, RO_I16)                                                                              \ 
  394        ADD_FUNC(ro_i32, int32_t, RO_I32)                                                                              \ 
  395        ADD_FUNC(ro_u16, uint16_t, RO_U16)                                                                             \ 
  396        ADD_FUNC(ro_u32, uint32_t, RO_U32)                                                                             \ 
  397        ADD_FUNC(ro_f32, float, RO_F32)                                                                                \ 
  398        ADD_FUNC(ro_i64, int64_t, RO_I64)                                                                              \ 
  399        ADD_FUNC(ro_u64, uint64_t, RO_U64)                                                                             \ 
  400        ADD_FUNC(ro_f64, double, RO_F64)                                                                               \ 
  401        ADD_FUNC(ro_i64_ns, int64_t, RO_I64_NS)                                                                        \ 
  402        ADD_FUNC(ro_vec3_i32, struct xrt_vec3_i32, RO_VEC3_I32)                                                        \ 
  403        ADD_FUNC(ro_vec3_f32, struct xrt_vec3, RO_VEC3_F32)                                                            \ 
  404        ADD_FUNC(ro_quat_f32, struct xrt_quat, RO_QUAT_F32)                                                            \ 
  405        ADD_FUNC(ro_ff_f64, struct m_ff_f64, RO_FF_F64)                                                                \ 
  406        ADD_FUNC(ro_ff_vec3_f32, struct m_ff_vec3_f32, RO_FF_VEC3_F32)                                                 \ 
  407        ADD_FUNC(gui_header, bool, GUI_HEADER)                                                                         \ 
  408        ADD_FUNC(gui_header_begin, bool, GUI_HEADER_BEGIN)                                                             \ 
  409        ADD_FUNC(gui_header_end, bool, GUI_HEADER_END)                                                                 \ 
  410        ADD_FUNC(button, struct u_var_button, BUTTON)                                                                  \ 
  411        ADD_FUNC(combo, struct u_var_combo, COMBO)                                                                     \ 
  412        ADD_FUNC(draggable_f32, struct u_var_draggable_f32, DRAGGABLE_F32)                                             \ 
  413        ADD_FUNC(draggable_u16, struct u_var_draggable_u16, DRAGGABLE_U16)                                             \ 
  414        ADD_FUNC(histogram_f32, struct u_var_histogram_f32, HISTOGRAM_F32)                                             \ 
  415        ADD_FUNC(curve, struct u_var_curve, CURVE)                                                                     \ 
  416        ADD_FUNC(curves, struct u_var_curves, CURVES) 
  418#define ADD_FUNC(SUFFIX, TYPE, ENUM) void u_var_add_##SUFFIX(void *, TYPE *, const char *); 
void u_var_add_root(void *root, const char *c_name, bool suffix_with_number)
Add a named root object, the u_var subsystem is completely none-invasive to the object it's tracking.
 
void(* u_var_button_cb)(void *)
Callback for a button action.
Definition: u_var.h:71
 
void(* u_var_root_cb)(struct u_var_root_info *info, void *)
Callback for entering and leaving root nodes.
Definition: u_var.h:306
 
#define U_VAR_NAME_STRING_SIZE
Maximum string length for a tracked variable.
Definition: u_var.h:263
 
void u_var_visit(u_var_root_cb enter_cb, u_var_root_cb exit_cb, u_var_elm_cb elem_cb, void *priv)
Visit all root nodes and their variables.
 
void u_var_force_on(void)
This forces the variable tracking code to on, it is disabled by default.
 
void u_var_remove_root(void *root)
Remove the root node.
 
struct u_var_curve_point(* u_var_curve_getter)(void *data, int i)
Callback for getting points on a curve.
Definition: u_var.h:173
 
u_var_kind
What kind of variable is this tracking.
Definition: u_var.h:211
 
void(* u_var_elm_cb)(struct u_var_info *info, void *)
Callback on each variable a root node has.
Definition: u_var.h:313
 
Definition: m_filter_fifo.c:183
 
Definition: m_filter_fifo.c:23
 
A struct for debugging one or more native images.
Definition: u_native_images_debug.h:27
 
Allows more safely to debug sink inputs and outputs.
Definition: u_sink.h:211
 
Combo box information.
Definition: u_var.h:103
 
int count
Number of options.
Definition: u_var.h:105
 
int * value
Pointer to the option value.
Definition: u_var.h:111
 
const char * options
List of count option names separated by \0.
Definition: u_var.h:108
 
A point on the curve, uses doubles like ImPlotPoint.
Definition: u_var.h:163
 
A single curve on a plot.
Definition: u_var.h:181
 
const char * ylabel
Label of the Y axis.
Definition: u_var.h:187
 
int count
Number of points to draw; param i < count.
Definition: u_var.h:184
 
const char * xlabel
Label of the X axis.
Definition: u_var.h:186
 
void * data
User data for getter
Definition: u_var.h:183
 
const char * label
Curve name.
Definition: u_var.h:185
 
u_var_curve_getter getter
Getter of 2D points for the curve.
Definition: u_var.h:182
 
A collection of curves to be plotted.
Definition: u_var.h:196
 
const char * ylabel
Label of the Y axis.
Definition: u_var.h:202
 
const char * xlabel
Label of the X axis.
Definition: u_var.h:201
 
Draggable single precision float information.
Definition: u_var.h:120
 
Draggable usingned 16-bit integer information.
Definition: u_var.h:133
 
uint16_t * val
Definition: u_var.h:138
 
Used to plot an array for values.
Definition: u_var.h:34
 
Histogram based on single precision bars.
Definition: u_var.h:150
 
float height
Widget height or 0 for auto.
Definition: u_var.h:154
 
float width
Widget width or 0 for auto.
Definition: u_var.h:153
 
int count
Number of bins.
Definition: u_var.h:152
 
float * values
Bin heights.
Definition: u_var.h:151
 
Struct that keeps all of the information about the variable, some of the UI state is kept on it.
Definition: u_var.h:272
 
Struct containing the information about a root object.
Definition: u_var.h:290
 
uint32_t number
The number of the window, or zero (name and raw_name are the same).
Definition: u_var.h:298
 
const char * name
The displayed name.
Definition: u_var.h:292
 
const char * raw_name
Raw name without any suffix.
Definition: u_var.h:295
 
Used to plot a graph of timing information.
Definition: u_var.h:46
 
float range
How many units the graph expands by default.
Definition: u_var.h:57
 
bool center_reference_timing
If false, reference_timing will be the bottom of the graph.
Definition: u_var.h:54
 
bool dynamic_rescale
Rescale graph's value range when value exceeds range.
Definition: u_var.h:60
 
float reference_timing
A reference line drawn on the plot.
Definition: u_var.h:51
 
struct u_var_f32_arr values
Values to be plotted.
Definition: u_var.h:48
 
const char * unit
A string describing the unit used, not freed.
Definition: u_var.h:63
 
A object that is sent frames.
Definition: xrt_frame.h:58
 
Basic logging functionality.
 
Common defines and enums for XRT.