Add MagickEvaluateOperator type
This commit is contained in:
52
src/types/magick_evaluate_operator.rs
Normal file
52
src/types/magick_evaluate_operator.rs
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
use crate::bindings;
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||||
|
#[repr(u32)]
|
||||||
|
pub enum MagickEvaluateOperator {
|
||||||
|
Undefined = bindings::MagickEvaluateOperator_UndefinedEvaluateOperator,
|
||||||
|
Abs = bindings::MagickEvaluateOperator_AbsEvaluateOperator,
|
||||||
|
Add = bindings::MagickEvaluateOperator_AddEvaluateOperator,
|
||||||
|
AddModulus = bindings::MagickEvaluateOperator_AddModulusEvaluateOperator,
|
||||||
|
And = bindings::MagickEvaluateOperator_AndEvaluateOperator,
|
||||||
|
Cosine = bindings::MagickEvaluateOperator_CosineEvaluateOperator,
|
||||||
|
Divide = bindings::MagickEvaluateOperator_DivideEvaluateOperator,
|
||||||
|
Exponential = bindings::MagickEvaluateOperator_ExponentialEvaluateOperator,
|
||||||
|
GaussianNoise = bindings::MagickEvaluateOperator_GaussianNoiseEvaluateOperator,
|
||||||
|
ImpulseNoise = bindings::MagickEvaluateOperator_ImpulseNoiseEvaluateOperator,
|
||||||
|
LaplacianNoise = bindings::MagickEvaluateOperator_LaplacianNoiseEvaluateOperator,
|
||||||
|
LeftShift = bindings::MagickEvaluateOperator_LeftShiftEvaluateOperator,
|
||||||
|
Log = bindings::MagickEvaluateOperator_LogEvaluateOperator,
|
||||||
|
Max = bindings::MagickEvaluateOperator_MaxEvaluateOperator,
|
||||||
|
Mean = bindings::MagickEvaluateOperator_MeanEvaluateOperator,
|
||||||
|
Median = bindings::MagickEvaluateOperator_MedianEvaluateOperator,
|
||||||
|
Min = bindings::MagickEvaluateOperator_MinEvaluateOperator,
|
||||||
|
MultiplicativeNoise = bindings::MagickEvaluateOperator_MultiplicativeNoiseEvaluateOperator,
|
||||||
|
Multiply = bindings::MagickEvaluateOperator_MultiplyEvaluateOperator,
|
||||||
|
Or = bindings::MagickEvaluateOperator_OrEvaluateOperator,
|
||||||
|
PoissonNoise = bindings::MagickEvaluateOperator_PoissonNoiseEvaluateOperator,
|
||||||
|
Pow = bindings::MagickEvaluateOperator_PowEvaluateOperator,
|
||||||
|
RightShift = bindings::MagickEvaluateOperator_RightShiftEvaluateOperator,
|
||||||
|
RootMeanSquare = bindings::MagickEvaluateOperator_RootMeanSquareEvaluateOperator,
|
||||||
|
Set = bindings::MagickEvaluateOperator_SetEvaluateOperator,
|
||||||
|
Sine = bindings::MagickEvaluateOperator_SineEvaluateOperator,
|
||||||
|
Subtract = bindings::MagickEvaluateOperator_SubtractEvaluateOperator,
|
||||||
|
Sum = bindings::MagickEvaluateOperator_SumEvaluateOperator,
|
||||||
|
ThresholdBlack = bindings::MagickEvaluateOperator_ThresholdBlackEvaluateOperator,
|
||||||
|
Threshold = bindings::MagickEvaluateOperator_ThresholdEvaluateOperator,
|
||||||
|
ThresholdWhite = bindings::MagickEvaluateOperator_ThresholdWhiteEvaluateOperator,
|
||||||
|
UniformNoise = bindings::MagickEvaluateOperator_UniformNoiseEvaluateOperator,
|
||||||
|
Xor = bindings::MagickEvaluateOperator_XorEvaluateOperator,
|
||||||
|
InverseLog = bindings::MagickEvaluateOperator_InverseLogEvaluateOperator,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Default for MagickEvaluateOperator {
|
||||||
|
fn default() -> Self {
|
||||||
|
return MagickEvaluateOperator::Undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<MagickEvaluateOperator> for bindings::MagickEvaluateOperator {
|
||||||
|
fn from(value: MagickEvaluateOperator) -> Self {
|
||||||
|
return value as bindings::MagickEvaluateOperator;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -18,6 +18,7 @@ mod image_type;
|
|||||||
mod interlace_type;
|
mod interlace_type;
|
||||||
mod line_cap;
|
mod line_cap;
|
||||||
mod line_join;
|
mod line_join;
|
||||||
|
mod magick_evaluate_operator;
|
||||||
mod magick_function;
|
mod magick_function;
|
||||||
mod metric_type;
|
mod metric_type;
|
||||||
mod orientation_type;
|
mod orientation_type;
|
||||||
@ -49,6 +50,7 @@ pub use self::image_type::ImageType;
|
|||||||
pub use self::interlace_type::InterlaceType;
|
pub use self::interlace_type::InterlaceType;
|
||||||
pub use self::line_cap::LineCap;
|
pub use self::line_cap::LineCap;
|
||||||
pub use self::line_join::LineJoin;
|
pub use self::line_join::LineJoin;
|
||||||
|
pub use self::magick_evaluate_operator::MagickEvaluateOperator;
|
||||||
pub use self::magick_function::MagickFunction;
|
pub use self::magick_function::MagickFunction;
|
||||||
pub use self::metric_type::MetricType;
|
pub use self::metric_type::MetricType;
|
||||||
pub use self::orientation_type::OrientationType;
|
pub use self::orientation_type::OrientationType;
|
||||||
|
|||||||
@ -44,6 +44,7 @@ use crate::{
|
|||||||
GravityType,
|
GravityType,
|
||||||
ImageType,
|
ImageType,
|
||||||
InterlaceType,
|
InterlaceType,
|
||||||
|
MagickEvaluateOperator,
|
||||||
MagickFunction,
|
MagickFunction,
|
||||||
MetricType,
|
MetricType,
|
||||||
OrientationType,
|
OrientationType,
|
||||||
@ -1201,8 +1202,8 @@ impl MagickWand {
|
|||||||
/// expression to an image. Use these operators to lighten or darken an image,
|
/// expression to an image. Use these operators to lighten or darken an image,
|
||||||
/// to increase or decrease contrast in an image, or to produce the "negative"
|
/// to increase or decrease contrast in an image, or to produce the "negative"
|
||||||
/// of an image.
|
/// of an image.
|
||||||
pub fn evaluate_image(&mut self, op: bindings::MagickEvaluateOperator, val: f64) -> Result<()> {
|
pub fn evaluate_image(&mut self, op: MagickEvaluateOperator, val: f64) -> Result<()> {
|
||||||
let res = unsafe { bindings::MagickEvaluateImage(self.wand, op, val) };
|
let res = unsafe { bindings::MagickEvaluateImage(self.wand, op.into(), val) };
|
||||||
match res {
|
match res {
|
||||||
MagickTrue => Ok(()),
|
MagickTrue => Ok(()),
|
||||||
_ => Err(MagickError("failed to evaluate image")),
|
_ => Err(MagickError("failed to evaluate image")),
|
||||||
|
|||||||
Reference in New Issue
Block a user