//
// System.Drawing.Imaging.ImageFormat.cs
//
-// (C) 2002 Ximian, Inc. http://www.ximian.com
-// Author: Everaldo Canuto
-// eMail: everaldo.canuto@bol.com.br
-// Dennis Hayes (dennish@raytek.com)
+// Authors:
+// Everaldo Canuto (everaldo.canuto@bol.com.br)
+// Andreas Nahr (ClassDevelopment@A-SoftTech.com)
+// Dennis Hayes (dennish@raytek.com)
+// Jordi Mas i Hernandez (jordi@ximian.com)
//
+// (C) 2002-4 Ximian, Inc. http://www.ximian.com
+//
+
+//
+// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
using System;
+using System.ComponentModel;
namespace System.Drawing.Imaging {
- public sealed class ImageFormat {
-
- Guid guid;
+ [TypeConverter (typeof (ImageFormatConverter))]
+ public sealed class ImageFormat
+ {
+ private Guid guid;
+ private static ImageFormat BmpImageFormat = new ImageFormat (new Guid ("b96b3cab-0728-11d3-9d7b-0000f81ef32e"));
+ private static ImageFormat EmfImageFormat = new ImageFormat (new Guid ("b96b3cac-0728-11d3-9d7b-0000f81ef32e"));
+ private static ImageFormat ExifImageFormat = new ImageFormat (new Guid ("b96b3cb2-0728-11d3-9d7b-0000f81ef32e"));
+ private static ImageFormat GifImageFormat = new ImageFormat (new Guid ("b96b3cb0-0728-11d3-9d7b-0000f81ef32e"));
+ private static ImageFormat TiffImageFormat = new ImageFormat (new Guid ("b96b3cb1-0728-11d3-9d7b-0000f81ef32e"));
+ private static ImageFormat PngImageFormat = new ImageFormat(new Guid("b96b3caf-0728-11d3-9d7b-0000f81ef32e"));
+ private static ImageFormat MemoryBmpImageFormat = new ImageFormat (new Guid ("b96b3caa-0728-11d3-9d7b-0000f81ef32e"));
+ private static ImageFormat IconImageFormat = new ImageFormat (new Guid ("b96b3cb5-0728-11d3-9d7b-0000f81ef32e"));
+ private static ImageFormat JpegImageFormat = new ImageFormat(new Guid("b96b3cae-0728-11d3-9d7b-0000f81ef32e"));
+ private static ImageFormat WmfImageFormat = new ImageFormat (new Guid ("b96b3cad-0728-11d3-9d7b-0000f81ef32e"));
+
// constructors
- [MonoTODO]
- public ImageFormat(Guid guid) {
- guid = guid;
+ public ImageFormat (Guid guid)
+ {
+ this.guid = guid;
}
+
// methods
- [MonoTODO]
public override bool Equals(object o) {
- return base.Equals(o);
+
+ if (o is ImageFormat)
+ if ( ((ImageFormat)o).Guid.Equals(this.Guid))
+ return true;
+ return false;
+
}
- [MonoTODO]
- public override int GetHashCode() {
- return base.GetHashCode();
+
+ public override int GetHashCode()
+ {
+ return guid.GetHashCode();
}
- [MonoTODO]
- public override string ToString() {
- throw new NotImplementedException ();
+
+ public override string ToString()
+ {
+ if (Guid.Equals (Bmp.Guid))
+ return "Bmp";
+
+ if (Guid.Equals (Emf.Guid))
+ return "Emf";
+
+ if (Guid.Equals (Gif.Guid))
+ return "Gif";
+
+ if (Guid.Equals (Jpeg.Guid))
+ return "Jpeg";
+
+ if (Guid.Equals (MemoryBmp.Guid))
+ return "MemoryBmp";
+
+ if (Guid.Equals (Png.Guid))
+ return "Png";
+
+ if (Guid.Equals (Tiff.Guid))
+ return "Tiff";
+
+ if (Guid.Equals (Wmf.Guid))
+ return "Wmf";
+
+ // Default
+ return guid.ToString ();
+
}
// properties
- static ImageFormat BmpImageFormat = new ImageFormat (new Guid ("DFB9AC7D-498D-4bd8-9D42-E23E541964B1"));
+ public Guid Guid
+ {
+ get { return guid; }
+ }
- [MonoTODO]
- public static ImageFormat Bmp {
+
+ public static ImageFormat Bmp
+ {
get { return BmpImageFormat; }
}
- [MonoTODO]
- public static ImageFormat Emf {
- get { throw new NotImplementedException (); }
- }
- [MonoTODO]
- public static ImageFormat Exif {
- get { throw new NotImplementedException (); }
+ public static ImageFormat Emf
+ {
+ get { return EmfImageFormat; }
}
- [MonoTODO]
- public static ImageFormat Gif {
- get { throw new NotImplementedException (); }
+
+ public static ImageFormat Exif
+ {
+ get { return ExifImageFormat; }
}
- [MonoTODO]
- public Guid Guid {
- get { return guid; }
+
+ public static ImageFormat Gif
+ {
+ get { return GifImageFormat; }
}
- [MonoTODO]
- public static ImageFormat Icon {
- get { throw new NotImplementedException (); }
+
+ public static ImageFormat Icon
+ {
+ get { return IconImageFormat; }
}
- [MonoTODO]
- static ImageFormat JpegImageFormat = new ImageFormat(new Guid("83BFFDF8-398F-407f-BA33-A7993D11B2DA"));
- public static ImageFormat Jpeg {
+
+ public static ImageFormat Jpeg
+ {
get { return JpegImageFormat; }
}
- [MonoTODO]
- public static ImageFormat MemoryBmp {
- get { throw new NotImplementedException (); }
+
+ public static ImageFormat MemoryBmp
+ {
+ get { return MemoryBmpImageFormat; }
}
- [MonoTODO]
- public static ImageFormat Png {
- get { throw new NotImplementedException (); }
+
+ public static ImageFormat Png
+ {
+ get { return PngImageFormat; }
}
- [MonoTODO]
- public static ImageFormat Tiff {
- get { throw new NotImplementedException (); }
+
+ public static ImageFormat Tiff
+ {
+ get { return TiffImageFormat; }
}
- [MonoTODO]
- public static ImageFormat Wmf {
- get { throw new NotImplementedException (); }
+
+ public static ImageFormat Wmf
+ {
+ get { return WmfImageFormat; }
}
}