pub trait WithDualAxisProcessingPipelineExt: Sized {
Show 49 methods
// Required methods
fn reset_processing_pipeline(self) -> Self;
fn replace_processing_pipeline(
self,
processors: impl IntoIterator<Item = DualAxisProcessor>,
) -> Self;
fn with_processor(self, processor: impl Into<DualAxisProcessor>) -> Self;
// Provided methods
fn digital(self) -> Self { ... }
fn inverted(self) -> Self { ... }
fn inverted_x(self) -> Self { ... }
fn inverted_y(self) -> Self { ... }
fn sensitivity(self, sensitivity: f32) -> Self { ... }
fn sensitivity_x(self, sensitivity: f32) -> Self { ... }
fn sensitivity_y(self, sensitivity: f32) -> Self { ... }
fn with_bounds(self, min: f32, max: f32) -> Self { ... }
fn with_bounds_symmetric(self, threshold: f32) -> Self { ... }
fn with_bounds_x(self, min: f32, max: f32) -> Self { ... }
fn with_bounds_x_symmetric(self, threshold: f32) -> Self { ... }
fn with_bounds_y(self, min: f32, max: f32) -> Self { ... }
fn with_bounds_y_symmetric(self, threshold: f32) -> Self { ... }
fn at_least(self, min: f32) -> Self { ... }
fn at_least_only_x(self, min: f32) -> Self { ... }
fn at_least_only_y(self, min: f32) -> Self { ... }
fn at_most(self, min: f32) -> Self { ... }
fn at_most_only_x(self, min: f32) -> Self { ... }
fn at_most_only_y(self, min: f32) -> Self { ... }
fn with_circle_bounds(self, max: f32) -> Self { ... }
fn with_deadzone(self, negative_max: f32, positive_min: f32) -> Self { ... }
fn with_deadzone_symmetric(self, threshold: f32) -> Self { ... }
fn only_positive(self, positive_min: f32) -> Self { ... }
fn only_negative(self, negative_max: f32) -> Self { ... }
fn with_deadzone_x(self, negative_max: f32, positive_min: f32) -> Self { ... }
fn with_deadzone_x_symmetric(self, threshold: f32) -> Self { ... }
fn only_positive_x(self, positive_min: f32) -> Self { ... }
fn only_negative_x(self, negative_max: f32) -> Self { ... }
fn with_deadzone_y(self, negative_max: f32, positive_min: f32) -> Self { ... }
fn with_deadzone_y_symmetric(self, threshold: f32) -> Self { ... }
fn only_positive_y(self, positive_min: f32) -> Self { ... }
fn only_negative_y(self, negative_max: f32) -> Self { ... }
fn with_circle_deadzone(self, min: f32) -> Self { ... }
fn with_deadzone_unscaled(
self,
negative_max: f32,
positive_min: f32,
) -> Self { ... }
fn with_deadzone_symmetric_unscaled(self, threshold: f32) -> Self { ... }
fn only_positive_unscaled(self, positive_min: f32) -> Self { ... }
fn only_negative_unscaled(self, negative_max: f32) -> Self { ... }
fn with_deadzone_x_unscaled(
self,
negative_max: f32,
positive_min: f32,
) -> Self { ... }
fn with_deadzone_x_symmetric_unscaled(self, threshold: f32) -> Self { ... }
fn only_positive_x_unscaled(self, positive_min: f32) -> Self { ... }
fn only_negative_x_unscaled(self, negative_max: f32) -> Self { ... }
fn with_deadzone_y_unscaled(
self,
negative_max: f32,
positive_min: f32,
) -> Self { ... }
fn with_deadzone_y_symmetric_unscaled(self, threshold: f32) -> Self { ... }
fn only_positive_y_unscaled(self, positive_min: f32) -> Self { ... }
fn only_negative_y_unscaled(self, negative_max: f32) -> Self { ... }
fn with_circle_deadzone_unscaled(self, min: f32) -> Self { ... }
}
Expand description
Provides methods for configuring and manipulating the processing pipeline for dual-axis input.
Required Methods§
sourcefn reset_processing_pipeline(self) -> Self
fn reset_processing_pipeline(self) -> Self
Resets the processing pipeline, removing any currently applied processors.
sourcefn replace_processing_pipeline(
self,
processors: impl IntoIterator<Item = DualAxisProcessor>,
) -> Self
fn replace_processing_pipeline( self, processors: impl IntoIterator<Item = DualAxisProcessor>, ) -> Self
Replaces the current processing pipeline with the given DualAxisProcessor
s.
sourcefn with_processor(self, processor: impl Into<DualAxisProcessor>) -> Self
fn with_processor(self, processor: impl Into<DualAxisProcessor>) -> Self
Appends the given DualAxisProcessor
as the next processing step.
Provided Methods§
sourcefn digital(self) -> Self
fn digital(self) -> Self
Appends an DualAxisProcessor::Digital
processor as the next processing step,
similar to Vec2::signum
but returning 0.0
for zero values.
sourcefn inverted(self) -> Self
fn inverted(self) -> Self
Appends a DualAxisInverted::ALL
processor as the next processing step,
flipping the sign of values on both axes.
sourcefn inverted_x(self) -> Self
fn inverted_x(self) -> Self
Appends a DualAxisInverted::ONLY_X
processor as the next processing step,
only flipping the sign of the X-axis values.
sourcefn inverted_y(self) -> Self
fn inverted_y(self) -> Self
Appends a DualAxisInverted::ONLY_Y
processor as the next processing step,
only flipping the sign of the Y-axis values.
sourcefn sensitivity(self, sensitivity: f32) -> Self
fn sensitivity(self, sensitivity: f32) -> Self
Appends a DualAxisSensitivity
processor as the next processing step,
multiplying values on both axes with the given sensitivity factor.
sourcefn sensitivity_x(self, sensitivity: f32) -> Self
fn sensitivity_x(self, sensitivity: f32) -> Self
Appends a DualAxisSensitivity
processor as the next processing step,
only multiplying the X-axis values with the given sensitivity factor.
sourcefn sensitivity_y(self, sensitivity: f32) -> Self
fn sensitivity_y(self, sensitivity: f32) -> Self
Appends a DualAxisSensitivity
processor as the next processing step,
only multiplying the Y-axis values with the given sensitivity factor.
sourcefn with_bounds(self, min: f32, max: f32) -> Self
fn with_bounds(self, min: f32, max: f32) -> Self
Appends a DualAxisBounds
processor as the next processing step,
restricting values within the same range [min, max]
on both axes.
sourcefn with_bounds_symmetric(self, threshold: f32) -> Self
fn with_bounds_symmetric(self, threshold: f32) -> Self
Appends a DualAxisBounds
processor as the next processing step,
restricting values within the same range [-threshold, threshold]
on both axes.
sourcefn with_bounds_x(self, min: f32, max: f32) -> Self
fn with_bounds_x(self, min: f32, max: f32) -> Self
Appends a DualAxisBounds
processor as the next processing step,
only restricting values within the range [min, max]
on the X-axis.
sourcefn with_bounds_x_symmetric(self, threshold: f32) -> Self
fn with_bounds_x_symmetric(self, threshold: f32) -> Self
Appends a DualAxisBounds
processor as the next processing step,
restricting values within the range [-threshold, threshold]
on the X-axis.
sourcefn with_bounds_y(self, min: f32, max: f32) -> Self
fn with_bounds_y(self, min: f32, max: f32) -> Self
Appends a DualAxisBounds
processor as the next processing step,
only restricting values within the range [min, max]
on the Y-axis.
sourcefn with_bounds_y_symmetric(self, threshold: f32) -> Self
fn with_bounds_y_symmetric(self, threshold: f32) -> Self
Appends a DualAxisBounds
processor as the next processing step,
restricting values within the range [-threshold, threshold]
on the Y-axis.
sourcefn at_least(self, min: f32) -> Self
fn at_least(self, min: f32) -> Self
Appends a DualAxisBounds
processor as the next processing step,
restricting values to a minimum value on both axes.
sourcefn at_least_only_x(self, min: f32) -> Self
fn at_least_only_x(self, min: f32) -> Self
Appends a DualAxisBounds
processor as the next processing step,
restricting X values to a minimum value.
sourcefn at_least_only_y(self, min: f32) -> Self
fn at_least_only_y(self, min: f32) -> Self
Appends a DualAxisBounds
processor as the next processing step,
restricting Y values to a minimum value.
sourcefn at_most(self, min: f32) -> Self
fn at_most(self, min: f32) -> Self
Appends a DualAxisBounds
processor as the next processing step,
restricting values to a maximum value on both axes.
sourcefn at_most_only_x(self, min: f32) -> Self
fn at_most_only_x(self, min: f32) -> Self
Appends a DualAxisBounds
processor as the next processing step,
restricting X values to a maximum value.
sourcefn at_most_only_y(self, min: f32) -> Self
fn at_most_only_y(self, min: f32) -> Self
Appends a DualAxisBounds
processor as the next processing step,
restricting Y values to a maximum value.
sourcefn with_circle_bounds(self, max: f32) -> Self
fn with_circle_bounds(self, max: f32) -> Self
Appends a CircleBounds
processor as the next processing step,
restricting values to a max
magnitude.
§Requirements
max
>=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn with_deadzone(self, negative_max: f32, positive_min: f32) -> Self
fn with_deadzone(self, negative_max: f32, positive_min: f32) -> Self
Appends a DualAxisDeadZone
processor as the next processing step,
excluding values within the dead zone range [negative_max, positive_min]
on both axes,
treating them as zeros, then normalizing non-excluded input values into the “live zone”,
the remaining range within the DualAxisBounds::symmetric_all(1.0)
after dead zone exclusion.
§Requirements
negative_max
<=0.0
<=positive_min
.
§Panics
Panics if the requirements aren’t met.
sourcefn with_deadzone_symmetric(self, threshold: f32) -> Self
fn with_deadzone_symmetric(self, threshold: f32) -> Self
Appends a DualAxisDeadZone
processor as the next processing step,
excluding values within the dead zone range [-threshold, threshold]
on both axes,
treating them as zeros, then normalizing non-excluded input values into the “live zone”,
the remaining range within the DualAxisBounds::symmetric_all(1.0)
after dead zone exclusion.
§Requirements
threshold
>=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn only_positive(self, positive_min: f32) -> Self
fn only_positive(self, positive_min: f32) -> Self
Appends a DualAxisDeadZone
processor as the next processing step,
only passing positive values that greater than positive_min
on both axes
and then normalizing them into the “live zone” range [positive_min, 1.0]
.
§Requirements
positive_min
>=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn only_negative(self, negative_max: f32) -> Self
fn only_negative(self, negative_max: f32) -> Self
Appends a DualAxisDeadZone
processor as the next processing step,
only passing negative values that less than negative_max
on both axes
and then normalizing them into the “live zone” range [-1.0, negative_max]
.
§Requirements
negative_max
<=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn with_deadzone_x(self, negative_max: f32, positive_min: f32) -> Self
fn with_deadzone_x(self, negative_max: f32, positive_min: f32) -> Self
Appends a DualAxisDeadZone
processor as the next processing step,
excluding values within the range [negative_max, positive_min]
on the X-axis,
treating them as zeros, then normalizing non-excluded X values into the “live zone”,
the remaining range within the AxisBounds::symmetric(1.0)
after dead zone exclusion.
§Requirements
negative_max
<=0.0
<=positive_min
.
§Panics
Panics if the requirements aren’t met.
sourcefn with_deadzone_x_symmetric(self, threshold: f32) -> Self
fn with_deadzone_x_symmetric(self, threshold: f32) -> Self
Appends a DualAxisDeadZone
processor as the next processing step,
excluding values within the range [-threshold, threshold]
on the X-axis,
treating them as zeros, then normalizing non-excluded X values into the “live zone”,
the remaining range within the AxisBounds::symmetric(1.0)
after dead zone exclusion.
§Requirements
threshold
>=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn only_positive_x(self, positive_min: f32) -> Self
fn only_positive_x(self, positive_min: f32) -> Self
Appends a DualAxisDeadZone
processor as the next processing step,
only excluding X values that less than or equal to positive_min
, treating them as zeros
and then normalizing non-excluded X values into the “live zone” range [positive_min, 1.0]
.
§Requirements
positive_min
>=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn only_negative_x(self, negative_max: f32) -> Self
fn only_negative_x(self, negative_max: f32) -> Self
Appends a DualAxisDeadZone
processor as the next processing step,
only excluding X values that greater than or equal to negative_max
, treating them as zeros
and then normalizing non-excluded X values into the “live zone” range [-1.0, negative_max]
.
§Requirements
negative_max
<=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn with_deadzone_y(self, negative_max: f32, positive_min: f32) -> Self
fn with_deadzone_y(self, negative_max: f32, positive_min: f32) -> Self
Appends a DualAxisDeadZone
processor as the next processing step,
excluding values within the range [negative_max, positive_min]
on the Y-axis,
treating them as zeros, then normalizing non-excluded Y values into the “live zone”,
the remaining range within the AxisBounds::symmetric(1.0)
after dead zone exclusion.
§Requirements
negative_max
<=0.0
<=positive_min
.
§Panics
Panics if the requirements aren’t met.
sourcefn with_deadzone_y_symmetric(self, threshold: f32) -> Self
fn with_deadzone_y_symmetric(self, threshold: f32) -> Self
Appends a DualAxisDeadZone
processor as the next processing step,
excluding values within the range [-threshold, threshold]
on the Y-axis,
treating them as zeros, then normalizing non-excluded Y values into the “live zone”,
the remaining range within the AxisBounds::symmetric(1.0)
after dead zone exclusion.
§Requirements
threshold
>=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn only_positive_y(self, positive_min: f32) -> Self
fn only_positive_y(self, positive_min: f32) -> Self
Appends a DualAxisDeadZone
processor as the next processing step,
only excluding Y values that less than or equal to positive_min
, treating them as zeros
and then normalizing non-excluded Y values into the range [positive_min, 1.0]
.
§Requirements
positive_min
>=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn only_negative_y(self, negative_max: f32) -> Self
fn only_negative_y(self, negative_max: f32) -> Self
Appends a DualAxisDeadZone
processor as the next processing step,
only excluding Y values that greater than or equal to negative_max
, treating them as zeros
and then normalizing non-excluded Y values into the range [-1.0, negative_max]
.
§Requirements
negative_max
<=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn with_circle_deadzone(self, min: f32) -> Self
fn with_circle_deadzone(self, min: f32) -> Self
Appends a CircleDeadZone
processor as the next processing step,
ignoring values below a min
magnitude, treating them as zeros,
then normalizing non-excluded input values into the “live zone”,
the remaining range within the CircleBounds::new(1.0)
after dead zone exclusion.
§Requirements
min
>=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn with_deadzone_unscaled(self, negative_max: f32, positive_min: f32) -> Self
fn with_deadzone_unscaled(self, negative_max: f32, positive_min: f32) -> Self
Appends a DualAxisExclusion
processor as the next processing step,
ignoring values within the range [negative_max, positive_min]
on both axes,
treating them as zeros.
§Requirements
negative_max
<=0.0
<=positive_min
.
§Panics
Panics if the requirements aren’t met.
sourcefn with_deadzone_symmetric_unscaled(self, threshold: f32) -> Self
fn with_deadzone_symmetric_unscaled(self, threshold: f32) -> Self
Appends a DualAxisExclusion
processor as the next processing step,
ignoring values within the range [-threshold, threshold]
on both axes,
treating them as zeros.
§Requirements
threshold
>=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn only_positive_unscaled(self, positive_min: f32) -> Self
fn only_positive_unscaled(self, positive_min: f32) -> Self
Appends a DualAxisExclusion
processor as the next processing step,
only passing positive values that greater than positive_min
on both axes,
treating them as zeros.
§Requirements
positive_min
>=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn only_negative_unscaled(self, negative_max: f32) -> Self
fn only_negative_unscaled(self, negative_max: f32) -> Self
Appends a DualAxisExclusion
processor as the next processing step,
only passing negative values that less than negative_max
on both axes,
treating them as zeros.
§Requirements
negative_max
<=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn with_deadzone_x_unscaled(self, negative_max: f32, positive_min: f32) -> Self
fn with_deadzone_x_unscaled(self, negative_max: f32, positive_min: f32) -> Self
Appends a DualAxisExclusion
processor as the next processing step,
only ignoring values within the range [negative_max, positive_min]
on the X-axis,
treating them as zeros.
§Requirements
negative_max
<=0.0
<=positive_min
.
§Panics
Panics if the requirements aren’t met.
sourcefn with_deadzone_x_symmetric_unscaled(self, threshold: f32) -> Self
fn with_deadzone_x_symmetric_unscaled(self, threshold: f32) -> Self
Appends a DualAxisExclusion
processor as the next processing step,
only ignoring values within the range [-threshold, threshold]
on the X-axis,
treating them as zeros.
§Requirements
threshold
>=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn only_positive_x_unscaled(self, positive_min: f32) -> Self
fn only_positive_x_unscaled(self, positive_min: f32) -> Self
Appends a DualAxisExclusion
processor as the next processing step,
only excluding X values that less than or equal to positive_min
,
treating them as zeros.
§Requirements
positive_min
>=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn only_negative_x_unscaled(self, negative_max: f32) -> Self
fn only_negative_x_unscaled(self, negative_max: f32) -> Self
Appends a DualAxisExclusion
processor as the next processing step,
only excluding X values that greater than or equal to negative_max
,
treating them as zeros.
§Requirements
negative_max
<=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn with_deadzone_y_unscaled(self, negative_max: f32, positive_min: f32) -> Self
fn with_deadzone_y_unscaled(self, negative_max: f32, positive_min: f32) -> Self
Appends a DualAxisExclusion
processor as the next processing step,
only ignoring values within the range [negative_max, positive_min]
on the Y-axis,
treating them as zeros.
§Requirements
negative_max
<=0.0
<=positive_min
.
§Panics
Panics if the requirements aren’t met.
sourcefn with_deadzone_y_symmetric_unscaled(self, threshold: f32) -> Self
fn with_deadzone_y_symmetric_unscaled(self, threshold: f32) -> Self
Appends a DualAxisExclusion
processor as the next processing step,
only ignoring values within the range [-threshold, threshold]
on the Y-axis,
treating them as zeros.
§Requirements
threshold
>=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn only_positive_y_unscaled(self, positive_min: f32) -> Self
fn only_positive_y_unscaled(self, positive_min: f32) -> Self
Appends a DualAxisExclusion
processor as the next processing step,
only excluding Y values that less than or equal to positive_min
,
treating them as zeros.
§Requirements
positive_min
>=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn only_negative_y_unscaled(self, negative_max: f32) -> Self
fn only_negative_y_unscaled(self, negative_max: f32) -> Self
Appends a DualAxisExclusion
processor as the next processing step,
only excluding Y values that greater than or equal to negative_max
,
treating them as zeros.
§Requirements
negative_max
<=0.0
.
§Panics
Panics if the requirements aren’t met.
sourcefn with_circle_deadzone_unscaled(self, min: f32) -> Self
fn with_circle_deadzone_unscaled(self, min: f32) -> Self
Appends a CircleExclusion
processor as the next processing step,
ignoring values below a min
magnitude, treating them as zeros.
§Requirements
min
>=0.0
.
§Panics
Panics if the requirements aren’t met.