resolve initial compilation issues

This commit is contained in:
little-bobby-tables
2017-08-19 16:35:58 +07:00
parent e5a5472b1e
commit 7abde0e7c6
4 changed files with 13 additions and 18 deletions

View File

@ -204,13 +204,13 @@ macro_rules! color_set_get {
pub fn $get(&self) -> f64 { pub fn $get(&self) -> f64 {
unsafe { ::bindings::$c_get(self.wand) } unsafe { ::bindings::$c_get(self.wand) }
} }
pub fn $get_quantum(&self) -> u16 { pub fn $get_quantum(&self) -> bindings::Quantum {
unsafe { ::bindings::$c_get_quantum(self.wand) } unsafe { ::bindings::$c_get_quantum(self.wand) }
} }
pub fn $set(&mut self, v: f64) { pub fn $set(&mut self, v: f64) {
unsafe { ::bindings::$c_set(self.wand, v) } unsafe { ::bindings::$c_set(self.wand, v) }
} }
pub fn $set_quantum(&mut self, v: u16) { pub fn $set_quantum(&mut self, v: bindings::Quantum) {
unsafe { ::bindings::$c_set_quantum(self.wand, v) } unsafe { ::bindings::$c_set_quantum(self.wand, v) }
} }
)* )*

View File

@ -16,7 +16,7 @@
use std::fmt; use std::fmt;
use std::ptr; use std::ptr;
use std::ffi::{CStr, CString}; use std::ffi::{CStr, CString};
use libc::{c_double, c_void}; use libc::{c_void};
#[cfg(target_os = "freebsd")] #[cfg(target_os = "freebsd")]
use libc::{size_t, ssize_t}; use libc::{size_t, ssize_t};
@ -172,16 +172,12 @@ impl MagickWand {
} }
/// Resize the image to the specified width and height, using the /// Resize the image to the specified width and height, using the
/// specified filter type with the specified blur / sharpness factor. /// specified filter type.
///
/// blur_factor values greater than 1 create blurriness, while values
/// less than 1 create sharpness.
pub fn resize_image(&self, width: usize, height: usize, pub fn resize_image(&self, width: usize, height: usize,
filter: bindings::FilterTypes, blur_factor: f64) { filter: bindings::FilterType) {
unsafe { unsafe {
bindings::MagickResizeImage( bindings::MagickResizeImage(
self.wand, width as size_t, height as size_t, self.wand, width as size_t, height as size_t, filter
filter, blur_factor as c_double
); );
} }
} }
@ -206,7 +202,7 @@ impl MagickWand {
bindings::MagickResetIterator(self.wand); bindings::MagickResetIterator(self.wand);
while bindings::MagickNextImage(self.wand) != bindings::MagickBooleanType::MagickFalse { while bindings::MagickNextImage(self.wand) != bindings::MagickBooleanType::MagickFalse {
bindings::MagickResizeImage(self.wand, new_width, new_height, bindings::MagickResizeImage(self.wand, new_width, new_height,
bindings::FilterTypes::LanczosFilter, 1.0); bindings::FilterType::LanczosFilter);
} }
} }
} }
@ -270,7 +266,7 @@ impl MagickWand {
let c_format = CString::new(format).unwrap(); let c_format = CString::new(format).unwrap();
let mut length: size_t = 0; let mut length: size_t = 0;
let blob = unsafe { let blob = unsafe {
bindings::MagickSetImageIndex(self.wand, 0); bindings::MagickSetIteratorIndex(self.wand, 0);
bindings::MagickSetImageFormat(self.wand, c_format.as_ptr()); bindings::MagickSetImageFormat(self.wand, c_format.as_ptr());
bindings::MagickGetImagesBlob(self.wand, &mut length) bindings::MagickGetImagesBlob(self.wand, &mut length)
}; };
@ -307,9 +303,8 @@ impl MagickWand {
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, bindings::GravityType get_image_gravity, set_image_gravity, MagickGetImageGravity, MagickSetImageGravity, bindings::GravityType
get_image_index, set_image_index, MagickGetImageIndex, MagickSetImageIndex, ssize_t
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::InterpolatePixelMethod 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
get_image_orientation, set_image_orientation, MagickGetImageOrientation, MagickSetImageOrientation, bindings::OrientationType get_image_orientation, set_image_orientation, MagickGetImageOrientation, MagickSetImageOrientation, bindings::OrientationType
get_image_rendering_intent, set_image_rendering_intent, MagickGetImageRenderingIntent, MagickSetImageRenderingIntent, bindings::RenderingIntent get_image_rendering_intent, set_image_rendering_intent, MagickGetImageRenderingIntent, MagickSetImageRenderingIntent, bindings::RenderingIntent
@ -317,7 +312,7 @@ impl MagickWand {
get_image_type, set_image_type, MagickGetImageType, MagickSetImageType, bindings::ImageType get_image_type, set_image_type, MagickGetImageType, MagickSetImageType, bindings::ImageType
get_image_units, set_image_units, MagickGetImageUnits, MagickSetImageUnits, bindings::ResolutionType get_image_units, set_image_units, MagickGetImageUnits, MagickSetImageUnits, bindings::ResolutionType
get_interlace_scheme, set_interlace_scheme, MagickGetInterlaceScheme, MagickSetInterlaceScheme, bindings::InterlaceType get_interlace_scheme, set_interlace_scheme, MagickGetInterlaceScheme, MagickSetInterlaceScheme, bindings::InterlaceType
get_interpolate_method, set_interpolate_method, MagickGetInterpolateMethod, MagickSetInterpolateMethod, bindings::InterpolatePixelMethod get_interpolate_method, set_interpolate_method, MagickGetInterpolateMethod, MagickSetInterpolateMethod, bindings::PixelInterpolateMethod
get_iterator_index, set_iterator_index, MagickGetIteratorIndex, MagickSetIteratorIndex, ssize_t get_iterator_index, set_iterator_index, MagickGetIteratorIndex, MagickSetIteratorIndex, ssize_t
get_orientation, set_orientation, MagickGetOrientation, MagickSetOrientation, bindings::OrientationType get_orientation, set_orientation, MagickGetOrientation, MagickSetOrientation, bindings::OrientationType
get_pointsize, set_pointsize, MagickGetPointsize, MagickSetPointsize, f64 get_pointsize, set_pointsize, MagickGetPointsize, MagickSetPointsize, f64

View File

@ -86,7 +86,7 @@ impl PixelWand {
set_get_unchecked!( set_get_unchecked!(
get_color_count, set_color_count, PixelGetColorCount, PixelSetColorCount, size_t get_color_count, set_color_count, PixelGetColorCount, PixelSetColorCount, size_t
get_index, set_index, PixelGetIndex, PixelSetIndex, u16 get_index, set_index, PixelGetIndex, PixelSetIndex, bindings::Quantum
get_fuzz, set_fuzz, PixelGetFuzz, PixelSetFuzz, f64 get_fuzz, set_fuzz, PixelGetFuzz, PixelSetFuzz, f64
); );

View File

@ -24,7 +24,7 @@ use std::io::Read;
use std::path::Path; use std::path::Path;
use std::sync::{Once, ONCE_INIT}; use std::sync::{Once, ONCE_INIT};
// TODO: nathan does not understand how to expose the FilterTypes without // TODO: nathan does not understand how to expose the FilterType without
// this ugliness, his Rust skills are sorely lacking // this ugliness, his Rust skills are sorely lacking
use magick_rust::bindings; use magick_rust::bindings;
@ -57,7 +57,7 @@ fn test_resize_image() {
1 => 1, 1 => 1,
height => height / 2 height => height / 2
}; };
wand.resize_image(halfwidth, halfheight, bindings::FilterTypes::LanczosFilter, 1.0); wand.resize_image(halfwidth, halfheight, bindings::FilterType::LanczosFilter);
assert_eq!(256, wand.get_image_width()); assert_eq!(256, wand.get_image_width());
assert_eq!(192, wand.get_image_height()); assert_eq!(192, wand.get_image_height());
} }