Browse Source

2003-11-13 Andreas Nahr <[email protected]>

	* ColorMap.cs: Implemented
	* ColorMatrix.cs: Implemented, Removed unneccesary members
	* ImageAttributes.cs: Fixed signature
	* ImageCodecInfo.cs: Added missing attribure, hide constructor
	* ImageFormat.cs: Implemented, Added attribute
	* MetaHeader.cs: Implemented
	* PropertyItem.cs: Implemented
	* ImageFlags.cs: Added Attribute
	* ImageCodecFlags.cs: Added Attribute
	* EmfPlusRecordType.cs: Added missing members

svn path=/trunk/mcs/; revision=19972
Andreas N 22 năm trước cách đây
mục cha
commit
37809261cd

+ 13 - 0
mcs/class/System.Drawing/System.Drawing.Imaging/ChangeLog

@@ -1,3 +1,16 @@
+2003-11-13  Andreas Nahr <[email protected]>
+
+	* ColorMap.cs: Implemented
+	* ColorMatrix.cs: Implemented, Removed unneccesary members
+	* ImageAttributes.cs: Fixed signature
+	* ImageCodecInfo.cs: Added missing attribure, hide constructor
+	* ImageFormat.cs: Implemented, Added attribute
+	* MetaHeader.cs: Implemented
+	* PropertyItem.cs: Implemented
+	* ImageFlags.cs: Added Attribute
+	* ImageCodecFlags.cs: Added Attribute
+	* EmfPlusRecordType.cs: Added missing members
+
 2003-11-12  Alexandre Pigolkine <[email protected]>
 	* BitmapData.cs		new function to convert BRG to RGB
 	* JPEGCodec.cs		convert BRG to RBG

+ 15 - 13
mcs/class/System.Drawing/System.Drawing.Imaging/ColorMap.cs

@@ -1,11 +1,14 @@
 //
 // System.Drawing.Imaging.ColorMap.cs
 //
-// (C) 2002 Ximian, Inc.  http://www.ximian.com
-// Author: Everaldo Canuto
-// eMail: [email protected]
-// Dennis Hayes ([email protected])
-//
+// Authors:
+//   Everaldo Canuto ([email protected])
+//   Andreas Nahr ([email protected])
+//   Dennis Hayes ([email protected])
+//
+// (C) 2002 Ximian, Inc.  http://www.ximian.com
+//
+
 using System;
 using System.IO;
 using System.Reflection;
@@ -13,24 +16,23 @@ using System.Reflection;
 namespace System.Drawing.Imaging {
 
 	public sealed class ColorMap {
+
+		private Color newColor;
+		private Color oldColor;
 
 		// constructors
-		[MonoTODO]
 		public ColorMap() {
-			throw new NotImplementedException ();
 		}
 
 		// properties
-		[MonoTODO]
 		public Color NewColor {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return newColor; }
+			set { newColor = value; }
 		}
 
-		[MonoTODO]
 		public Color OldColor {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return oldColor; }
+			set { oldColor = value; }
 		}
 	}
 

+ 83 - 208
mcs/class/System.Drawing/System.Drawing.Imaging/ColorMatrix.cs

@@ -1,304 +1,179 @@
 //
-// System.Drawing.Imaging.xxx.cs
-//
-// (C) 2002 Ximian, Inc.  http://www.ximian.com
-// Author: Everaldo Canuto
-// eMail: [email protected]
-// Dennis Hayes ([email protected])
+// System.Drawing.Imaging.ColorMatrix.cs
 //
+// Authors:
+//   Everaldo Canuto ([email protected])
+//   Andreas Nahr ([email protected])
+//   Dennis Hayes ([email protected])
+//
+// (C) 2002 Ximian, Inc.  http://www.ximian.com
+//
+
 using System;
 
 namespace System.Drawing.Imaging {
 
 	public sealed class ColorMatrix {
+
+		float[] colors;
 
 		// constructors
-		[MonoTODO]
-		public ColorMatrix() {
-			throw new NotImplementedException ();
+		public ColorMatrix() 
+		{
+			colors = new float[25];
+			// Set identity matrix by default
+			colors[0]  = 1;
+			colors[6]  = 1;
+			colors[12] = 1;
+			colors[18] = 1;
+			colors[24] = 1;
 		}
 		
-		[MonoTODO]
 		[CLSCompliant(false)]
-		public ColorMatrix(float[][] newColorMatrix) {
-			throw new NotImplementedException ();
+		public ColorMatrix(float[][] newColorMatrix)
+		{
+			colors = new float[25];
+			for (int x = 0; x < 5; x++) {
+				for (int y = 0; y < 5; y++) {
+					colors[x * 5 + y] = newColorMatrix[x][y];
+				}
+			}
 		}
 		
 		// properties
-		[MonoTODO]
 		public float this[int row, int column] {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[row * 5 + column]; }
+			set { colors[row * 5 + column] = value; }
 		}
 		
-		[MonoTODO]
+
 		public float Matrix00 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[0]; }
+			set { colors[0] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix01 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[1]; }
+			set { colors[1] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix02 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[2]; }
+			set { colors[2] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix03 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[3]; }
+			set { colors[3] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix04 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
-
-		[MonoTODO]
-		public float Matrix05 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
-
-		[MonoTODO]
-		public float Matrix06 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
-
-		[MonoTODO]
-		public float Matrix07 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
-
-		[MonoTODO]
-		public float Matrix08 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[4]; }
+			set { colors[4] = value; }
 		}
+
 
-		[MonoTODO]
-		public float Matrix09 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
-
-		[MonoTODO]
 		public float Matrix10 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[5]; }
