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

Method service_picking

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

Source from the content-addressed store, hash-verified

574 self.set_scale_factor(scale_factor);
575 // In-pass path (MSAA=1, Android) never runs `encode`, so the offscreen
576 // MSAA/resolve textures would only waste memory; `encode` self-guards
577 // by early-returning when `msaa_targets` is `None`.
578 if MSAA_SAMPLE_COUNT > 1 {
579 self.ensure_msaa_targets(device, viewport_size.width, viewport_size.height);
580 }
581
582 // Sync picking viewport
583 self.picking
584 .set_view(bounds_width, bounds_height, scale_factor);
585
586 // Ensure pipelines/grid and synchronize GPU buffers
587 self.ensure_pipelines_and_update_grid(device, queue, state);
588
589 // Upload camera uniform based on current camera and bounds dimensions
590 let mut cam_u = CameraUniform::default();
591 cam_u.update(&state.camera, bounds_width, bounds_height);
592 queue.write_buffer(&self.camera_buffer, 0, bytemuck::bytes_of(&cam_u));
593 self.sync(device, queue, state);
594 }
595
596 pub(crate) fn service_picking(
597 &mut self,
598 instance_id: u64,
599 device: &Device,
600 queue: &Queue,
601 state: &PlotState,
602 ) {
603 let marker_buffer = self.buffers.markers.as_ref().map(|vb| &vb.buffer);
604 let marker_instances = self
605 .buffers

Callers 1

prepareMethod · 0.80

Calls 2

mapMethod · 0.80
serviceMethod · 0.80

Tested by

no test coverage detected