beamformer_core.c (5978B)
1 /* See LICENSE for license details. */ 2 3 // GENERATED CODE 4 5 typedef enum { 6 BeamformerDataLayout_ChannelEventSample = 0, 7 BeamformerDataLayout_ChannelSampleEvent = 1, 8 BeamformerDataLayout_EventChannelSample = 2, 9 BeamformerDataLayout_SampleChannelEvent = 3, 10 BeamformerDataLayout_Image = 4, 11 BeamformerDataLayout_Count, 12 } BeamformerDataLayout; 13 14 typedef enum { 15 BeamformerRFDimension_Channels = 0, 16 BeamformerRFDimension_Events = 1, 17 BeamformerRFDimension_Samples = 2, 18 BeamformerRFDimension_Count, 19 } BeamformerRFDimension; 20 21 typedef enum { 22 BeamformerPanelKind_Nil = 0, 23 BeamformerPanelKind_Split = 1, 24 BeamformerPanelKind_TabGroup = 2, 25 BeamformerPanelKind_ComputeBarGraph = 3, 26 BeamformerPanelKind_ComputeStats = 4, 27 BeamformerPanelKind_FrameViewLive = 5, 28 BeamformerPanelKind_FrameViewCopy = 6, 29 BeamformerPanelKind_FrameViewXPlane = 7, 30 BeamformerPanelKind_LiveImagingControls = 8, 31 BeamformerPanelKind_ParameterListing = 9, 32 BeamformerPanelKind_Count, 33 } BeamformerPanelKind; 34 35 typedef enum { 36 BeamformerRegisterSlot_String = 0, 37 BeamformerRegisterSlot_TreeNode = 1, 38 BeamformerRegisterSlot_Window = 2, 39 BeamformerRegisterSlot_Frame = 3, 40 BeamformerRegisterSlot_FrameView = 4, 41 BeamformerRegisterSlot_LiveControls = 5, 42 BeamformerRegisterSlot_SplitAxis = 6, 43 BeamformerRegisterSlot_SplitLeftTree = 7, 44 BeamformerRegisterSlot_SplitRightTree = 8, 45 BeamformerRegisterSlot_DropTargetTree = 9, 46 BeamformerRegisterSlot_DropChildIndex = 10, 47 BeamformerRegisterSlot_Count, 48 } BeamformerRegisterSlot; 49 50 typedef enum { 51 BeamformerCommandKind_Nil = 0, 52 BeamformerCommandKind_CloseTab = 1, 53 BeamformerCommandKind_FocusTab = 2, 54 BeamformerCommandKind_MoveTab = 3, 55 BeamformerCommandKind_OpenTab = 4, 56 BeamformerCommandKind_SplitTree = 5, 57 BeamformerCommandKind_Count, 58 } BeamformerCommandKind; 59 60 typedef enum { 61 BeamformerPanelFlags_List = 1 << 0, 62 BeamformerPanelFlags_NeedsFrame = 1 << 1, 63 BeamformerPanelFlags_HasSettings = 1 << 2, 64 } BeamformerPanelFlags; 65 66 typedef struct { 67 str8 display; 68 str8 string; 69 str8 description; 70 BeamformerPanelFlags flags; 71 } BeamformerPanelInfo; 72 73 typedef struct { 74 str8 string; 75 u64 tree_node; 76 u64 window; 77 u64 frame; 78 u64 frame_view; 79 u64 live_controls; 80 u64 split_axis; 81 u64 split_left_tree; 82 u64 split_right_tree; 83 u64 drop_target_tree; 84 u64 drop_child_index; 85 } BeamformerRegisters; 86 87 typedef struct { 88 str8 string; 89 str8 display; 90 str8 description; 91 } BeamformerCommandInfo; 92 93 read_only BeamformerPanelInfo beamformer_panel_infos[] = { 94 {str8_comp(""), str8_comp("nil"), str8_comp(""), (0*BeamformerPanelFlags_List)|(0*BeamformerPanelFlags_NeedsFrame)|(0*BeamformerPanelFlags_HasSettings)}, 95 {str8_comp(""), str8_comp("split"), str8_comp(""), (0*BeamformerPanelFlags_List)|(0*BeamformerPanelFlags_NeedsFrame)|(0*BeamformerPanelFlags_HasSettings)}, 96 {str8_comp(""), str8_comp("group"), str8_comp(""), (0*BeamformerPanelFlags_List)|(0*BeamformerPanelFlags_NeedsFrame)|(0*BeamformerPanelFlags_HasSettings)}, 97 {str8_comp("Compute Bar Graph"), str8_comp("compute_bar_graph"), str8_comp("Bar graph showing portions of compute occupied by each stage."), (1*BeamformerPanelFlags_List)|(0*BeamformerPanelFlags_NeedsFrame)|(0*BeamformerPanelFlags_HasSettings)}, 98 {str8_comp("Compute Stats"), str8_comp("compute_stats"), str8_comp("Average stats about beamforming computations."), (1*BeamformerPanelFlags_List)|(0*BeamformerPanelFlags_NeedsFrame)|(0*BeamformerPanelFlags_HasSettings)}, 99 {str8_comp("Frame View"), str8_comp("frame_view_live"), str8_comp("Latest frame with selected tag."), (1*BeamformerPanelFlags_List)|(0*BeamformerPanelFlags_NeedsFrame)|(1*BeamformerPanelFlags_HasSettings)}, 100 {str8_comp("Frame View (Copy)"), str8_comp("frame_view_copy"), str8_comp("Copy of an old frame. Useful for comparisons."), (0*BeamformerPanelFlags_List)|(1*BeamformerPanelFlags_NeedsFrame)|(1*BeamformerPanelFlags_HasSettings)}, 101 {str8_comp("3D X-Plane"), str8_comp("frame_view_xplane"), str8_comp("3D Cross Plane View."), (1*BeamformerPanelFlags_List)|(0*BeamformerPanelFlags_NeedsFrame)|(1*BeamformerPanelFlags_HasSettings)}, 102 {str8_comp("Live Controls"), str8_comp("live_controls"), str8_comp("Imaging system controls."), (1*BeamformerPanelFlags_List)|(0*BeamformerPanelFlags_NeedsFrame)|(0*BeamformerPanelFlags_HasSettings)}, 103 {str8_comp("Parameter Listing"), str8_comp("parameters_listing"), str8_comp("Editable parameter set used for beamforming."), (1*BeamformerPanelFlags_List)|(0*BeamformerPanelFlags_NeedsFrame)|(1*BeamformerPanelFlags_HasSettings)}, 104 }; 105 106 #define beamformer_registers_init_literal \ 107 .string = beamformer_registers()->string, \ 108 .tree_node = beamformer_registers()->tree_node, \ 109 .window = beamformer_registers()->window, \ 110 .frame = beamformer_registers()->frame, \ 111 .frame_view = beamformer_registers()->frame_view, \ 112 .live_controls = beamformer_registers()->live_controls, \ 113 .split_axis = beamformer_registers()->split_axis, \ 114 .split_left_tree = beamformer_registers()->split_left_tree, \ 115 .split_right_tree = beamformer_registers()->split_right_tree, \ 116 .drop_target_tree = beamformer_registers()->drop_target_tree, \ 117 .drop_child_index = beamformer_registers()->drop_child_index, \ 118 119 read_only BeamformerCommandInfo beamformer_command_infos[] = { 120 {0}, 121 {str8_comp("close_tab"), str8_comp("Close Tab"), str8_comp("Closes currently active tab.")}, 122 {str8_comp("focus_tab"), str8_comp("Focus Tab"), str8_comp("Focus the currently selected tab in its group.")}, 123 {str8_comp("move_tab"), str8_comp("Move Tab"), str8_comp("Moves an exisiting tab to a different group/split.")}, 124 {str8_comp("open_tab"), str8_comp("Open Tab"), str8_comp("Opens a new tab with a specified view.")}, 125 {str8_comp("split_tree"), str8_comp("Split Tree"), str8_comp("Splits the UI into two new splits.")}, 126 }; 127