+			set { colors[5] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix11 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[6]; }
+			set { colors[6] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix12 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[7]; }
+			set { colors[7] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix13 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[8]; }
+			set { colors[8] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix14 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
-
-		[MonoTODO]
-		public float Matrix15 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
-
-		[MonoTODO]
-		public float Matrix16 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[9]; }
+			set { colors[9] = value; }
 		}
 
-		[MonoTODO]
-		public float Matrix17 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
 
-		[MonoTODO]
-		public float Matrix18 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
-
-		[MonoTODO]
-		public float Matrix19 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
-		
-		[MonoTODO]
 		public float Matrix20 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[10]; }
+			set { colors[10] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix21 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[11]; }
+			set { colors[11] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix22 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[12]; }
+			set { colors[12] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix23 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[13]; }
+			set { colors[13] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix24 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
-
-		[MonoTODO]
-		public float Matrix25 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
-
-		[MonoTODO]
-		public float Matrix26 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[14]; }
+			set { colors[14] = value; }
 		}
 
-		[MonoTODO]
-		public float Matrix27 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
-
-		[MonoTODO]
-		public float Matrix28 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
-
-		[MonoTODO]
-		public float Matrix29 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
 
-		[MonoTODO]
 		public float Matrix30 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[15]; }
+			set { colors[15] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix31 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[16]; }
+			set { colors[16] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix32 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[17]; }
+			set { colors[17] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix33 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[18]; }
+			set { colors[18] = value; }
 		}
-
-		[MonoTODO]
+
 		public float Matrix34 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
-
-		[MonoTODO]
-		public float Matrix35 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
-
-		[MonoTODO]
-		public float Matrix36 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[19]; }
+			set { colors[19] = value; }
 		}
 
-		[MonoTODO]
-		public float Matrix37 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
-
-		[MonoTODO]
-		public float Matrix38 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
-
-		[MonoTODO]
-		public float Matrix39 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
-		}
 
-		[MonoTODO]
 		public float Matrix40 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[20]; }
+			set { colors[20] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix41 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[21]; }
+			set { colors[21] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix42 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[22]; }
+			set { colors[22] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix43 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[23]; }
+			set { colors[23] = value; }
 		}
 
-		[MonoTODO]
 		public float Matrix44 {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return colors[24]; }
+			set { colors[24] = value; }
 		}
 
 	}

+ 5 - 2
mcs/class/System.Drawing/System.Drawing.Imaging/EmfPlusRecordType.cs

@@ -69,7 +69,8 @@ namespace System.Drawing.Imaging
 		EmfIntersectClipRect = 30,
 		EmfInvertRgn = 73,
 		EmfLineTo = 54,
-		EmfMaskBlt = 78,
+		EmfMaskBlt = 78,
+		EmfMax = 122,
 		EmfMin = 1,
 		EmfModifyWorldTransform = 36,
 		EmfMoveToEx = 27,
@@ -86,7 +87,9 @@ namespace System.Drawing.Imaging
 		EmfPolyBezierTo16 = 88,
 		EmfPolyDraw = 56,
 		EmfPolyDraw16 = 92,
-		EmfPolygon = 3,
+		EmfPolygon = 3,
+		EmfPolygon16 = 86,
+		EmfPolyline = 4,
 		EmfPolyPolygon16 = 86,
 		EmfPolyPolyline = 4,
 		EmfPolyline16 = 87,

+ 2 - 2
mcs/class/System.Drawing/System.Drawing.Imaging/ImageAttributes.cs

