Author: spouliot
Date: 2007-05-30 08:05:53 -0400 (Wed, 30 May 2007)
New Revision: 78195

Modified:
   trunk/mcs/class/System.Drawing/System.Drawing.Imaging/ChangeLog
   trunk/mcs/class/System.Drawing/System.Drawing.Imaging/ImageAttributes.cs
Log:
2007-05-30  Sebastien Pouliot  <[EMAIL PROTECTED]>

        * ImageAttributes.cs: Remove TODO for ColorMatrixFlags and Gray 
        ColorMatrix support methods. Add TODO on some stuff not supported by
        libgdiplus (so MoMA reports gets more accurate). Fix coding style.



Modified: trunk/mcs/class/System.Drawing/System.Drawing.Imaging/ChangeLog
===================================================================
--- trunk/mcs/class/System.Drawing/System.Drawing.Imaging/ChangeLog     
2007-05-30 12:02:34 UTC (rev 78194)
+++ trunk/mcs/class/System.Drawing/System.Drawing.Imaging/ChangeLog     
2007-05-30 12:05:53 UTC (rev 78195)
@@ -1,3 +1,9 @@
+2007-05-30  Sebastien Pouliot  <[EMAIL PROTECTED]>
+
+       * ImageAttributes.cs: Remove TODO for ColorMatrixFlags and Gray 
+       ColorMatrix support methods. Add TODO on some stuff not supported by
+       libgdiplus (so MoMA reports gets more accurate). Fix coding style.
+
 2007-05-09 Igor Zelmanovich <[EMAIL PROTECTED]>
 
        * EncoderParameter.jvm.cs: removed destructor, 

Modified: 
trunk/mcs/class/System.Drawing/System.Drawing.Imaging/ImageAttributes.cs
===================================================================
--- trunk/mcs/class/System.Drawing/System.Drawing.Imaging/ImageAttributes.cs    
2007-05-30 12:02:34 UTC (rev 78194)
+++ trunk/mcs/class/System.Drawing/System.Drawing.Imaging/ImageAttributes.cs    
2007-05-30 12:05:53 UTC (rev 78195)
@@ -8,7 +8,7 @@
 //     Sebastien Pouliot  <[EMAIL PROTECTED]>
 //
 // (C) 2002-4 Ximian, Inc.  http://www.ximian.com
