| 1147 | |
| 1148 | fn view_tick_labels(&self) -> Option<Element<'_, PlotUiMessage>> { |
| 1149 | if self.x_ticks.is_empty() && self.y_ticks.is_empty() { |
| 1150 | return None; |
| 1151 | } |
| 1152 | |
| 1153 | let mut tick_elements = Vec::with_capacity(self.x_ticks.len() + self.y_ticks.len()); |
| 1154 | let tick_label_color = self.cached_style().tick_label_color; |
| 1155 | let tick_text = |text| { |
| 1156 | widget::text(text) |
| 1157 | .size(self.tick_label_size) |
| 1158 | .color(tick_label_color) |
| 1159 | }; |
| 1160 | |
| 1161 | if let Some(formatter) = &self.x_axis_formatter { |
| 1162 | for tick in &self.x_ticks { |
| 1163 | let label_text = formatter(tick.tick); |
| 1164 | let centering_offset = 2.0 * (label_text.len() as f32); // A bit of a fudge. |
| 1165 | let text_widget = tick_text(label_text); |
| 1166 | let positioned_label = container(text_widget) |
| 1167 | .width(Length::Fill) |