@@ -1,5 +1,5 @@
 //
-// System.Windows.Forms.FormBorderStyle.cs
+// System.Drawing.Imaging.ImageAttributes.cs
 //
 // Author:
 //   Dennis Hayes ([email protected])
@@ -14,7 +14,7 @@ namespace System.Drawing.Imaging
 	/// <summary>
 	/// Summary description for ImageAttributes.
 	/// </summary>
-	public class ImageAttributes {
+	public sealed class ImageAttributes {
 		public ImageAttributes() {
 		}
 

+ 2 - 1
mcs/class/System.Drawing/System.Drawing.Imaging/ImageCodecFlags.cs

@@ -6,7 +6,8 @@
 //
 using System;
 namespace System.Drawing.Imaging
-{
+{
+	[Flags]
 	public enum ImageCodecFlags {
 		BlockingDecode = 32,
 		Builtin = 65536,

+ 12 - 18
mcs/class/System.Drawing/System.Drawing.Imaging/ImageCodecInfo.cs

@@ -1,19 +1,22 @@
 //
 // System.Drawing.Imaging.ImageCodecInfo.cs
 //
+// Authors:
+//   Everaldo Canuto ([email protected])
+//   Andreas Nahr ([email protected])
+//   Dennis Hayes ([email protected])
+//
 // (C) 2002 Ximian, Inc.  http://www.ximian.com
-// Author: Everaldo Canuto
-// eMail: [email protected]
-// Dennis Hayes ([email protected])
-// Alexandre Pigolkine ([email protected])
 //
+
 using System;
+using System.Runtime.InteropServices;
 using System.Collections;
 using System.IO;
 
 namespace System.Drawing.Imaging {
 
-	//[ComVisible(false)]
+	[ComVisible (false)]
 	public sealed class ImageCodecInfo {
 
 		Guid	clsid;
@@ -36,6 +39,10 @@ namespace System.Drawing.Imaging {
 			allCodecs.Add(PNGCodec.CodecInfo);
 		}
 
+		internal ImageCodecInfo()
+		{
+		}
+
 		internal delegate void DecodeFromStream (Image image, Stream stream, BitmapData info);
 		internal DecodeFromStream decode;
 
@@ -44,7 +51,6 @@ namespace System.Drawing.Imaging {
 
 		// methods
 		[MonoTODO]
-		//[ComVisible(false)]
 		public static ImageCodecInfo[] GetImageDecoders() {
 			ArrayList decoders = new ArrayList();
 			foreach( ImageCodecInfo info in allCodecs) {
@@ -58,7 +64,6 @@ namespace System.Drawing.Imaging {
 		}
 		
 		[MonoTODO]
-		//[ComVisible(false)]
 		public static ImageCodecInfo[] GetImageEncoders() {
 			ArrayList encoders = new ArrayList();
 			foreach( ImageCodecInfo info in allCodecs) {
@@ -73,56 +78,48 @@ namespace System.Drawing.Imaging {
 
 		// properties
 		[MonoTODO]
-		//[ComVisible(false)]
 		public Guid Clsid {
 			get { return clsid; }
 			set { clsid = value; }
 		}
 
 		[MonoTODO]
-		//[ComVisible(false)]
 		public string CodecName {
 			get { return codecName; }
 			set { codecName = value; }
 		}
 
 		[MonoTODO]
-		//[ComVisible(false)]
 		public string DllName {
 			get { return dllName; }
 			set { dllName = value; }
 		}
 
 		[MonoTODO]
-		//[ComVisible(false)]
 		public string FilenameExtension {
 			get { return filenameExtension; }
 			set { filenameExtension = value; }
 		}
 
 		[MonoTODO]
-		//[ComVisible(false)]
 		public ImageCodecFlags Flags {
 			get { return flags; }
 			set { flags = value; }
 		}
 
 		[MonoTODO]
-		//[ComVisible(false)]
 		public string FormatDescription {
 			get { return formatDescription; }
 			set { formatDescription = value; }
 		}
 
 		[MonoTODO]
-		//[ComVisible(false)]
 		public Guid FormatID {
 			get { return formatID; }
 			set { formatID = value; }
 		}
 
 		[MonoTODO]
-		//[ComVisible(false)]
 		public string MimeType {
 			get { return mimeType; }
 			set { mimeType = value; }
@@ -130,7 +127,6 @@ namespace System.Drawing.Imaging {
 
 		[MonoTODO]
 		[CLSCompliant(false)]
-		//[ComVisible(false)]
 		public byte[][] SignatureMasks {
 			get { return signatureMasks; }
 			set { signatureMasks = value; }
@@ -138,14 +134,12 @@ namespace System.Drawing.Imaging {
 
 		[MonoTODO]
 		[CLSCompliant(false)]
-		//[ComVisible(false)]
 		public byte[][] SignaturePatterns {
 			get { return signaturePatterns; }
 			set { signaturePatterns = value; }
 		}
 
 		[MonoTODO]
-		//[ComVisible(false)]
 		public int Version {
 			get { return version; }
 			set { version = value; }

+ 2 - 1
mcs/class/System.Drawing/System.Drawing.Imaging/ImageFlags.cs

@@ -6,7 +6,8 @@
 //
 using System;
 namespace System.Drawing.Imaging
-{
+{
+	[Flags]
 	public enum ImageFlags {
 		Caching = 131072,
 		ColorSpaceCmyk = 32,

+ 29 - 29
mcs/class/System.Drawing/System.Drawing.Imaging/ImageFormat.cs

@@ -1,21 +1,25 @@
 //
 // System.Drawing.Imaging.ImageFormat.cs
 //
+// Authors:
+//   Everaldo Canuto ([email protected])
+//   Andreas Nahr ([email protected])
+//   Dennis Hayes ([email protected])
+//
 // (C) 2002 Ximian, Inc.  http://www.ximian.com
-// Author: Everaldo Canuto
-// eMail: [email protected]
-// Dennis Hayes ([email protected])
 //
+
 using System;
+using System.ComponentModel;
 
 namespace System.Drawing.Imaging {
 
+	[TypeConverter (typeof (ImageFormatConverter))]
 	public sealed class ImageFormat {
 
 		Guid	guid;
 
 		// constructors
-		[MonoTODO]
 		public ImageFormat(Guid guid) {
 			this.guid = guid;
 		}
@@ -33,67 +37,63 @@ namespace System.Drawing.Imaging {
 		
 		[MonoTODO]
 		public override string ToString() {
+			// FIXME returns a string for the format like "Png"
 			return String.Format("ImageFormat.Guid {0}", guid);
 		}
 
 		// properties
-		static ImageFormat BmpImageFormat = new ImageFormat (new Guid ("DFB9AC7D-498D-4bd8-9D42-E23E541964B1"));
+		public Guid Guid {
+			get { return guid; }
+		}
 
-		[MonoTODO]
+		static ImageFormat BmpImageFormat = new ImageFormat (new Guid ("b96b3cab-0728-11d3-9d7b-0000f81ef32e"));
 		public static ImageFormat Bmp {
 			get { return BmpImageFormat; }
 		}
 		
-		[MonoTODO]
+		static ImageFormat EmfImageFormat = new ImageFormat (new Guid ("b96b3cac-0728-11d3-9d7b-0000f81ef32e"));
 		public static ImageFormat Emf {
-			get { throw new NotImplementedException (); }
+			get { return EmfImageFormat; }
 		}
 		
-		[MonoTODO]
+		static ImageFormat ExifImageFormat = new ImageFormat (new Guid ("b96b3cb2-0728-11d3-9d7b-0000f81ef32e"));
 		public static ImageFormat Exif {
-			get { throw new NotImplementedException (); }
+			get { return ExifImageFormat; }
 		}
 		
-		[MonoTODO]
+		static ImageFormat GifImageFormat = new ImageFormat (new Guid ("b96b3cb0-0728-11d3-9d7b-0000f81ef32e"));
 		public static ImageFormat Gif {
-			get { throw new NotImplementedException (); }
+			get { return GifImageFormat; }
 		}
 		
-		[MonoTODO]
-		public Guid Guid {
-			get { return guid; }
-		}
-		
-		[MonoTODO]
+		static ImageFormat IconImageFormat = new ImageFormat (new Guid ("b96b3cb5-0728-11d3-9d7b-0000f81ef32e"));
 		public static ImageFormat Icon {
-			get { throw new NotImplementedException (); }
+			get { return IconImageFormat; }
 		}
 		
-		[MonoTODO] 
-		static ImageFormat JpegImageFormat = new ImageFormat(new Guid("83BFFDF8-398F-407f-BA33-A7993D11B2DA"));
+		static ImageFormat JpegImageFormat = new ImageFormat(new Guid("b96b3cae-0728-11d3-9d7b-0000f81ef32e"));
 		public static ImageFormat Jpeg {
 			get { return JpegImageFormat; }
 		}
 		
-		[MonoTODO]
+		static ImageFormat MemoryBmpImageFormat = new ImageFormat (new Guid ("b96b3caa-0728-11d3-9d7b-0000f81ef32e"));
 		public static ImageFormat MemoryBmp {
-			get { throw new NotImplementedException (); }
+			get { return MemoryBmpImageFormat; }
 		}
 		
-		[MonoTODO]
-		static ImageFormat PngImageFormat = new ImageFormat(new Guid("33CDFD76-3463-4273-BA28-A7993D11B2DA"));
+		static ImageFormat PngImageFormat = new ImageFormat(new Guid("b96b3caf-0728-11d3-9d7b-0000f81ef32e"));
 		public static ImageFormat Png {
 			get { return PngImageFormat; }
 		}
 		
-		[MonoTODO]
+		static ImageFormat TiffImageFormat = new ImageFormat (new Guid ("b96b3cb1-0728-11d3-9d7b-0000f81ef32e"));
 		public static ImageFormat Tiff {
-			get { throw new NotImplementedException (); }
+			get { return TiffImageFormat; }
 		}
 		
-		[MonoTODO]
+		static ImageFormat WmfImageFormat = new ImageFormat (new Guid ("b96b3cad-0728-11d3-9d7b-0000f81ef32e"));
 		public static ImageFormat Wmf {
-			get { throw new NotImplementedException (); }
+			get { return WmfImageFormat; }
 		}
 		
 	}

+ 32 - 29
mcs/class/System.Drawing/System.Drawing.Imaging/MetaHeader.cs

@@ -1,64 +1,67 @@
 //
 // System.Drawing.Imaging.MetaHeader.cs
 //
-// (C) 2002 Ximian, Inc.  http://www.ximian.com
-// Author: Everaldo Canuto
-// eMail: [email protected]
-// Dennis Hayes ([email protected])
-//
+// Authors:
+//   Everaldo Canuto ([email protected])
+//   Andreas Nahr ([email protected])
+//   Dennis Hayes ([email protected])
+//
+// (C) 2002 Ximian, Inc.  http://www.ximian.com
+//
+
 using System;
 
 namespace System.Drawing.Imaging {
 
 	public sealed class MetaHeader {
+
+		short headerSize;
+		int maxRecord;
+		short noObjects;
+		short noParameters;
+		int size;
+		short type;
+		short version;
 
 		// constructors
-		[MonoTODO]
-		public MetaHeader() {
-			throw new NotImplementedException ();
+		public MetaHeader()
+		{
 		}
 
 		// properties
-		[MonoTODO]
 		public short HeaderSize {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return headerSize; }
+			set { headerSize = value; }
 		}
 		
-		[MonoTODO]
 		public int MaxRecord {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return maxRecord; }
+			set { maxRecord = value; }
 		}
 		
-		[MonoTODO]
 		public short NoObjects {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return noObjects; }
+			set { noObjects = value; }
 		}
 		
-		[MonoTODO]
 		public short NoParameters {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return noParameters; }
+			set { noParameters = value; }
 		}
 		
-		[MonoTODO]
 		public int Size {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return size; }
+			set { size = value; }
 		}
 
-		[MonoTODO]
 		public short Type {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return type; }
+			set { type = value; }
 		}
 
-		[MonoTODO]
 		public short Version {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return version; }
+			set { version = value; }
 		}
 		
 	}

+ 21 - 17
mcs/class/System.Drawing/System.Drawing.Imaging/PropertyItem.cs

@@ -1,40 +1,44 @@
 //
 // System.Drawing.Imaging.PropertyItem.cs
 //
-// (C) 2002 Ximian, Inc.  http://www.ximian.com
-// Author: Everaldo Canuto
-// eMail: [email protected]
-// Dennis Hayes ([email protected])
-//
+// Authors:
+//   Everaldo Canuto ([email protected])
+//   Andreas Nahr ([email protected])
+//   Dennis Hayes ([email protected])
+//
+// (C) 2002 Ximian, Inc.  http://www.ximian.com
+//
+
 using System;
 
 namespace System.Drawing.Imaging {
 
 	public sealed class PropertyItem {
+
+		int id;
+		int len;
+		short type;
+		byte[] value;
 
 		// properties
-		[MonoTODO]
 		public int Id {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return id; }
+			set { id = value; }
 		}
 
-		[MonoTODO]
 		public int Len {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return len; }
+			set { len = value; }
 		}
 
-		[MonoTODO]
 		public short Type {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return type; }
+			set { type = value; }
 		}
 
-		[MonoTODO]
 		public byte[] Value {
-			get { throw new NotImplementedException (); }
-			set { throw new NotImplementedException (); }
+			get { return this.value; }
+			set { this.value = value; }
 		}
 
 	}