Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update for language changes #10

Merged
merged 1 commit into from Aug 29, 2013
Merged
Changes from all commits
Commits
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

Update for language changes

  • Loading branch information
brson committed Aug 28, 2013
commit 698124d5994d99183cbc51d07d15d1c16b0f75a4
4 ffi.rs
@@ -44,14 +44,14 @@ extern {

pub fn png_create_read_struct(user_png_ver: *c_char, error_ptr: *c_void, error_fn: *u8, warn_fn: *u8) -> *mut png_struct;
pub fn png_destroy_read_struct(png_ptr_ptr: **png_struct, info_ptr_ptr: **png_info, end_info_ptr_ptr: **png_info);
pub fn png_set_read_fn(png_ptr: *mut png_struct, io_ptr: *mut c_void, read_data_fn: *u8);
pub fn png_set_read_fn(png_ptr: *mut png_struct, io_ptr: *mut c_void, read_data_fn: extern "C" fn(*png_struct, *mut u8, size_t));
pub fn png_read_info(png_ptr: *mut png_struct, info_ptr: *mut png_info);
pub fn png_read_image(png_ptr: *mut png_struct, row_pointers: **mut u8);
pub fn png_read_png(png_ptr: *mut png_struct, info_ptr: *mut png_info, transforms: c_int, params: *c_void);

pub fn png_create_write_struct(user_png_ver: *c_char, error_ptr: *c_void, error_fn: *u8, warn_fn: *u8) -> *mut png_struct;
pub fn png_destroy_write_struct(png_ptr_ptr: **png_struct, info_ptr_ptr: **png_info);
pub fn png_set_write_fn(png_ptr: *mut png_struct, io_ptr: *mut c_void, write_data_fn: *u8, output_flush_ptr: *u8);
pub fn png_set_write_fn(png_ptr: *mut png_struct, io_ptr: *mut c_void, write_data_fn: extern "C" fn(*png_struct, *u8, size_t), output_flush_ptr: extern "C" fn(*png_struct));
pub fn png_write_png(pnt_ptr: *mut png_struct, info_ptr: *mut png_info, transforms: c_int, params: *c_void); // ??

pub fn png_get_IHDR(png_ptr: *png_struct, info_ptr: *png_info, width: *mut u32, height: *mut u32, bit_depth: *mut c_int, color_type: *mut c_int, interlace_method: *mut c_int, compression_method: *mut c_int, filter_method: *mut c_int) -> u32;
3 lib.rs
@@ -50,6 +50,7 @@ pub extern fn read_data(png_ptr: *ffi::png_struct, data: *mut u8, length: size_t
}
}

#[fixed_stack_segment]
pub fn load_png(path: &Path) -> Result<Image,~str> {
let reader = @match io::file_reader(path) {
Ok(r) => r,
@@ -135,6 +136,7 @@ pub extern fn flush_data(png_ptr: *ffi::png_struct) {
}
}

#[fixed_stack_segment]
pub fn store_png(img: &Image, path: &Path) -> Result<(),~str> {
let writer = @match io::file_writer(path, [io::Create]) {
Ok(w) => w,
@@ -198,6 +200,7 @@ mod test {
use super::{ffi, load_png, store_png, RGB8, Image};

#[test]
#[fixed_stack_segment]
fn test_valid_png() {
let reader = match io::file_reader(&Path("test.png")) {
Ok(r) => r,
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.