From 7aae5d69a11d8f9b61aac4845b567ec4599d3ce5 Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Thu, 11 Aug 2016 08:13:08 -0400 Subject: Use the new bindings in main.rs. --- src/main.rs | 108 ++++++------------------------------------------------------ 1 file changed, 10 insertions(+), 98 deletions(-) diff --git a/src/main.rs b/src/main.rs index 6bbf8b5..60ba137 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,101 +1,13 @@ -extern crate libc; -extern crate glib; -extern crate gobject_sys as gobject_ffi; -extern crate glib_sys as glib_ffi; extern crate phed; -#[allow(unused_imports)] -use phed::gegl_ffi::*; -#[allow(unused_imports)] -use std::ffi::CString; -#[allow(unused_imports)] -use std::ptr; -#[allow(unused_imports)] -use glib::translate::*; -#[allow(unused_imports)] -use glib::Value; -#[allow(unused_imports)] -use gobject_ffi::G_TYPE_POINTER; +use std::env; +use phed::gegl::GeglContext; +use phed::gegl::GeglOperations; -fn main () {} +fn main() { + let from = env::args().nth(1).expect("source file"); + let to = env::args().nth(2).expect("target file"); -// #[derive(Debug)] -// pub struct GeglBuffer(*mut libc::c_void); -// -// impl GeglBuffer { -// pub fn new() -> GeglBuffer { -// GeglBuffer(ptr::null_mut()) -// // let mut bounds = GeglRectangle{x: 0, y: 0, width: 32, height: 32}; -// // GeglBuffer(unsafe { -// // gegl_buffer_new(&mut bounds as *mut _ as *mut libc::c_void, -// // ptr::null_mut()) }) -// } -// -// pub fn get_value(&self) -> Value { -// unsafe { -// let mut ret = Value::uninitialized(); -// gobject_ffi::g_value_init(ret.to_glib_none_mut().0, G_TYPE_POINTER); -// gobject_ffi::g_value_set_pointer(ret.to_glib_none_mut().0, -// self.0 as *mut libc::c_void); -// ret -// } -// } -// -// pub fn get_value_ptr(&mut self) -> Value { -// unsafe { -// let mut ret = Value::uninitialized(); -// gobject_ffi::g_value_init(ret.to_glib_none_mut().0, G_TYPE_POINTER); -// gobject_ffi::g_value_set_pointer(ret.to_glib_none_mut().0, -// &mut self.0 as *mut _ as *mut libc::c_void); -// ret -// } -// } -// } -// -// impl Drop for GeglBuffer { -// fn drop(&mut self) { -// println!("Dropping geglbuffer: {:?}", self.0); -// unsafe { g_object_unref(self.0); } -// println!("Dropped"); -// } -// } -// -// fn main() { -// let mut graph : *mut libc::c_void; -// unsafe { -// let mut argc : i32 = 0; -// gegl_init(&mut argc as *mut i32, ptr::null_mut()); -// graph = gegl_node_new(); -// let src = gegl_node_create_child( -// graph, CString::new("gegl:load").unwrap().as_ptr()); -// gegl_node_set_property( -// src, -// CString::new("path").unwrap().as_ptr(), -// Value::from("/tmp/test.jpg").to_glib_none().0 -// as *const libc::c_void); -// let sink = gegl_node_create_child(graph, -// CString::new("gegl:buffer-sink") -// .unwrap().as_ptr()); -// let mut buffer = GeglBuffer::new(); -// println!("before set property: {:?}", buffer); -// gegl_node_set_property( -// sink, -// CString::new("buffer").unwrap().as_ptr(), -// buffer.get_value_ptr().to_glib_none().0 as *mut libc::c_void); -// -// println!("before processing: {:?}", buffer); -// gegl_node_link(src, sink); -// gegl_node_process(sink); -// -// println!("before extent: {:?}", buffer); -// let extent = gegl_buffer_get_extent(buffer.0 -// as *mut libc::c_void); -// println!("after extent: {:?}", buffer); -// println!("height: {:?}", (*extent).height); -// -// println!("got here"); -// } -// unsafe { -// g_object_unref(graph); -// gegl_exit(); -// } -// } + let context = GeglContext::new(); + let root = context.new_node(); + let source = root.load(&from); +} -- cgit v1.2.3