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 line_cap;
|
||||
mod line_join;
|
||||
mod magick_evaluate_operator;
|
||||
mod magick_function;
|
||||
mod metric_type;
|
||||
mod orientation_type;
|
||||
@ -49,6 +50,7 @@ pub use self::image_type::ImageType;
|
||||
pub use self::interlace_type::InterlaceType;
|
||||
pub use self::line_cap::LineCap;
|
||||
pub use self::line_join::LineJoin;
|
||||
pub use self::magick_evaluate_operator::MagickEvaluateOperator;
|
||||
pub use self::magick_function::MagickFunction;
|
||||
pub use self::metric_type::MetricType;
|
||||
pub use self::orientation_type::OrientationType;
|
||||
|
||||
@ -44,6 +44,7 @@ use crate::{
|
||||
GravityType,
|
||||
ImageType,
|
||||
InterlaceType,
|
||||
MagickEvaluateOperator,
|
||||
MagickFunction,
|
||||
MetricType,
|
||||
OrientationType,
|
||||
@ -1201,8 +1202,8 @@ impl MagickWand {
|
||||
/// 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"
|
||||
/// of an image.
|
||||
pub fn evaluate_image(&mut self, op: bindings::MagickEvaluateOperator, val: f64) -> Result<()> {
|
||||
let res = unsafe { bindings::MagickEvaluateImage(self.wand, op, val) };
|
||||
pub fn evaluate_image(&mut self, op: MagickEvaluateOperator, val: f64) -> Result<()> {
|
||||
let res = unsafe { bindings::MagickEvaluateImage(self.wand, op.into(), val) };
|
||||
match res {
|
||||
MagickTrue => Ok(()),
|
||||
_ => Err(MagickError("failed to evaluate image")),
|
||||
|
||||
Reference in New Issue
Block a user