Logo Search packages:      
Sourcecode: f-spot version File versions  Download package

JpegUtils.cs

using System.Runtime.InteropServices;
using System;
using Gdk;

public class JpegUtils {
//    [DllImport ("libfspot")]
//    static extern IntPtr f_load_scaled_jpeg (string path,
//                                   int target_width,
//                                   int target_height,
//                                   out int original_width_return,
//                                   out int original_height_return);
//
//    /* FIXME */
//    [DllImport("libgobject-2.0-0.dll")]
//    static extern void g_object_unref (IntPtr raw);
//
//    public static Pixbuf LoadScaled (string path, int target_width, int target_height,
//                             out int original_width, out int original_height)
//    {
//          Pixbuf pixbuf = new Pixbuf (f_load_scaled_jpeg (path, target_width, target_height,
//                                              out original_width, out original_height));
//          g_object_unref (pixbuf.Handle);
//          return pixbuf;
//    }

//    public static Pixbuf LoadScaled (string path, int target_width, int target_height)
//    {
//          int unused;
//          return LoadScaled (path, target_width, target_height, out unused, out unused);
//    }

      [DllImport ("libfspot")]
      static extern void f_save_jpeg_exif (string path, HandleRef data);

      public static void SaveExif (string path, Exif.ExifData data)
      {
            f_save_jpeg_exif (path, data.Handle);
      }           

      [DllImport ("libfspot")]
      static extern void f_get_jpeg_size (string path, out int width_return, out int height_return);

      public static void GetSize (string path, out int width_return, out int height_return)
      {
            f_get_jpeg_size (path, out width_return, out height_return);
      }

      public enum TransformType {
            Rotate90,
            Rotate180,
            Rotate270,
            FlipH,
            FlipV
      };

      [DllImport ("libfspot")]
      static extern bool f_transform_jpeg (string source_path, string destination_path, TransformType transform,
                                   out string error_message_return);

      public static void Transform (string source_path, string destination_path, TransformType transform)
      {
            string error_message;

            if (! f_transform_jpeg (source_path, destination_path, transform, out error_message))
                  throw new Exception (error_message);
      }
}

Generated by  Doxygen 1.6.0   Back to index