summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main.rs108
1 files 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);
+}