-// Copyright (C) 2004, 2006 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004, 2006-2007 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
@@ -38,48 +38,43 @@
        [StructLayout(LayoutKind.Sequential)]
        public sealed class ImageAttributes : ICloneable, IDisposable {
                
-               private IntPtr nativeImageAttr = IntPtr.Zero;
+               private IntPtr nativeImageAttr;
                
-               internal IntPtr NativeObject{
-                       get{
+               internal IntPtr NativeObject {
+                       get {
                                return nativeImageAttr;
                        }
                }
                
-               internal  ImageAttributes(IntPtr native)
+               internal ImageAttributes (IntPtr native)
                {
                        nativeImageAttr = native;
                }
                
-               public ImageAttributes() {                              
-                       
-                       Status status = GDIPlus.GdipCreateImageAttributes(out 
nativeImageAttr);
-                                               
-                       if (status != Status.Ok)
-                               throw new Exception ("Error calling 
GDIPlus.GdipCreateImageAttributes:" +status);
-                       
+               public ImageAttributes ()
+               {
+                       Status status = GDIPlus.GdipCreateImageAttributes (out 
nativeImageAttr);
+                       GDIPlus.CheckStatus (status);
                }
 
-               public void ClearBrushRemapTable()
+               public void ClearBrushRemapTable ()
                {
-                       ClearRemapTable (ColorAdjustType.Brush);                
        
+                       ClearRemapTable (ColorAdjustType.Brush);
                }
 
                //Clears the color keys for all GDI+ objects
-               public void ClearColorKey() 
-               {                                        
+               public void ClearColorKey () 
+               {
                        ClearColorKey (ColorAdjustType.Default);
                }
 
-               public void ClearColorKey(ColorAdjustType type)
+               public void ClearColorKey (ColorAdjustType type)
                {
-                       Status status = GDIPlus.GdipSetImageAttributesColorKeys 
(nativeImageAttr, 
-                               type, false, 0, 0);
-                       
+                       Status status = GDIPlus.GdipSetImageAttributesColorKeys 
(nativeImageAttr, type, false, 0, 0);
                        GDIPlus.CheckStatus (status);
                }
 
-               public void ClearColorMatrix()
+               public void ClearColorMatrix ()
                {
                        ClearColorMatrix (ColorAdjustType.Default);
                }
@@ -90,101 +85,91 @@
                                IntPtr.Zero, IntPtr.Zero, 
ColorMatrixFlag.Default);
                        GDIPlus.CheckStatus (status);
                }
-               
-               public void ClearGamma()
+
+               public void ClearGamma ()
                {
                        ClearGamma (ColorAdjustType.Default);
                }
-               
-               public void ClearGamma(ColorAdjustType type)
+
+               public void ClearGamma (ColorAdjustType type)
                {
-                       Status status = GDIPlus.GdipSetImageAttributesGamma 
(nativeImageAttr,   type, false, 0);
-                       
+                       Status status = GDIPlus.GdipSetImageAttributesGamma 
(nativeImageAttr, type, false, 0);
                        GDIPlus.CheckStatus (status);
                }
-               
-               public void ClearNoOp()
+
+               public void ClearNoOp ()
                {
                        ClearNoOp (ColorAdjustType.Default);
                }
-               
-               public void ClearNoOp(ColorAdjustType type)
+
+               public void ClearNoOp (ColorAdjustType type)
                {
                        Status status = GDIPlus.GdipSetImageAttributesNoOp 
(nativeImageAttr, type, false);
-                       
                        GDIPlus.CheckStatus (status);
                }
 
-               public void ClearOutputChannel()
+               public void ClearOutputChannel ()
                {
                        ClearOutputChannel (ColorAdjustType.Default);
                }
-               
-               public void ClearOutputChannel(ColorAdjustType type)
+
+               public void ClearOutputChannel (ColorAdjustType type)
                {
-                       Status status = 
GDIPlus.GdipSetImageAttributesOutputChannel (nativeImageAttr,   
-                               type, false, ColorChannelFlag.ColorChannelLast);
-                       
+                       Status status = 
GDIPlus.GdipSetImageAttributesOutputChannel (nativeImageAttr, type, false, 
+                               ColorChannelFlag.ColorChannelLast);
                        GDIPlus.CheckStatus (status);
                }
 
-               public void ClearOutputChannelColorProfile()
+               public void ClearOutputChannelColorProfile ()
                {
                        ClearOutputChannelColorProfile 
(ColorAdjustType.Default);
                }
-               
-               public void ClearOutputChannelColorProfile(ColorAdjustType type)
+
+               public void ClearOutputChannelColorProfile (ColorAdjustType 
type)
                {
-                       Status status = 
GDIPlus.GdipSetImageAttributesOutputChannelColorProfile (nativeImageAttr, 
-                               type, false, null);
-                       
+                       Status status = 
GDIPlus.GdipSetImageAttributesOutputChannelColorProfile (nativeImageAttr, type, 
false, 
+                               null);
                        GDIPlus.CheckStatus (status);
                }
 
-               public void ClearRemapTable()
+               public void ClearRemapTable ()
                {
                        ClearRemapTable (ColorAdjustType.Default);
                }
-               
-               public void ClearRemapTable(ColorAdjustType type)
+
+               public void ClearRemapTable (ColorAdjustType type)
                {
-                       Status status = 
GDIPlus.GdipSetImageAttributesRemapTable (nativeImageAttr, 
-                               type, false, 0, IntPtr.Zero);
-                       
+                       Status status = 
GDIPlus.GdipSetImageAttributesRemapTable (nativeImageAttr, type, false, 0, 
IntPtr.Zero);
                        GDIPlus.CheckStatus (status);
                }
 
-               public void ClearThreshold()
+               public void ClearThreshold ()
                {
                        ClearThreshold (ColorAdjustType.Default);
                }
-               
-               public void ClearThreshold(ColorAdjustType type)
+
+               public void ClearThreshold (ColorAdjustType type)
                {
-                       Status status = GDIPlus.GdipSetImageAttributesThreshold 
(nativeImageAttr,
-                               type, false, 0);
-                       
+                       Status status = GDIPlus.GdipSetImageAttributesThreshold 
(nativeImageAttr, type, false, 0);
                        GDIPlus.CheckStatus (status);
                }
 
                //Sets the color keys for all GDI+ objects
-               public void SetColorKey(Color colorLow, Color colorHigh)
+               public void SetColorKey (Color colorLow, Color colorHigh)
                {
                        SetColorKey (colorLow, colorHigh, 
ColorAdjustType.Default);
                }
 
-               public void SetColorMatrix (ColorMatrix colorMatrix) 
+               public void SetColorMatrix (ColorMatrix colorMatrix)
                {
                        SetColorMatrix (colorMatrix, ColorMatrixFlag.Default, 
ColorAdjustType.Default);
                }
 
-               [MonoTODO ("colorMatrixFlag parameter is ignored in 
libgdiplus")]
-               public void SetColorMatrix (ColorMatrix colorMatrix, 
ColorMatrixFlag colorMatrixFlag) 
+               public void SetColorMatrix (ColorMatrix colorMatrix, 
ColorMatrixFlag colorMatrixFlag)
                {
                        SetColorMatrix (colorMatrix, colorMatrixFlag, 
ColorAdjustType.Default);
                }
 
-               [MonoTODO ("colorMatrixFlag parameter is ignored in 
libgdiplus")]
                public void SetColorMatrix (ColorMatrix colorMatrix, 
ColorMatrixFlag colorMatrixFlag, ColorAdjustType colorAdjustType)
                {
                        IntPtr cm = ColorMatrix.Alloc (colorMatrix);
@@ -197,46 +182,43 @@
                                ColorMatrix.Free (cm);
                        }
                }
-               
-               public void Dispose() 
+
+               public void Dispose ()
                {
                        if (nativeImageAttr != IntPtr.Zero) {
-                               
-                               Status status = 
GDIPlus.GdipDisposeImageAttributes(nativeImageAttr);
-                               GDIPlus.CheckStatus (status);                   
        
+                               Status status = 
GDIPlus.GdipDisposeImageAttributes (nativeImageAttr);
                                nativeImageAttr = IntPtr.Zero;
-                       }                       
-                       
+                               GDIPlus.CheckStatus (status);
+                       }
                        System.GC.SuppressFinalize (this);
                }
 
-               ~ImageAttributes() 
-               {                       
+               ~ImageAttributes ()
+               {
                        Dispose ();
-               }               
+               }
                
-               public object Clone()
-               {       
-                       IntPtr imgclone;        
-                       
-                       Status status = GDIPlus.GdipCloneImageAttributes 
(nativeImageAttr, out imgclone);                                               
-                       GDIPlus.CheckStatus (status);                           
                
-                       
-                       return new ImageAttributes (imgclone);                  
-               }               
-               
-               public void GetAdjustedPalette(ColorPalette palette,  
ColorAdjustType type)
+               public object Clone ()
                {
+                       IntPtr imgclone;
+
+                       Status status = GDIPlus.GdipCloneImageAttributes 
(nativeImageAttr, out imgclone);
+                       GDIPlus.CheckStatus (status);
+
+                       return new ImageAttributes (imgclone);
+               }
+
+               [MonoTODO ("Not supported by libgdiplus")]
+               public void GetAdjustedPalette (ColorPalette palette, 
ColorAdjustType type)
+               {
                        IntPtr colorPalette;
-                       
-                       Status status = 
GDIPlus.GdipGetImageAttributesAdjustedPalette (nativeImageAttr,
-                               out colorPalette,  type);
-                               
+
+                       Status status = 
GDIPlus.GdipGetImageAttributesAdjustedPalette (nativeImageAttr, out 
colorPalette, type);
                        palette.setFromGDIPalette (colorPalette);
                        GDIPlus.CheckStatus (status);
-               }               
-               
-               public void SetBrushRemapTable(ColorMap[] map)
+               }
+
+               public void SetBrushRemapTable (ColorMap[] map)
                {
                        GdiColorMap gdiclr = new GdiColorMap ();                
                                
                        IntPtr clrmap, lpPointer;
@@ -260,136 +242,104 @@
                                Marshal.FreeHGlobal (clrmap);   
                        }
                }
-               
-               
-               public void SetColorKey(Color colorLow,   Color colorHigh, 
ColorAdjustType type)
+
+               public void SetColorKey (Color colorLow, Color colorHigh, 
ColorAdjustType type)
                {
-                       Status status = GDIPlus.GdipSetImageAttributesColorKeys 
(nativeImageAttr,                                            
-                                            type, true,  colorLow.ToArgb (), 
colorHigh.ToArgb ());
-                                            
-                       GDIPlus.CheckStatus (status);                           
                                                 
+                       Status status = GDIPlus.GdipSetImageAttributesColorKeys 
(nativeImageAttr, type, true, 
+                               colorLow.ToArgb (), colorHigh.ToArgb ());
+                       GDIPlus.CheckStatus (status);
                }
-               
-               
-               [MonoTODO ("grayMatrix parameter is ignored in libgdiplus")]
+
                public void SetColorMatrices (ColorMatrix newColorMatrix, 
ColorMatrix grayMatrix)
                {
-                       IntPtr cm = ColorMatrix.Alloc (newColorMatrix);
-                       try {
-                               IntPtr gm = ColorMatrix.Alloc (grayMatrix);
-                               try {
-                                       Status status = 
GDIPlus.GdipSetImageAttributesColorMatrix (nativeImageAttr, 
-                                               ColorAdjustType.Default, true, 
cm, gm, ColorMatrixFlag.Default);
-                                       GDIPlus.CheckStatus (status);
-                               }
-                               finally {
-                                       ColorMatrix.Free (gm);
-                               }
-                       }
-                       finally {
-                               ColorMatrix.Free (cm);
-                       }
+                       SetColorMatrices (newColorMatrix, grayMatrix, 
ColorMatrixFlag.Default, ColorAdjustType.Default);
                }               
                
-               [MonoTODO ("grayMatrix and colorMatrixFlag parameters are 
ignored in libgdiplus")]
                public void SetColorMatrices (ColorMatrix newColorMatrix, 
ColorMatrix grayMatrix, ColorMatrixFlag flags)
                {
-                       IntPtr cm = ColorMatrix.Alloc (newColorMatrix);
-                       try {
-                               IntPtr gm = ColorMatrix.Alloc (grayMatrix);
-                               try {
-                                       Status status = 
GDIPlus.GdipSetImageAttributesColorMatrix (nativeImageAttr, 
-                                               ColorAdjustType.Default, true, 
cm, gm, flags);
-                                       GDIPlus.CheckStatus (status);
-                               }
-                               finally {
-                                       ColorMatrix.Free (gm);
-                               }
-                       }
-                       finally {
-                               ColorMatrix.Free (cm);
-                       }
+                       SetColorMatrices (newColorMatrix, grayMatrix, flags, 
ColorAdjustType.Default);
                }
                
-               [MonoTODO ("grayMatrix and colorMatrixFlag parameters are 
ignored in libgdiplus")]
                public void SetColorMatrices (ColorMatrix newColorMatrix, 
ColorMatrix grayMatrix, ColorMatrixFlag mode, ColorAdjustType type)
                {
+                       Status status;
                        IntPtr cm = ColorMatrix.Alloc (newColorMatrix);
                        try {
-                               IntPtr gm = ColorMatrix.Alloc (grayMatrix);
-                               try {
-                                       Status status = 
GDIPlus.GdipSetImageAttributesColorMatrix (nativeImageAttr, 
-                                               ColorAdjustType.Default, true, 
cm, gm, mode);
-                                       GDIPlus.CheckStatus (status);
+                               if (grayMatrix == null) {
+                                       status = 
GDIPlus.GdipSetImageAttributesColorMatrix (nativeImageAttr, type, true, cm,
+                                               IntPtr.Zero, mode);
+                               } else {
+                                       IntPtr gm = ColorMatrix.Alloc 
(grayMatrix);
+                                       try {
+                                               status = 
GDIPlus.GdipSetImageAttributesColorMatrix (nativeImageAttr, type, true,
+                                                       cm, gm, mode);
+                                       }
+                                       finally {
+                                               ColorMatrix.Free (gm);
+                                       }
                                }
-                               finally {
-                                       ColorMatrix.Free (gm);
-                               }
                        }
                        finally {
                                ColorMatrix.Free (cm);
                        }
+                       GDIPlus.CheckStatus (status);
                }               
 
-               public void SetGamma(float gamma)
+               public void SetGamma (float gamma)
                {
-                       SetGamma (gamma, ColorAdjustType.Default);              
        
-               }               
-               
-               public void SetGamma(float gamma, ColorAdjustType coloradjust)
+                       SetGamma (gamma, ColorAdjustType.Default);
+               }
+
+               public void SetGamma (float gamma, ColorAdjustType coloradjust)
                {
-                       Status status = GDIPlus.GdipSetImageAttributesGamma 
(nativeImageAttr, coloradjust, true, 
-                               gamma);
-                       
+                       Status status = GDIPlus.GdipSetImageAttributesGamma 
(nativeImageAttr, coloradjust, true, gamma);
                        GDIPlus.CheckStatus (status);                           
                
                }       
                
-               public void SetNoOp()
+               public void SetNoOp ()
                {
                        SetNoOp (ColorAdjustType.Default);                      
                        
                }                       
                
-               public void SetNoOp(ColorAdjustType type)
+               public void SetNoOp (ColorAdjustType type)
                {
-                       Status status = GDIPlus.GdipSetImageAttributesNoOp 
(nativeImageAttr, 
-                               type, true);
-                       
-                       GDIPlus.CheckStatus (status);                   
-               }                                       
-               
-               public void SetOutputChannel(ColorChannelFlag flags)
+                       Status status = GDIPlus.GdipSetImageAttributesNoOp 
(nativeImageAttr, type, true);
+                       GDIPlus.CheckStatus (status);
+               }
+
+               [MonoTODO ("Not supported by libgdiplus")]
+               public void SetOutputChannel (ColorChannelFlag flags)
                {
-                       SetOutputChannel (flags, ColorAdjustType.Default);      
        
+                       SetOutputChannel (flags, ColorAdjustType.Default);
                }
-               
-               public void SetOutputChannel(ColorChannelFlag flags,  
ColorAdjustType type)
+
+               [MonoTODO ("Not supported by libgdiplus")]
+               public void SetOutputChannel (ColorChannelFlag flags, 
ColorAdjustType type)
                {
-                       Status status = 
GDIPlus.GdipSetImageAttributesOutputChannel (nativeImageAttr,   
-                               type, true, flags);
-                               
-                       GDIPlus.CheckStatus (status);                   
-               }               
-               
-               public void SetOutputChannelColorProfile(string 
colorProfileFilename)
+                       Status status = 
GDIPlus.GdipSetImageAttributesOutputChannel (nativeImageAttr, type, true, 
flags);
+                       GDIPlus.CheckStatus (status);
+               }
+
+               [MonoTODO ("Not supported by libgdiplus")]
+               public void SetOutputChannelColorProfile (string 
colorProfileFilename)
                {
-                       SetOutputChannelColorProfile (colorProfileFilename, 
ColorAdjustType.Default);                   
-               }               
-               
-               public void SetOutputChannelColorProfile(string 
colorProfileFilename,  ColorAdjustType type)
+                       SetOutputChannelColorProfile (colorProfileFilename, 
ColorAdjustType.Default);
+               }
+
+               [MonoTODO ("Not supported by libgdiplus")]
+               public void SetOutputChannelColorProfile (string 
colorProfileFilename, ColorAdjustType type)
                {
                        Status status = 
GDIPlus.GdipSetImageAttributesOutputChannelColorProfile (nativeImageAttr, 
                                type, true, colorProfileFilename);
-                               
-                       GDIPlus.CheckStatus (status);                           
                                                                
-               }               
-               
-               public void SetRemapTable(ColorMap[] map)
-               {                       
+                       GDIPlus.CheckStatus (status);
+               }
+
+               public void SetRemapTable (ColorMap[] map)
+               {
                        SetRemapTable (map, ColorAdjustType.Default);
                }
 
-               
-               public void SetRemapTable(ColorMap[] map, ColorAdjustType type)
+               public void SetRemapTable (ColorMap[] map, ColorAdjustType type)
                {
                        GdiColorMap gdiclr = new GdiColorMap ();                
                                
                        IntPtr clrmap, lpPointer;
@@ -413,38 +363,34 @@
                                Marshal.FreeHGlobal (clrmap);
                        }
                }               
-               
-               public void SetThreshold(float threshold)
+
+               [MonoTODO ("Not supported by libgdiplus")]
+               public void SetThreshold (float threshold)
                {
                        SetThreshold (threshold, ColorAdjustType.Default);
-               }               
-               
-               public void SetThreshold(float threshold, ColorAdjustType type)
+               }
+
+               [MonoTODO ("Not supported by libgdiplus")]
+               public void SetThreshold (float threshold, ColorAdjustType type)
                {
-                       Status status = GDIPlus.GdipSetImageAttributesThreshold 
(nativeImageAttr,
-                               type, true, 0);
-                       
-                       GDIPlus.CheckStatus (status);                   
-               }               
+                       Status status = GDIPlus.GdipSetImageAttributesThreshold 
(nativeImageAttr, type, true, 0);
+                       GDIPlus.CheckStatus (status);
+               }
 
-               public void SetWrapMode(WrapMode mode)
+               public void SetWrapMode (WrapMode mode)
                {
                        SetWrapMode (mode, Color.Black);
                }
                
-               
-               public void SetWrapMode(WrapMode mode,  Color color)
+               public void SetWrapMode (WrapMode mode, Color color)
                {
-                       SetWrapMode (mode,  color, false);
+                       SetWrapMode (mode, color, false);
                }
-               
-               
-               public void SetWrapMode(WrapMode mode,  Color color, bool clamp)
+
+               public void SetWrapMode (WrapMode mode, Color color, bool clamp)
                {
-                       Status status = GDIPlus.GdipSetImageAttributesWrapMode 
(nativeImageAttr,  mode,
-                               color.ToArgb(), clamp); 
-                       
-                       GDIPlus.CheckStatus (status);                   
-               }               
+                       Status status = GDIPlus.GdipSetImageAttributesWrapMode 
(nativeImageAttr, mode, color.ToArgb (), clamp);
+                       GDIPlus.CheckStatus (status);
+               }
        }
 }

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to