Render the debug layout elements tree list. Returns (row_count, selected_element_row_index).
(
&mut self,
initial_roots_length: usize,
highlighted_row: i32,
)
| 7569 | |
| 7570 | /// Render the debug layout elements tree list. Returns (row_count, selected_element_row_index). |
| 7571 | fn render_debug_layout_elements_list( |
| 7572 | &mut self, |
| 7573 | initial_roots_length: usize, |
| 7574 | highlighted_row: i32, |
| 7575 | ) -> (i32, i32) { |
| 7576 | let row_height = Self::DEBUG_VIEW_ROW_HEIGHT; |
| 7577 | let indent_width = Self::DEBUG_VIEW_INDENT_WIDTH; |
| 7578 | let mut row_count: i32 = 0; |
| 7579 | let mut selected_element_row_index: i32 = 0; |
| 7580 | let mut highlighted_element_id: u32 = 0; |
| 7581 | |
| 7582 | let scroll_item_layout = LayoutConfig { |
| 7583 | sizing: SizingConfig { |
| 7584 | height: SizingAxis { |
| 7585 | type_: SizingType::Fixed, |
| 7586 | min_max: SizingMinMax { min: row_height, max: row_height }, |
| 7587 | ..Default::default() |
| 7588 | }, |
| 7589 | ..Default::default() |
| 7590 | }, |
| 7591 | child_gap: 6, |
| 7592 | child_alignment: ChildAlignmentConfig { x: AlignX::Left, y: AlignY::CenterY }, |
| 7593 | ..Default::default() |
| 7594 | }; |
| 7595 | |
| 7596 | let name_text_config = TextConfig { |
| 7597 | color: Self::DEBUG_COLOR_4, |
| 7598 | font_size: 16, |
| 7599 | wrap_mode: WrapMode::None, |
| 7600 | ..Default::default() |
| 7601 | }; |
| 7602 | |
| 7603 | for root_index in 0..initial_roots_length { |
| 7604 | let mut dfs_buffer: Vec<i32> = Vec::new(); |
| 7605 | let root_layout_index = self.layout_element_tree_roots[root_index].layout_element_index; |
| 7606 | dfs_buffer.push(root_layout_index); |
| 7607 | let mut visited: Vec<bool> = vec![false; self.layout_elements.len()]; |
| 7608 | |
| 7609 | // Separator between roots |
| 7610 | if root_index > 0 { |
| 7611 | self.debug_open_idi("Ply__DebugView_EmptyRowOuter", root_index as u32, &ElementDeclaration { |
| 7612 | layout: LayoutConfig { |
| 7613 | sizing: SizingConfig { |
| 7614 | width: SizingAxis { type_: SizingType::Grow, ..Default::default() }, |
| 7615 | ..Default::default() |
| 7616 | }, |
| 7617 | padding: PaddingConfig { left: indent_width / 2, right: 0, top: 0, bottom: 0 }, |
| 7618 | ..Default::default() |
| 7619 | }, |
| 7620 | ..Default::default() |
| 7621 | }); |
| 7622 | { |
| 7623 | self.debug_open_idi("Ply__DebugView_EmptyRow", root_index as u32, &ElementDeclaration { |
| 7624 | layout: LayoutConfig { |
| 7625 | sizing: SizingConfig { |
| 7626 | width: SizingAxis { type_: SizingType::Grow, ..Default::default() }, |
| 7627 | height: SizingAxis { |
| 7628 | type_: SizingType::Fixed, |
no test coverage detected