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.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.