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

Method sync

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

Source from the content-addressed store, hash-verified

501 binding: 1,
502 resource: BindingResource::Sampler(&self.composite_sampler),
503 },
504 ],
505 });
506
507 self.msaa_targets = Some(MsaaTargets {
508 width,
509 height,
510 _msaa_texture: msaa_texture,
511 msaa_view,
512 _resolved_texture: resolved_texture,
513 resolved_view,
514 composite_bind_group,
515 });
516 }
517
518 fn sync(&mut self, device: &Device, queue: &Queue, state: &PlotState) {
519 // Check if render offset changed - if so, we need to rebuild vertex buffers
520 // since positions are stored relative to render_offset
521 let offset_changed = self.versions.render_offset != state.camera.render_offset;
522
523 if state.markers_version != self.versions.markers || offset_changed {
524 self.rebuild_markers(device, queue, state);
525 self.versions.markers = state.markers_version;
526 }
527 if state.fills_version != self.versions.fills || offset_changed {
528 self.rebuild_fills(device, queue, state);
529 self.versions.fills = state.fills_version;
530 }
531 if state.lines_version != self.versions.lines || offset_changed {
532 self.rebuild_lines(device, queue, state);
533 self.versions.lines = state.lines_version;
534 }
535
536 // Rebuild reference lines whenever camera changes
537 self.rebuild_reflines(device, queue, state);
538
539 // Update cached render offset
540 self.versions.render_offset = state.camera.render_offset;
541
542 // Selection is rebuilt whenever it's active.
543 self.rebuild_selection(device, queue, state);

Callers 1

prepare_frameMethod · 0.80

Calls 7

rebuild_markersMethod · 0.80
rebuild_fillsMethod · 0.80
rebuild_linesMethod · 0.80
rebuild_reflinesMethod · 0.80
rebuild_selectionMethod · 0.80
rebuild_highlightMethod · 0.80
rebuild_crosshairsMethod · 0.80

Tested by

no test coverage detected