Make set_get! macro usable with types module
This commit is contained in:
@ -110,10 +110,10 @@ macro_rules! set_get {
|
|||||||
($($get:ident, $set:ident, $c_get:ident, $c_set:ident, $typ:ty )*) => {
|
($($get:ident, $set:ident, $c_get:ident, $c_set:ident, $typ:ty )*) => {
|
||||||
$(
|
$(
|
||||||
pub fn $get(&self) -> $typ {
|
pub fn $get(&self) -> $typ {
|
||||||
unsafe { ::bindings::$c_get(self.wand) }
|
unsafe { ::bindings::$c_get(self.wand).into() }
|
||||||
}
|
}
|
||||||
pub fn $set(&mut self, v: $typ) -> Result<()> {
|
pub fn $set(&mut self, v: $typ) -> Result<()> {
|
||||||
match unsafe { ::bindings::$c_set(self.wand, v) } {
|
match unsafe { ::bindings::$c_set(self.wand, v.into()) } {
|
||||||
::bindings::MagickBooleanType_MagickTrue => Ok(()),
|
::bindings::MagickBooleanType_MagickTrue => Ok(()),
|
||||||
_ => Err(MagickError(concat!(stringify!($set), " returned false")))
|
_ => Err(MagickError(concat!(stringify!($set), " returned false")))
|
||||||
}
|
}
|
||||||
|
|||||||
@ -224,19 +224,6 @@ impl MagickWand {
|
|||||||
(distortion, wand)
|
(distortion, wand)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_image_compose(&self) -> CompositeOperator {
|
|
||||||
unsafe { bindings::MagickGetImageCompose(self.wand).into() }
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn set_image_compose(&self, composite_operator: CompositeOperator) -> Result<()> {
|
|
||||||
match unsafe { bindings::MagickSetImageCompose(self.wand, composite_operator.into()) } {
|
|
||||||
bindings::MagickBooleanType_MagickTrue => Ok(()),
|
|
||||||
_ => Err(MagickError(
|
|
||||||
"Failed to set the image composite operator type",
|
|
||||||
)),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Compose another image onto self at (x, y) using composition_operator
|
/// Compose another image onto self at (x, y) using composition_operator
|
||||||
pub fn compose_images(
|
pub fn compose_images(
|
||||||
&self,
|
&self,
|
||||||
@ -1143,50 +1130,6 @@ impl MagickWand {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn get_colorspace(&self) -> ColorspaceType {
|
|
||||||
return unsafe { bindings::MagickGetColorspace(self.wand).into() };
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn set_colorspace(&mut self, colorspace: ColorspaceType) -> Result<()> {
|
|
||||||
match unsafe { bindings::MagickSetColorspace(self.wand, colorspace.into()) } {
|
|
||||||
bindings::MagickBooleanType_MagickTrue => Ok(()),
|
|
||||||
_ => Err(MagickError("failed to set colorspace")),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn get_image_colorspace(&self) -> ColorspaceType {
|
|
||||||
return unsafe { bindings::MagickGetImageColorspace(self.wand).into() };
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn set_image_colorspace(&self, colorspace: ColorspaceType) -> Result<()> {
|
|
||||||
match unsafe { bindings::MagickSetImageColorspace(self.wand, colorspace.into()) } {
|
|
||||||
bindings::MagickBooleanType_MagickTrue => Ok(()),
|
|
||||||
_ => Err(MagickError("failed to set image colorspace")),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn get_gravity(&self) -> GravityType {
|
|
||||||
return unsafe { bindings::MagickGetGravity(self.wand).into() };
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn set_gravity(&mut self, gravity: GravityType) -> Result<()> {
|
|
||||||
match unsafe { bindings::MagickSetGravity(self.wand, gravity.into()) } {
|
|
||||||
bindings::MagickBooleanType_MagickTrue => Ok(()),
|
|
||||||
_ => Err(MagickError("failed to set gravity")),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn get_image_gravity(&self) -> GravityType {
|
|
||||||
return unsafe { bindings::MagickGetImageGravity(self.wand).into() };
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn set_image_gravity(&mut self, gravity: GravityType) -> Result<()> {
|
|
||||||
match unsafe { bindings::MagickSetImageGravity(self.wand, gravity.into()) } {
|
|
||||||
bindings::MagickBooleanType_MagickTrue => Ok(()),
|
|
||||||
_ => Err(MagickError("failed to set image gravity")),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
mutations!(
|
mutations!(
|
||||||
/// Sets the image to the specified alpha level.
|
/// Sets the image to the specified alpha level.
|
||||||
MagickSetImageAlpha => set_image_alpha(alpha: f64)
|
MagickSetImageAlpha => set_image_alpha(alpha: f64)
|
||||||
@ -1225,8 +1168,12 @@ impl MagickWand {
|
|||||||
);
|
);
|
||||||
|
|
||||||
set_get!(
|
set_get!(
|
||||||
|
get_colorspace, set_colorspace, MagickGetColorspace, MagickSetColorspace, ColorspaceType
|
||||||
|
get_image_compose, set_image_compose, MagickGetImageCompose, MagickSetImageCompose, CompositeOperator
|
||||||
get_compression, set_compression, MagickGetCompression, MagickSetCompression, bindings::CompressionType
|
get_compression, set_compression, MagickGetCompression, MagickSetCompression, bindings::CompressionType
|
||||||
get_compression_quality, set_compression_quality, MagickGetCompressionQuality, MagickSetCompressionQuality, size_t
|
get_compression_quality, set_compression_quality, MagickGetCompressionQuality, MagickSetCompressionQuality, size_t
|
||||||
|
get_gravity, set_gravity, MagickGetGravity, MagickSetGravity, GravityType
|
||||||
|
get_image_colorspace, set_image_colorspace, MagickGetImageColorspace, MagickSetImageColorspace, ColorspaceType
|
||||||
get_image_compression, set_image_compression, MagickGetImageCompression, MagickSetImageCompression, bindings::CompressionType
|
get_image_compression, set_image_compression, MagickGetImageCompression, MagickSetImageCompression, bindings::CompressionType
|
||||||
get_image_compression_quality, set_image_compression_quality, MagickGetImageCompressionQuality, MagickSetImageCompressionQuality, size_t
|
get_image_compression_quality, set_image_compression_quality, MagickGetImageCompressionQuality, MagickSetImageCompressionQuality, size_t
|
||||||
get_image_delay, set_image_delay, MagickGetImageDelay, MagickSetImageDelay, size_t
|
get_image_delay, set_image_delay, MagickGetImageDelay, MagickSetImageDelay, size_t
|
||||||
@ -1235,6 +1182,7 @@ impl MagickWand {
|
|||||||
get_image_endian, set_image_endian, MagickGetImageEndian, MagickSetImageEndian, bindings::EndianType
|
get_image_endian, set_image_endian, MagickGetImageEndian, MagickSetImageEndian, bindings::EndianType
|
||||||
get_image_fuzz, set_image_fuzz, MagickGetImageFuzz, MagickSetImageFuzz, f64
|
get_image_fuzz, set_image_fuzz, MagickGetImageFuzz, MagickSetImageFuzz, f64
|
||||||
get_image_gamma, set_image_gamma, MagickGetImageGamma, MagickSetImageGamma, f64
|
get_image_gamma, set_image_gamma, MagickGetImageGamma, MagickSetImageGamma, f64
|
||||||
|
get_image_gravity, set_image_gravity, MagickGetImageGravity, MagickSetImageGravity, GravityType
|
||||||
get_image_interlace_scheme, set_image_interlace_scheme, MagickGetImageInterlaceScheme, MagickSetImageInterlaceScheme, bindings::InterlaceType
|
get_image_interlace_scheme, set_image_interlace_scheme, MagickGetImageInterlaceScheme, MagickSetImageInterlaceScheme, bindings::InterlaceType
|
||||||
get_image_interpolate_method, set_image_interpolate_method, MagickGetImageInterpolateMethod, MagickSetImageInterpolateMethod, bindings::PixelInterpolateMethod
|
get_image_interpolate_method, set_image_interpolate_method, MagickGetImageInterpolateMethod, MagickSetImageInterpolateMethod, bindings::PixelInterpolateMethod
|
||||||
get_image_iterations, set_image_iterations, MagickGetImageIterations, MagickSetImageIterations, size_t
|
get_image_iterations, set_image_iterations, MagickGetImageIterations, MagickSetImageIterations, size_t
|
||||||
|
|||||||
@ -422,7 +422,7 @@ fn test_image_compose() {
|
|||||||
START.call_once(|| {
|
START.call_once(|| {
|
||||||
magick_wand_genesis();
|
magick_wand_genesis();
|
||||||
});
|
});
|
||||||
let wand = MagickWand::new();
|
let mut wand = MagickWand::new();
|
||||||
wand.new_image(4, 4, &PixelWand::new()).unwrap();
|
wand.new_image(4, 4, &PixelWand::new()).unwrap();
|
||||||
|
|
||||||
let operators = [
|
let operators = [
|
||||||
|
|||||||
Reference in New Issue
Block a user