pub trait RenderStrategy {
// Required methods
fn reset_state(&mut self);
fn last_point(&self) -> Option<Pos2>;
fn set_last_point(&mut self, point: Pos2);
fn render_flat(
&mut self,
ctx: &mut DrawingContext<'_>,
render_ctx: &RenderContext,
start_px: f32,
start_val: f64,
end_px: f32,
end_val: f64,
);
// Provided method
fn render_range(
&mut self,
ctx: &mut DrawingContext<'_>,
render_ctx: &RenderContext,
px: f32,
min_val: f64,
max_val: f64,
) { ... }
}Expand description
Rendering strategy for analog waveforms.
Required Methods§
Sourcefn reset_state(&mut self)
fn reset_state(&mut self)
Reset state after encountering undefined values.
Sourcefn last_point(&self) -> Option<Pos2>
fn last_point(&self) -> Option<Pos2>
Get the last rendered point (for Range connection).
Sourcefn set_last_point(&mut self, point: Pos2)
fn set_last_point(&mut self, point: Pos2)
Set the last rendered point (after Range draws).
Sourcefn render_flat(
&mut self,
ctx: &mut DrawingContext<'_>,
render_ctx: &RenderContext,
start_px: f32,
start_val: f64,
end_px: f32,
end_val: f64,
)
fn render_flat( &mut self, ctx: &mut DrawingContext<'_>, render_ctx: &RenderContext, start_px: f32, start_val: f64, end_px: f32, end_val: f64, )
Render a flat segment.
Step: horizontal line at start_val, connect to next.
Interpolated: line from (start_px, start_val) to (end_px, end_val).
Provided Methods§
Sourcefn render_range(
&mut self,
ctx: &mut DrawingContext<'_>,
render_ctx: &RenderContext,
px: f32,
min_val: f64,
max_val: f64,
)
fn render_range( &mut self, ctx: &mut DrawingContext<'_>, render_ctx: &RenderContext, px: f32, min_val: f64, max_val: f64, )
Render a range segment (default impl, same for both strategies).
Draws vertical bar at px from min_val to max_val.