MCPcopy Create free account
hub / github.com/donkeyteethUX/iced_plot / rebuild_fills

Method rebuild_fills

src/plot_renderer/shader.rs:1111–1144  ·  view source on GitHub ↗
(&mut self, device: &Device, queue: &Queue, state: &PlotState)

Source from the content-addressed store, hash-verified

1109 if recreate {
1110 self.buffers.markers = Some(VertexBuffer {
1111 buffer: device.create_buffer(&BufferDescriptor {
1112 label: Some("marker vb"),
1113 size: needed.max(2048),
1114 usage: BufferUsages::VERTEX | BufferUsages::COPY_DST,
1115 mapped_at_creation: false,
1116 }),
1117 vertex_count: marker_series_count as u32,
1118 });
1119 } else if let Some(vb) = &mut self.buffers.markers {
1120 vb.vertex_count = marker_series_count as u32;
1121 }
1122
1123 if let Some(vb) = &self.buffers.markers {
1124 queue.write_buffer(&vb.buffer, 0, data);
1125 }
1126
1127 // Update picking id map
1128 self.picking.set_id_map(id_map);
1129 }
1130
1131 fn rebuild_fills(&mut self, device: &Device, queue: &Queue, state: &PlotState) {
1132 self.buffers.fills = None;
1133 if state.fills.is_empty() {
1134 return;
1135 }
1136
1137 let mut writer = VertexWriter::new();
1138 for fill in state.fills.iter() {
1139 for world_pos in fill.vertices.iter() {
1140 let render_pos = self.world_to_render_pos(*world_pos, &state.camera);
1141 writer.write_position(render_pos);
1142 writer.write_color(&fill.color);
1143 }
1144 }
1145
1146 if writer.is_empty() {
1147 return;

Callers 1

syncMethod · 0.80

Calls 6

is_emptyMethod · 0.80
world_to_render_posMethod · 0.80
write_positionMethod · 0.80
write_colorMethod · 0.80
as_sliceMethod · 0.80
newFunction · 0.50

Tested by

no test coverage detected