2008-02-10 Sebastien Pouliot * gdipFunctions.cs: Seal GdiPlusStreamHelper class. Found using Gendarme. * carbonFunctions.cs: Seal Carbon class before 2.0, make it static from 2.0. Issues reported by Gendarme. * ColorConverter.cs: Seal internal IComparer class CompareColors. Found using Gendarme. * FontConverter.cs: Don't ignore result of String.Trim. Found using Gendarme. * Graphics.cs: Document unused FillMode on DrawCloseCurve (part of the API but unused) and remove unused internal code. Both found using Gendarme. * SRDescriptionAttribute.cs: Seal internal attribute. Found using Gendarme. 2008-02-01 Geoff Norton * carbonFunction.cs: More clipping fixes. Include a variable to help debug future clipping problems by showing us the clipped mask. 2008-02-01 Geoff Norton * carbonFunctions.cs: Ensure we save/restore the GState before modifying the clipping path as QD contexts can be reused. 2008-02-01 Geoff Norton * carbonFunction.cs: Rework the clipping interaction with CoreGraphics. Our old method was buggy in certain cases causing improper / inefficient clip handling. 2008-01-23 Geoff Norton * carbonFunction.cs: Remove some debug code. Thanks spouliot. 2008-01-23 Geoff Norton * carbonFunctions.cs: Dont crash when we have an orphaned handle. 2008-01-23 Geoff Norton * carbonFunctions.cs: If we get a -ve size from carbon, swizzle to 0 to prevent a OOM from cairo malloc. Remove support for GetCGContextForNSView as its deprecated and doesn't work. * gdipFunctions.cs: Refactor the environment variable support out and make the Carbon driver the default on a Mac. Fix RunningOnUnix to report true on the mac. * Graphics.cs: Drop support for CocoaDrawable. 2008-01-21 Geoff Norton * Graphics.cs: Support Graphics.FromHwnd (IntPtr.Zero) on X11 * carbonFunctions.cs: Support for Graphics.FromHwnd (IntPtr.Zero) on Carbon * gdipFunctions.cs: Add XDefaultScreen overload. 2008-01-13 Sebastien Pouliot * gdipEnums.cs: Remove Unit enum since there's a public version (GraphicsUnit) for it. * gdipFunctions.cs: Make GDIPlus class static for 2.0 and remove new lines (both warnings from Gendarme). Stop using Unit enum. * Pen.cs: Stop using Unit enum. 2008-01-08 Sebastien Pouliot * Font.cs: Fix GetHashCode to use the same values as Equals. Fix bug #351647 2007-12-19 Sebastien Pouliot * Graphics.cs: Fix Point/PointF typo in FromUnManagedMemoryToPoint. Added a few space to make it easier to read those methods. Fix #349800 2007-12-16 Miguel de Icaza * Image.cs: Use the existing GdipPropertyItem.MarshalTo method to conver the PropertyItem into a property item with Sequential attached to it, and pass that to unmanaged code. Fixes #349103. 2007-12-11 Vladimir Krasnov * Bitmap.jvm.cs: ArgumentException on unknown format from stream 2007-12-07 Geoff Norton * Graphics.cs: Ensure that we Flush and Synchornize our CGContexts before disposing. Fixes drawing bugs when drawn out of the event loop and the caller doesn't Flush. * carbonFunctions.cs: Rework the cross-assembly data marshalling to use a delegate as suggested by lupus. 2007-11-19 Sebastien Pouliot * ImageAnimator.cs: Check for FrameDimension.Time availability before asking the frame count (since MS GDI+ prefers to return an error than saying it has a single frame). Fix bug #342733 2007-11-15 Geoff Norton * gdipFunctions.cs: Reflect the renamed environment variable in the new Carbon driver. * Graphics.cs: Remove support for the deprecated Cocoa driver until its fixed. 2007-11-12 Sebastien Pouliot * ColorTranslator.cs: Special case handling for LightGray versus HTML's LightGrey. Fix bug #340917. 2007-11-07 Geoff Norton * carbonFunctions.cs: * Graphics.cs: Use QDBeginCGContext / QDEndCGContext to leverage OS caching of CGContexts when possible. If we are still using the context returned by QDBeginCGContext, then create a new CGContext for this graphics object. 2007-11-07 Geoff Norton * carbonFunctions.cs: * Graphics.cs: QDBeginCGContext does not support nested calls. We need to ref count our context but this will have clipping/CTM collisions Support old-style context creation as well. 2007-11-07 Geoff Norton * carbonFunctions.cs: Code cleanup and refactor to use QDBeginCGContext/QDEndCGContext * Graphics.cs: Refactor to use QDBeginCGContext/QDEndCGContext rather than the deprecated CreateCGContextForPort. This has the added benefit of the QD system caching CGContexts for us as well. 2007-11-07 Geoff Norton * carbonFunctions.cs: Add CFRelease prototype. * Graphics.cs: When we're disposing the graphics context clean up the CGContext that we've created for it. 2007-11-06 Sebastien Pouliot * Bitmap.cs: Add a private, parameter-less, ctor for Bitmap so XML serialization is possible under 2.0 (fix for #323246). 2007-11-05 Sebastien Pouliot * gdipFunctions.cs: Add a bool parameter to GdiPlusStreamHelper ctor to move, or not, the stream position to load/save images. * Image.cs: Stream position is moved to 0 when loading images from stream but isn't moved for saving an image to a stream. Fix part of #338779 (except that Image.FromFile behave differently for metafiles) 2007-11-05 Sebastien Pouliot * gdipFunctions.cs: Stream position shouldn't be changed when loading images (bug #338779). * Pen.cs: Add a [MonoLimitation] to Pen's Alignment property so that the next version of MoMA will report it as not-implemented in libgdiplus (but it works under Windows, i.e. MS GDI+). #338985 2007-11-01 Geoff Norton * carbonFunctions.cs: Initiali implementation of clipping Z-order masking siblings from the context 2007-10-31 Sebastien Pouliot * ImageAnimator.cs: Fix delay == 0 to match most browser (imaginative) definitions of "0". Don't throw on null images. Synchronize hashtable. Remove unrequired loops. 2007-10-17 Geoff Norton * Graphics.cs: Only synchronize the display on Flush when we actually have a CGContext 2007-10-17 Geoff Norton * carbonFunctions.cs: Initial support for clipping children out of the CGContext before drawing on it. 2007-10-09 Geoff Norton * carbonFunctions.cs: Correct the P/Invoke definition for CGContext*CTM. 2007-09-26 Ivan N.Zlatev * ColorConverter.cs: During conversion to InstanceDescriptor check both IsSystemColor to get a PropertyInfo from type SystemColors and IsKnownColor to get PropertyInfo from type Color. 2007-08-09 Vladimir Krasnov * ColorTranslator.cs: optimized Html color formatting in ToHtml method 2007-08-13 Sebastien Pouliot * gdipFunctions.cs: Change GdipMeasureString definition to use unsafe pointers. * Graphics.cs: Rework MeasureString not to supply integers (characters and lines) as they aren't required for most of it's overloads and requires extra code/time to calculate inside libgdiplus. Also fix a possible NRE in MultiplyTransform. 2007-08-01 Sebastien Pouliot * gdipFunctions.cs: Added definition for GdipCloneFontFamily 2007-08-01 Vladimir Krasnov * Bitmap.jvm.cs: fixed InternalPixelFormat TYPE_BYTE_GRAY 2007-05-30 Sebastien Pouliot * Graphics.cs: Refactor [Get|Release]Hdc to get ReleaseHdcInternal working (as long as the HDC comes from GetHdc). 2007-05-21 Adar Wesley * Graphics.jvm.cs * Pen.jvm.cs * Region.jvm.cs: Changed MemberwiseClone to clone. 2007-05-21 Adar Wesley * Font.jvm.cs: added implementation for Equals and GetHashCode. * Graphics.jvm.cs: added missing DrawImage overloads, DrawImageUnscaledAndClipped. 2007-05-18 Sebastien Pouliot * Icon.cs: Always open icon files as read only. Fix #81669. 2007-05-15 Sebastien Pouliot * Graphics.cs: Fix DrawImageUnscaled for empty (width or height <= 0) Fix NRE in DrawImageUnscaledAndClipped. Remove lines with only tabs in them. * RectangleF.cs: A rectangle with a negative width or height is also empty. 2007-05-09 Igor Zelmanovich * FontConverter.cs: for TARGET_JVM destructor is not used. 2007-05-03 Igor Zelmanovich * ColorConverter.cs: fixed GetStandardValues() for TARGET_JVM * Font.jvm.cs: fixed GetHeight() 2007-05-02 Sebastien Pouliot * gdipEnums.cs: Add GetSysColorIndex * gdipStructs.cs: Remove GetSysColorIndex (it's an enum) * KnownColors.cs: Fix Windows desktop colors as GetSysColor returns values in BGR (not RGB). 2007-05-01 Sebastien Pouliot * KnownColors.cs: Force alpha values (opaque) on Win32's GetSysColor. 2007-04-30 Sebastien Pouliot * Color.cs: Reflection didn't like the change from int to uint (thanks to Gert for noticing again :-). 2007-04-29 Konstantin Triger * Color.cs: FromName - do not throw on unknown color. 2007-04-26 Sebastien Pouliot * Color.cs: Try to avoid calling GetName in GetHashCode when the color isn't named. Commented code (#81465) to remove the string name member for the 2.0 profile (to avoid a reference in a struct). * ColorConverter.cs: Use the new KnownColor static uint array. * ColorTranslator.cs: Share code between From[Win32|Ole] (both BGR). Reduce ToHtml switch size (when html name == known color name). * KnownColors.cs: Remove the array of struct for every known colors. Add an array of uint with color values and a method to return the name of a known color. Big reduction of the static ctor code size. 2007-04-26 Sebastien Pouliot * gdipFunctions.cs: Add p/invoke definitions for GdipRecordMetafile FromDelegate[I]_linux. 2007-04-26 Sebastien Pouliot * gdipFunctions.cs: Add p/invoke definitions for GdipRecordMetafile [FileName|FromStream][I]. 2007-04-16 Sebastien Pouliot * Bitmap.cs: Add check in SetPixel for Format16bppGrayScale (but without requiring a second unmanaged call on each SetPixel call). 2007-04-13 Sebastien Pouliot * Brush.cs: Ensure we're zeroing the handle before calling CheckStatus. Some clean up. * Pen.cs: Ensure we're zeroing the handle before calling CheckStatus. Use Locale.GetText for exceptions. 2007-04-11 Sebastien Pouliot * Bitmap.cs: Move LockBits validations into unmanaged code. * gdipFunctions.cs: Add mapping for Win32Error in CheckStatus. Add globalization support for CheckStatus and add the GDI+ status code in the error message. * SolidBrush.cs: Clean up and add comments about [un]named colors. 2007-04-09 Sebastien Pouliot * Color.cs: Remove duplicate check in == and add better comments 2007-04-09 Sebastien Pouliot * Color.cs: Remove hashtables and locks. All color properties are read from KnownColors. Remove extra & 0xFF (typecast to byte is enough). Keep track of the Name property once calculated. When possible (most likely case) don't create the names (strings) in Equals, == and != * ColorTranslator.cs: Use the new KnownColors instead of the separate NamedColors and SystemColors. * ColorConverter.cs: Use the new KnownColors instead of the separate NamedColors and SystemColors. * gdipFunctions.cs: Moved GetSysColor p/invoke signature here as this class is marked by [SuppressUnmanagedCodeSecurity]. * gdipStructs.cs: Moved Windows-specific GetSysColorIndex enum here. * KnownColors.cs: New. Single source for all colors. * SystemColors.cs: Vastly simplified. All color properties are read from KnownColors. 2007-04-05 Sebastien Pouliot * gdipFunctions.cs: Remove unused (and not part of GDI+) GdipGetHfont method. 2007-04-02 Sebastien Pouliot * Pen.cs: Simplify. Caching the brush still involved too many unmanaged calls and was hiding libgdiplus bugs (e.g. 81266). Color is still cached (a little less ;-) but needs to stay that way so we keep the color names available (it's the expected behavior). 2007-03-20 Sebastien Pouliot * Graphics.cs: Replace TODO on all EnumerateMetafile overloads. 2007-03-19 Jonathan Pobst * Font.cs: Add a better exception for trying to create a font where the requested style is not available. [Fixes #81194] 2007-03-15 Sebastien Pouliot * ColorConverter.cs: Rewrite the hex color convertion to be more compatible with MS implementation (fixing NotWorking unit tests) and more endian friendly. 2007-02-28 Sebastien Pouliot * Font.cs: Remove internal SysFontName setter property and add a new ctor to replace it. * SystemFonts.cs: We can't cache font instance (because anyone can dispose them) so we must return new instances each time. 2007-02-27 Sebastien Pouliot * Bitmap.cs: Removed unrequired ctors. * TextureBrush.cs: Change which GDI+ calls is used to create the brush (to better match what you expect from libgdiplus source). Add [MonoLimitation] to ctors accepting ImageAttributes (not supported by libgdiplus). Split some long lines into two lines. 2007-02-26 Sebastien Pouliot * gdipFunctions.cs: Add p/invoke signature for GDI DeleteObject. * Region.cs: Under Windows use DeleteObject when calling ReleaseHrgn. Fix bug #80956. 2007-02-21 Sebastien Pouliot * Image.cs: Fix Metefile.ctor usage (to avoid creating, and leaking, an unmanaged metafile object); 2007-02-16 Sebastien Pouliot * gdipFunctions.cs: Fix some p/invoke definitions (int versus uint) and add more for metafile functions. * Image.cs: Fix usage of corrected p/invoke signatures. 2007-02-14 Jonathan Pobst * SystemColors.cs: Query Windows for the colors added to this class for 2.0. (Windows-only path of course.) 2007-02-13 Sebastien Pouliot * Icon.cs: Ignore Vista 256x256 icons, just like MS does. 2007-02-09 Sebastien Pouliot * Icon.cs: Resurrected some old Icon to Bitmap code from SVN history to handle convertion for Win32, where MS GDI+ ICO codec doesn't support all the icon formats supported by the Icon class. 2007-02-08 Sebastien Pouliot * Bitmap.cs: Adapt code wrt Image changes. Reuse the serialization ctor from Image to avoid duplicate code. * gdipEnums.cs: Added ImageType. Clean up extra stuff. * gdipFunctions.cs: Added GdipGetImageType and some metafile definitions. * Image.cs: Refactor code not to create a Bitmap for every images (e.g. FromFile, FromStream) as the result can also be a Metafile. 2007-01-30 Sebastien Pouliot * Image.cs: Fix serialization of Image/Bitmap that contains ICO. In this case the image is serialized as a PNG bitmap (note: the ICO codec is a decoder-only codec). 2007-01-19 Sebastien Pouliot * Graphics.cs: Fix FromImage to check for indexed images inside managed code (and not GDI+ which will report the wrong error code for the exception we expect). * Image.cs: Remove unused private method IsIndexedPixelFormat. 2007-01-19 Sebastien Pouliot * Font.cs: Fix calls to GDIPlus.ReleaseDC (missing parameter). This fix the GDI object leaks under Win32 (#80552). * gdipFunctions.cs: Fix ReleaseDC signature (missing hWnd). * Graphics.cs: Fix ReleaseDC signature (missing hWnd) in NET_2_0. 2007-01-19 Sebastien Pouliot * Font.cs: Under Win32 cache the LOGFONT we use to create the HFONT handle. This "hides" the fact that ToLogFont leaks (#80552). 2007-01-17 Sebastien Pouliot * gdipFunctions.cs: Added Win32 CreateIconIndirect and DestoryIcon imports. Both are required under Win32 to get HICON stuff working. Added some GDI+ Metafile related definitions too. * gdipStructs.cs: Update IconInfo structure so it can be used when calling CreateIconIndirect on Win32. * Icon.cs: Add support for handles under Win32. 2007-01-16 Sebastien Pouliot * Icon.cs: Implement saving an icon from it's bitmap representation. This allows roundtripped icons (Handle or HICON) to be saved. 2007-01-15 Sebastien Pouliot * Icon.cs: Refactor Save code to allow saving a single icon size. This allows ToBitmap to produce the right (sized) bitmap wrt the selected icon size. Fix #80509 under UNIX. 2007-01-15 Sebastien Pouliot * Bitmap.cs: Make sure we're not building bitmaps using stream that can be disposed (as GDI+ may require access to them anytime); * Icon.cs: Change icon selection to match either width *or* height. * Image.cs: Track user versus internal streams in InitFromStream 2007-01-12 Sebastien Pouliot * Graphics.cs: Change DrawIcon* methods to use the internal bitmap we keep for the Icon. This is required to let HICON support work with libgdiplus (and should be faster than creating a new bitmap each time) * Icon.cs: Fix ctor exceptions. Select the correct icon when multiple size are available (and do not match the requested size). Fix handle support for work under UNIX (Win32 support still missing). Keep an internal bitmap for the Icon to use for HICON support. 2007-01-11 Sebastien Pouliot * Icon.cs: Fix .ctor(string) to load, when available, the 32x32 icon. Remove TARGET_JVM from file (Mainsoft now use Icon2.jvm.cs). Use GDI+ to implement ToBitmap method (previous results were wrong). 2007-01-10 Sebastien Pouliot * Image.cs: Fix Palette to call into GDI+ even for non-indexed images. This case can occurs with the ICOn codec where the returned image is a 32bpp ARGB bitmap *with* a palette. 2007-01-09 Sebastien Pouliot * Font.cs: Unify platform detection code. * gdipFunctions.cs: Unify platform detection code. * Graphics.cs: Unify platform detection code. * Image.cs: Unify platform detection code. * SystemColors.cs: Unify platform detection code. 2007-01-08 Sebastien Pouliot * gdipStructs.cs: Add support for SignaturePatterns and SiggnatureMasks values. 2006-12-30 Alexander Olk * gdipFunctions.cs: Don't create "millions" of byte arrays in GdiPlusStreamHelper. Just create a default size array and resize it only when needed. (as an example: the FileDialog sample created more than 1700 new byte arrays on my system before the patch, now only 74) 2006-12-29 Gert Driesen * Brush.cs: Fixed line endings. * BufferedGraphicsContext.cs: Fixed line endings. * CharacterRange.cs: Fixed line endings. * Graphics.cs: Fixed line endings. * IDeviceContext.cs: Fixed line endings. * SizeFConverter.cs: Fixed line endings. * SystemBrushes.cs: Fixed line endings. * SystemFonts.cs: Fixed line endings. * SystemPens.cs: Fixed line endings. 2006-12-22 Sebastien Pouliot * Graphics.cs: Splitted CopyFromScreen into platform specific methods and added MonoLimitations to all overloads. This should get better results from MoMA. 2006-12-19 Sebastien Pouliot * FontFamily.cs: More accurate Mono* attributes to avoid confusion. * Icon.cs: Dummy implementation of ExtractAssociatedIcon to always return SystemIcons.WinLogo (which is better than throwing an NIE). Updated MonoTODO, to a MonoLimitation, to reflect the change. 2006-12-14 Sebastien Pouliot * Image.cs: Rework Clone so it doesn't confuse MoMA to report a NIE. Cloning works for bitmap. Metafiles aren't (actually) supported. 2006-12-07 Sebastien Pouliot * Icon.cs: Revert a change from r68882. The type is also part of the icon's name. Fix bug #80181. 2006-12-03 Sebastien Pouliot * Icon.cs: Add a new ctor that returns undisposable Icon instances (required when used from SystemIcons). Added a dispose check in ToBitmap (many other are missing). * SystemIcons.cs: Change icons to the one already in SVN. 2006-12-02 Sebastien Pouliot * FontConverter.cs: Add a comment why the empty finalizer is required. * gdipFunctions.cs: Remove warning from build (unused variable). * Icon.cs: Fix .ctor accepting a type - the type is to find the assembly, not the type of the ressource. * SystemIcons.cs: Load some icons from the assembly (all the same Mono icon for tonight). 2006-11-22 Sebastien Pouliot * BufferedGraphicsContext.cs: Better MonoTODO. * BufferedGraphics.cs: Better MonoTODO. * Font.cs: Better MonoTODO. * FontFamily.cs: Better MonoTODO. * Graphics.cs: Better MonoTODO. * Icon.cs: Better MonoTODO. * Image.cs: Second chance while saving using the current RawFormat. This allows icons to be saved as PNG (strange but look at unit tests). * ImageFormatConverter.cs: Implement GetStandardValues (and remove it's MonoTODO) and fix GetStandardValuesSupported (to return true). * Region.cs: Implement ReleaseHrgn (2.0) - not really useful (as the handle is never exposed) but it's easier than to document the TODO ;-) * SystemIcons.cs: Better MonoTODO. 2006-11-06 Sebastien Pouliot * RectangleF.cs: Fix operator !=. Patch by Manuel Alejandro Cerón Estrada. 2006-11-04 Chris Toshok * SystemColors.cs: reassign the given color to the return value of UpdateKnownColor. This makes sure that the color has the same SystemColor name. So, SystemColors.Control.Name always equals "Control", regardless of the values the theme has stuffed in it. * Color.cs: UpdateKnownColor now returns the new color. 2006-10-11 Sebastien Pouliot * Graphics.cs: In MeasureCharacterRanges throw an ArgumentException if StringFormat is null and return an empty region array if no range exists (avoid GDI+ error/exeception). In MeasureString (2 overloads) replace 999999 by Int32.MaxValue (now that the real bug is fixed). * StringFormat.cs: Ensure we are clearing the handle before throwing any exception. 2006-09-21 Sebastien Pouliot * gdipFunctions.cs: Throw an OverflowException for the ValueOverflow Status code. 2006-09-21 Jordi Mas i Hernandez * gdipFunctions.cs, Image.cs: 78315. Probably in the future we should add the same checking for other resource release GDI API calls. 2006-09-19 Sebastien Pouliot * StringFormat.cs: Add missing validations. 2006-09-18 Sebastien Pouliot * Graphics.cs: Add missing validations to MeasureCharacterRanges. 2006-09-18 Sebastien Pouliot * Graphics.cs: Reorder instructions in MeasureString methods to avoid allocations before checking for quick exit case (null/String.Empty text or throwing execptions). 2006-09-11 Sebastien Pouliot * ImageConverter.cs: Fixed ConvertTo to deal with null values (#79331) and not to "return new NotSupportedException", throwing them is better 2006-09-07 Kornél Pál * ComIStreamMarshaler.cs: ManagedToNativeWrapper: Dispose COM vtable on shutdown. Dispose unmanaged resources when constructor fails. 2006-09-06 Kornél Pál * ComIStreamMarshaler.cs: ManagedToNativeWrapper should not have a destructor because it is freed using Release. (Proper fix for bug #78315.) Free COM vtable when unloading and all objects Released. 2006-09-06 Jonathan Chambers * ComIStreamMarshaler.cs: Only deallocate memory for COM wrapper if not shutting down. #78315 2006-09-04 Jonathan Chambers * ComIStreamMarshaler.cs: Do not deallocate unmanaged memory allocated for vtable. If this finalizer runs before all clients are done with it (Image(s) in this case) we crash on windows. #78315 2006-09-01 Sebastien Pouliot * Bitmap.cs: Fix exceptions for LockBits. 2006-08-28 Sebastien Pouliot * ImageAnimator.cs: Remove catch/throw in WorkerThread (it hides the original exception). Found with Gendarme. * Color.cs: Remove the double-check lock. Found with Gendarme. * ColorConverter.cs: Remove the double-check lock. Found with Gendarme 2006-08-28 Jonathan Chambers * ComIStreamMarshaler.cs: Do not free memory allocated for Com Callable Wrapper for stream. When Image created from stream is destroyed, it calls Release on CCW interface. Somehow we seem to be destroying Stream CCW before Image is destroyed. Fixes crash on exit on Windows. #78315 2006-08-28 Boris Kirzner * SystemColors.jvm.cs: fix array size for NET_2_0 2006-08-27 Sebastien Pouliot * ColorConverter.cs: Catch the case where the integer part of the color doesn't fit into a 32bit integer. * ColorTranslator.cs: Fixed Gendarme's UseStringEmptyRule on ToHtml method. Fixed string handling on FromHtml method. Fixed all parameter names to match FX. 2006-08-25 Sebastien Pouliot * gdipFunctions.cs: Change ColorMatrix to IntPtr in method GdipSetImageAttributesColorMatrix definition. * FontConverter.cs: Fix compiler warnings. 2006-08-24 Sebastien Pouliot * TextureBrush.cs: Remove private Image member as we cannot, without cloning it (which removes the advantage of caching it), return it for the Image property *and* we cannot dispose of it properly (Dispose isn't overridden). 2006-08-22 Sebastien Pouliot * gdipFunctions.cs: Fix GdipGetImageWidth to use an uint for it's width out parameter. * Image.cs: Cast the uint into an int for the Width property. 2006-08-12 Duncan Mak * gdipFunctions.cs (GdipLoadImageFromStream): (GdipSaveImageToStream): Don't include these methods when compiling the unit tests. 2006-08-11 Gonzalo Paniagua Javier * gdipFunctions.cs: return -1 when stream.Length throws. 2006-08-11 Sebastien Pouliot * Font.cs: Remove the, now unrequired, FaceNameOffset field and use the object size instead of the structure size when copying. 2006-08-11 Sebastien Pouliot * Font.cs: Added more checks to ToLogFont and fixed it's behaviour to match MS boundary between GDI+ and SD. 2006-08-07 Andrew Skiba * Graphics.jvm.cs, Pen.jvm.cs, Region.jvm.cs: TARGET_JVM fix 2006-08-05 Sebastien Pouliot * Font.cs: Avoid double cast in Equals. Return lfCharSet as 1 in ToLogFont even if GDI+ has that value to 0. 2006-08-04 Gonzalo Paniagua Javier * Icon.cs: when converting to Bitmap, handle the 24 bits separately. Read the XOR and AND masks in a single read. 2006-08-04 Sebastien Pouliot * Pen.cs: Fix unit tests wrt libgdiplus return value change. 2006-08-03 Sebastien Pouliot * FontFamily.cs: Fix unit tests wrt libgdiplus return value change. * Region.cs: Fix unit tests wrt libgdiplus return value change. 2006-08-01 Jonathan Chambers * Font.cs: Fix marshalling of LOGFONT in ToHfont. Fixes #78939. 2006-07-20 Sebastien Pouliot * Graphics: Added implementation for ReleaseHDC by Jonathan Pobst for NET_2_0 profile. 2006-07-06 Sebastien Pouliot * Image.cs: Ensure we're setting the nativeObject to NULL before throwing any exception while disposing (and avoid possible double freeing). Avoid multiple casts in Clone method. * Pen.cs: Ensure the internal pen's brush is always disposed correctly. Avoid making a reference to the internal brush. * SolidBrush.cs: Avoid setting color when cloning the solid brush as the .ctor(IntPtr) always does this job. 2006-07-04 Sebastien Pouliot * Image.cs: Made GetThumbnailImage throw OutOfMemoryException when image size is invalid (to match MS behaviour), also ensure that the Graphics instance is disposed even if CheckStatus throws an exception. 2006-06-26 Sebastien Pouliot * Pen.cs: Ensure we dispose of an existing brush before replacing it. Avoid double-cast when dealing with SolidBrush. 2006-06-06 Sebastien Pouliot * gdipFunctions.cs: Fix API signature (missing pen pointer) for GdipIsOutlineVisiblePathPoint[I] methods. * FontFamily.cs: Delay the call to refreshName until it is actually required. 2006-06-02 Gonzalo Paniagua Javier * Color.cs: when deserializing from an MS generated stream, the value for known colors was 0. These changes make our Color handle that case. We won't serialize the name for known colors either, but the value will be there, so we only check for a 0 value on a known color once. Fixes bug #78265. 2006-05-30 Sebastien Pouliot * Font.cs: Change default charset to 1. Ensure we always call the CheckStatus method after calling GDI+. Added null checks to match MS exception handling. * FontFamily.cs: Avoid double-cast in Equals. Fixed Equals not compare pointers but names. Simplify the Generic* static properties by reusing the .ctor code. Fixed ToString to match MS output. Removed GetStyleCheck as it failed when multiple styles were provided (flags). * gdipFunctions.cs: Convert Status.FontFamilyNotFound to an ArgumentException. 2006-05-29 Sebastien Pouliot * ImageFormatConverter.cs: Changed ConvertFrom to work with both short (e.g. Bmp) and long (e.g. guid) names. 2006-05-26 Sebastien Pouliot * ImageFormatConverter.cs: Fixing unit tests for ImageFormat introduced a regression in the converter (not catched by other unit tests). 2006-05-25 Sebastien Pouliot * gdipFunctions.cs: Added wrapper methods for GdipGetRegionHRgn and GdipCreateRegionHrgn functions. * Region.cs: Reimplement GetHrgn and FromHrgn methods using the GDI+ calls. 2006-05-24 Sebastien Pouliot * PointConverter.cs: Fx 2.0 throws an ArgumentException in CreateInstance if some values are missing from the dictionary, while 1.x throws an NullReferenceException. * RectangleConverter.cs: Fx 2.0 throws an ArgumentException in CreateInstance if some values are missing from the dictionary, while 1.x throws an NullReferenceException. * SizeConverter.cs: Fx 2.0 throws an ArgumentException in CreateInstance if some values are missing from the dictionary, while 1.x throws an NullReferenceException. * SizeFConverter.cs: Fix CreateInstance to use float (not int). 2006-05-24 Sebastien Pouliot * Font.cs: Added a Demand for UnmanagedCode on both ToLogFont methods. * Graphics.cs: Added checks for null Rectangle[F] arrays in FillRectangles methods and removed the check for 0-length (MS throws). Let EndContainer mthod throws a NullReferenceException on 1.x profile. * Pen.cs: Let Brush property throws a NullReferenceException on 1.x. 2006-05-24 Sebastien Pouliot * Pen.cs: Clone the supplied brush in the .ctor (as the user may dispose of it anytime). Make sure we're disposing our cached brush when disposing the pen. 2006-05-21 Sebastien Pouliot * ContentAlignment.cs: Removed [Serializable] from 2.0 profile. * FontStyle.cs: Removed [Serializable] from 2.0 profile. * GraphicsUnit.cs: Removed [Serializable] from 2.0 profile. * KnownColor.cs: Removed [Serializable] from 2.0 profile. * RotateFlipType.cs: Removed [Serializable] from 2.0 profile. * StringAligment.cs: Removed [Serializable] from 2.0 profile. * StringDigitSubstitute.cs: Removed [Serializable] from 2.0 profile. * StringFormatFlags.cs: Removed [Serializable] from 2.0 profile. * StringTrimming.cs: Removed [Serializable] from 2.0 profile. * StringUnit.cs: Removed [Serializable] from 2.0 profile. 2006-05-17 Gonzalo Paniagua Javier * ImageAnimator.cs: get the FrameDelay from the image properties, if available. Remove ^Ms. 2006-05-17 Sebastien Pouliot * Pen.cs: Get the pen color from the solid brush (when applicable). Added missing validations for most properties. Always return a clone of the internal brush (so no one can dispose of it in our back). 2006-05-17 Gonzalo Paniagua Javier * Color.cs: make it serialization-compatible with MS. Fixes bug #78265. 2006-05-17 Gonzalo Paniagua Javier * Bitmap.cs: (Clone) use the 'format' argument instead of the PixelFormat. 2006-05-15 Atsushi Enomoto * Graphics.cs : (FillRectangles/FillRectanglesI): when argument array is empty, don't invoke GDI+. Fixed bug #78408. 2006-05-12 Sebastien Pouliot * gdipFunctions.c: Fix misnamed GdipAdd*Path*String[I] API (#78383) 2006-05-11 Peter Dennis Bartok * Icon.cs: Don't require width/height to be non-0 when creating from serialized data, just require them to be square 2006-05-04 Sebastien Pouliot * Graphics.cs: Chaned DrawIcon methods to dispose the temporary bitmap on it's drawn. 2006-05-04 Sebastien Pouliot * Graphics.cs: Added a MonoTODO to PixelOffsetMode property so it shows (in the class status library) a note that this isn't supported with libgdiplus. 2006-05-02 Peter Dennis Bartok * FontConverter.cs (ConvertFrom): Implemented it properly. Fixes #78269 2006-05-02 Sebastien Pouliot * PointF.cs: Add operators + and - between PointF and SizeF in the 2.0 profile (CSC 8.x can compile that, but sadly it doesn't show in as missing in corcompare results). 2006-05-02 Sebastien Pouliot * gdipFunctions.cs: Fixed wrappers for Gdip[Begin|End]Container[2][I] * Graphics.cs: Fixed usage of fixed API ;-) Added MonoTODO on BeginContainer methods that use rectangles and on TextContrast property (all aren't currently supported in libgdiplus). 2006-05-01 Sebastien Pouliot * Graphics.cs: Removed MonoTODO on DrawCurve methods (it's fixed in libgdiplus). Fixed minor extra/missing for corcompare. 2006-05-01 Gonzalo Paniagua Javier * SizeF.cs: serialization compatibility fixes. Closes bug #78236. 2006-04-30 Peter Dennis Bartok * Icon.cs: Icon AND masks are organized in strides, fixed to calculate and set proper transparency. Also fixed broken calculation of AND size when reading the icon. NDocGui now shows pretty buttons. 2006-04-28 Sebastien Pouliot * Color.cs: corcompare fix. Remove ComVisible attribute from 2.0 build * Region.cs: Remove old todo that were fixed in libgdiplus. * Image.cs: corcompare fixes. Clone isn't virtual. Added DefaultValue attribute to Tag property. FromStream(Stream,bool,bool) is available in Fx 1.1 (probably since SP1). 2006-04-28 Sebastien Pouliot * Graphics.cs: Added MonoTODO on some DrawCurve methods because libgdiplus doesn't use the numberOfSegments argument. 2006-04-27 Sebastien Pouliot * gdipFunctions.cs: Added wrappers for GdipAddPathLine2 and GdipAddPathLine2I methods (to allow adding a single point). 2006-04-27 Sebastien Pouliot * gdipFunctions.cs: Added CharSet=CharSet.Unicode to GdipAddString and GdipAddStringI wrapper methods. 2006-04-26 Gonzalo Paniagua Javier * Bitmap.cs: throw when the target pixel format differs from the one of the image and it's an indexed format. We were failing in UnlockBits before. 2006-04-25 Miguel de Icaza * FontConverter.cs (FontUnitConverter): implement. CorCompare for some reason does not dig into nested classes, match the documentation. (FontNameConverter): Return the fonts available on the system. 2006-04-25 Peter Dennis Bartok * Icon.cs: We need to or, not and our alpha values into the palette. Also, we need to actually store the altered palette on the bitmap, since we are altering a copy. 2006-04-10 Sebastien Pouliot * gdipFunctions.cs: Fixed wrappers for GdipCreateMatrix3[I]. 2006-03-23 Peter Dennis Bartok * gdipFunctions.cs: - GdipGetFontCollectionFamilyList: No need for complicated GlobalAlloc stuff, .Net marshals the IntPtr[] array just fine - GdipDeletePrivateFontCollection: We need to pass a ref to the structure. This was causing nasty crashes. - GdipGetFamilyName: Switched to use StringBuilder instead of manual marshalling * FontFamily.cs: Simplified the refreshName method, less error-prone now 2006-03-21 Sebastien Pouliot * Brush.cs: Remove unused code. * FontFamily.cs: Remove warnings from build. * gdipFunctions.cs: Add missing p/invoke calls for GdipAddString[I]. 2006-03-21 Sebastien Pouliot * gdipFunctions.cs: Import XFree (from libX11) so we can free the memory we allocate. * Graphics.cs: Free the memory we get from XGetVisualInfo. 2006-03-20 Sebastien Pouliot * Brush.cs: Allow Dispose to free the unmanaged memory for the brush in every case. This has been known (in the past) to cause crashes in Cairo. If still true then we need to find out why! 2006-03-09 Peter Dennis Bartok * gdipFunctions.cs: Removed XCloseDisplay call from Gdi+ shutdown, it was causing crashes in the finalizers (bug #77464) 2006-03-06 Jonathan Gilbert * gdipFunctions.cs: Rewrote the StreamSeekImpl function to invalidate the start_buf cached bytes whenever Seek() is actually called. If Seek is not called (an invalid 'whence' value), then the buffer is not invalidated. This fixes a bug with TIFF loading. 2006-03-02 Peter Dennis Bartok * Image.cs (ISerializable.GetObjectData): Save the image in it's original format. (Fixes #77673) 2006-02-28 Jonathan Chambers , Peter Dennis Bartok * Font.cs: - ToLogFont: Reworked to allow running under MS runtime and to support it being called with both boxed structs and formatted classes (MS runtime PtrToStructure cannot marshal boxed value types, but Marshal.AsAny can) - Switched all usage of LOGFONTA to more generic CharSet-driven LOGFONT structure - FromLogFont: Switched to use charset-agnostic GdipCreateFontFromLogfont * gdipStructs.cs: Dropped LOGFONTA and LOGFONTW and switched to CharSet-driven LOGFONT structure (needed because of ToLogFont fix) * gdipFunctions.cs: Switched GdipGetLogFont, GdipCreateFontFromLogfont and CreateFontIndirect to use LOGFONT structure, set to be CharSet=Auto (needed because of ToLogFont fix) 2006-02-18 Duncan Mak * Graphics.cs (DrawBeziers): Patch from Alexander Olk to fix possible IndexOutOfRangeException. 2006-02-09 Peter Dennis Bartok * Image.cs, Bitmap.cs: Removed unneeded casts * Icon.cs: Fixed code to be 64bit safe 2006-01-31 Jordi Mas i Hernandez * Font.cs: Fixes 77407 2006-01-27 Sebastien Pouliot * Font.cs: Ensure unmanaged memory is free correctly in ToLogFont even if GDIPlus.CheckStatus throws an exception; * Image.cs: Ensure unmanaged memory is free correctly even if GDIPlus.CheckStatus throws an exception. Note: the SetPropertyItem use case is unclear to me (and unimplemented in libgdiplus); * Region.cs: Ensure unmanaged memory is free correctly in GetRegionScans even if GDIPlus.CheckStatus throws an exception; 2006-01-27 Jordi Mas i Hernandez * gdipFunctions.cs: New gdiplus imports * Font.cs: Use gdiplus calls to get font height and size 2006-01-26 Sebastien Pouliot * FontFamily.cs: Free the memory allocated with Marshal.AllocHGlobal. * Region.cs: Updated TODO to reflect current status. 2006-01-24 Konstantin Triger * Font.jvm.cs, FontFamily.jvm.cs: use static container. 2006-01-19 Peter Dennis Bartok * Icon.cs: The code wrongly assumed that the stride for the icon would be the same as the stride for the bitmap. This was causing memory corruption. 2006-01-18 Peter Dennis Bartok * Icon.cs: Reworked ToBitmap() method to not use Bitmap(Stream) which when calling down to MS GDI+ will create an image where neither GetPixel or Save can be used on. 2006-01-18 Sebastien Pouliot * gdipFunctions.cs: Added declaration for GdipCreateRegionRgnData. * Region.cs: Implemented .ctor(RegionData) 2006-01-13 Miguel de Icaza * Region.cs: Revert the Region.cs check in GetHrgn as it was used by our Windows.Forms implementation. 2006-01-11 Sebastien Pouliot * Graphics.cs: Avoid creating bitmaps two times if both X and Y default DPI are required (i.e. init both value in both cases). * Region.cs: Added null check to match MS behaviour (exception type) and avoid NRE (before CheckStatus is called). Added security demands for unmanaged code on both FromHrgn and ReleaseHrgn (2.0) methods. 2005-12-22 Jonathan Chambers * gdipFunctions.cs: Do not call GdiplusShutdown for now as it causes a crash on MS GDI+. 2005-12-20 Konstantin Triger * Font.jvm.cs: charset support. 2005-12-19 Peter Dennis Bartok * Graphics.cs (Flush): Make sure nativeObject is not null 2005-12-14 Konstantin Triger * StrokeFactory.jvm.cs: create AdvancedStroke when have penTransform. 2005-12-13 Konstantin Triger * Bitmap.jvm.cs: Fix MakeTransparent. 2005-12-07 Jordi Mas i Hernandez * Graphics.cs: Add new deephs support to CopyFromScreen 2005-12-07 Jordi Mas i Hernandez * BufferedGraphicsManager.cs: Fixes signature 2005-12-05 Peter Dennis Bartok * Font.cs: - Implemented FromLogFont - Implemented ToLogFont - Whitespace fixes * gdipFunctions.cs: - Added GdipGetLogFontW method - Specified charset for GdipGetLogFontA method * gdipStructs.cs: Added LOGFONTW structure 2005-12-05 Gert Driesen * BufferedGraphics.cs: Removed duplicate class. Set eol-style to native. * BufferedGraphicsManager.cs: Removed duplicate class. Set eol-style to native. 2005-12-05 Jordi Mas i Hernandez * gdipFunctions.cs: DllExports need it to implement new Graphics.CopyFromScreen .Net 2.0 methods * IDeviceContext.cs: New .Net 2.0 interface * Color.cs: Fixes for new .Net 2.0 KnowColors * PointF.cs: New .Net 2.0 Add/Subtract methods * gdipStructs.cs: Structs need it for Graphics.CopyFromScreen * SystemBrushes.cs: New standard SystemBrushes for .Net 2.0 * SizeF.cs: New .Net 2.0 Add/Subtract methods * FontConverter.cs: New .Net 2.0 fixes * SystemColors.cs: New standard SystemColors for .Net 2.0 * SizeFConverter.cs: New .Net 2.0 class (based on SizeConverter) * CharacterRange.cs: : New .Net 2.0 methods * Size.cs: New .Net 2.0 Add/Subtract methods * SystemPens.cs: New standard SystemPens for .Net 2.0 * Bitmap.cs: New .Net 2.0 methods * Region.cs: New .Net 2.0 methods * Brush.cs: New .Net 2.0 constructor * Icon.cs: New .Net 2.0 Constructors and methods * Point.cs: New .Net 2.0 Add/Subtract methods * BufferedGraphicsManager.cs: New .Net 2.0 class * Graphics.cs: New methods for .Net 2.0 and fixes * BufferedGraphics.cs: New .Net 2.0 class * Font.cs: New .Net 2.0 properties * Image.cs: New .Net 2.0 tag property * KnownColor.cs: New .Net 2.0 know colors * CopyPixelOperation.cs: New .Net 2.0 enum * SystemFonts.cs: New .Net 2.0 class * BufferedGraphicsContext.cs: New .Net 2.0 class 2005-11-28 Konstantin Triger * SystemIcons.jvm.cs: refactoring. 2005-11-28 Konstantin Triger * Icon.cs: TARGET_JVM changes. 2005-11-17 Vladimir Krasnov * Image.jvm.cs: fixed Save, flush output stream 2005-11-17 Konstantin Triger * StrokeFactory.jvm.cs, Pen.jvm.cs, Graphics.jvm.cs: performance - use BasicStroke when possible. 2005-11-17 Vladimir Krasnov * ColorConverter.cs: fixed ConvertFrom, to be able to convert from three digit notation color (#abc) 2005-11-16 Konstantin Triger * Bitmap.jvm.cs: open a correct stream. 2005-11-16 Konstantin Triger * FontFamily.jvm.cs, Font.jvm.cs: throw exception if invalid params. 2005-11-16 Konstantin Triger * FontFamily.jvm.cs: fix for custom font collection 2005-11-14 Vladimir Krasnov * FontFamily.jvm.cs: fixed GetName 2005-11-14 Vladimir Krasnov * Bitmap.jvm.cs: fixed InternalSave() error handling * Image.jvm.cs: fixed Save() error handling 2005-11-13 Konstantin Triger * FontFamily.jvm.cs: Refactoring. 2005-11-13 Konstantin Triger * Font.jvm.cs: Refactoring. 2005-11-13 Konstantin Triger * StringFormat.jvm.cs, Graphics.jvm.cs: DrawString, MeasureString support 2005-11-13 Konstantin Triger * FontFamily.jvm.cs: correctly initialize fontcollection 2005-11-13 Konstantin Triger * FontFamily.jvm.cs: DrawMargin, refactoring. 2005-11-13 Konstantin Triger * Graphics.jvm.cs, Pen.jvm.cs, AdvancedStroke.jvm.cs: Differentiate standard and AntiAlias stroking 2005-11-10 Vladimir Krasnov * Graphics.jvm.cs: added UnitConversion property * FontFamily.jvm.cs: refactoring * Font.jvm.cs: refactoring 2005-11-03 Peter Dennis Bartok * Font.cs: - Implemented serialization constructor - Implemented GetObjectData() 2005-11-01 Vladimir Krasnov * StringFormat.jvm.cs: Refactoring 2005-10-31 Jordi Mas i Hernandez * Image.cs: Default format for MemoryBMP should be Png 2005-10-27 Vladimir Krasnov * Bitmap.jvm.cs: fixed InternalSave * Image.jvm.cs: fixed Save 2005-10-27 Vladimir Krasnov * Image.jvm.cs: fixed redolution properties 2005-10-27 Vladimir Krasnov * Bitmap.jvm.cs: fixed InternalSave, to remove alpha channel of saved jpeg fixed clone, Initialize 2005-10-24 Peter Dennis Bartok * Brush.cs: Don't delete the brush if the display handle is no longer valid, otherwise cairo will try to use the handle and crash and burn 2005-10-23 Vladimir Krasnov * Graphics.jvm.cs: DrawImage refactoring 2005-10-23 Vladimir Krasnov * Graphics.jvm.cs: Clipping refactoring fixed FillScaledShape, DrawShape, MeasureDraw, BeginContainer, ExcludeClip, IntersectClip, ResetClip, CombineClipArea, RestoreBaseClip, TranslateClip, VisibleClipBounds 2005-10-21 Miguel de Icaza * Pen.cs: Add support for returning the Brush from Pens created with a color constructor. Plus: code style police, else does not go on its own line. * Graphics.cs: Add various ArgumentNull checks. 2005-10-20 Konstantin Triger * Image.jvm.cs: make Clone abstract 2005-10-20 Konstantin Triger * Font.jvm.cs: make fallbacks for GdiCharSet, GdiVerticalFont 2005-10-19 Vladimir Krasnov * Bitmap.jvm.cs: fixed InternalSave, ToBufferedImageFormat, Clone * PlainImage.jvm.cs: fixed Clone * Graphics.jvm.cs: fixed FillShape, Clear, FillScaledShape 2005-10-19 Vladimir Krasnov * Brush.jvm.cs: added InternalClone() method changed transformation methods access level * TextureBrush.jvm.cs: refactoring, fixed clone() 2005-10-19 Vladimir Krasnov * AdvancedStroke.jvm.cs: fixed createStrokedShape, check for transform matrix singularity added * Font.jvm.cs: implemetated ISerializable * Pen.jvm.cs: fixed DashPattern property, fixed GetNativeObject() dash pattern calculation 2005-10-14 Jordi Mas i Hernandez * SystemColors.cs: Fixes the Win32 light and lightlight colours 2005-10-11 Jordi Mas i Hernandez * SystemColors.cs: Fixes the Win32 system colors including the color name and the knownColor properties. 2005-10-07 Peter Dennis Bartok * FontFamily.cs: Use Marshal.PtrToStringUni to do the string conversion, it's less overhead than StringBuilder. (Part of the bugfix for #74871 and #75534) * gdipFunctions: Changed signature for GdipGetFamilyName to just have an IntPtr for the buffer 2005-10-04 Peter Dennis Bartok * Graphics.cs, FontFamily.cs: Calling GC.SuppressFinalize from Dispose, fixes bug #76329 2005-09-29 Peter Dennis Bartok * SystemColor.cs: Added code used to generate properties, updated with Windows XP colors 2005-09-29 Peter Dennis Bartok * SystemColor.cs: Make internal names predictable to allow scripted generation of color table 2005-09-28 Peter Dennis Bartok * Color.cs(UpdateKnownColor): Ensure knownColors exists before trying to update it. 2005-09-27 Peter Dennis Bartok * SystemColor.cs: - Changed properties to return colors from fields. This allows updating the colors via reflection, for example from MWF themes. - Added code to retrieve system colors via Win32 GetSysColors if running on Win32, this makes us compatible with Microsoft instead of returning static colors on Win32. Unix platforms still will use the static colors * Color.cs: Added UpdateKnownColor() method to allow updating of the KnownColors array 2005-09-26 Kornél Pál * Graphics.cs: DrawImage: imageAttr can be null. Fixed to pass IntPtr.Zero when imageAttr is null. 2005-09-26 Vladimir Krasnov * Brush.jvm.cs: fixed transform methods, createContext * TextureBrush.jvm.cs: implemetated transform, WrapMode, ctors 2005-09-21 Vladimir Krasnov * Bitmap.jvm.cs: fixed Clone, InternalSave, Initialize, ctor refactoring, remarks refactoring * Image.jvm.cs: fixed GetFrameCount, GetThumbnailImage, SelectActiveFrame, remarks refactoring * PlainImage.jvm.cs: added metadata props, fixed ctor * PlainImageCollection.jvm.cs: fixed class access 2005-09-21 Jordi Mas i Hernandez * Graphics.cs: Fixes exception type at FromImage method 2005-09-20 Vladimir Krasnov * Graphics.jvm.cs: bitmap resolution fix in DrawImage 2005-09-20 Vladimir Krasnov * Graphics.jvm.cs: fixed DrawImage 2005-09-19 Miguel de Icaza * Graphics.cs: Removed restriction on the images that can be loaded. Indexed images *can* be loaded 2005-09-18 Miguel de Icaza * Image.cs: introduce a workaround that catches errors on systems that lack GDI+ as this is being triggered too easily when we enumerate attributes on loaded classes. The real bug to fix is #76062. 2005-09-17 Kornél Pál * Image.cs: Implemented FromHbitmap. 2005-09-16 Sebastien Pouliot * gdipFunctions.cs: Add [SuppressUnmanagedCodeSecurity] attributes so the JIT won't add demands for UnmanagedCode. * carbonFunctions.cs: Add [SuppressUnmanagedCodeSecurity] attributes so the JIT won't add demands for UnmanagedCode on Mac OSX. * Bitmap.cs: Added LinkDemand for UnmanagedCode on GetHbitmap (+ overloads) and GetHicon methods. * Graphics.cs: Added LinkDemand for UnmanagedCode on FromHdcInternal, FromHwndInternal and ReleaseHdcInternal methods (which are all public despite their names). 2005-09-15 Konstantin Triger * Graphics.jvm.cs: text transform, headless session 2005-09-14 Vladimir Krasnov * Bitmap.jvm.cs: native object refactoring * Image.jvm.cs: native object refactoring * Graphics.jvm.cs: fixed access to image native object * TextureBrush.jvm.cs: fixed access to image native object * Added PlainImage.jvm.cs, PlainImageCollection.jvm.cs 2005-09-14 Geoff Norton * carbonFunctions.cs: Add GetCGContextForNSView for Cocoa# integration * Graphics.cs: Check GDIPlus.UseCocoaDrawable for Cocoa# integration * gdipFunctions.cs: Set UseCocoaDrawable depending on the environment variable MONO_GDIP_USE_COCOA_BACKEND 2005-09-14 Konstantin Triger * Graphics.jvm.cs: transform, container, thin pen 2005-09-12 Konstantin Triger * AdvancedStroke.jvm.cs: constants for pen fitting calculations * Pen.jvm.cs: fixing transform, pen fitting 2005-09-12 Konstantin Triger * Region.jvm.cs: IsVisible is about intersection 2005-09-12 Gert Driesen * ImageConverter.cs: Use default TypeDescriptor implementation of GetProperties. 2005-09-11 Konstantin Triger * Graphics.jvm.cs: fixing clipping with rotate transform 2005-09-11 Konstantin Triger * Region.jvm.cs: default region is infinite 2005-09-10 Konstantin Triger * Graphics.jvm.cs: fixing clipping stuff 2005-09-07 Vladimir Krasnov * Bitmap.jvm.cs: fixed bitamp accessors * Image.jvm.cs: fixed image accessors 2005-09-07 Konstantin Triger * AdvancedStroke.jvm.cs: fix matrix translate * Graphics.jvm.cs: fix matrix concatenation order 2005-09-07 Vladimir Krasnov * Brush.jvm.cs: added transform methods 2005-09-06 Konstantin Triger * StrokeFactory.jvm.cs, AdvancedStroke.jvm.cs, Pen.jvm.cs: implementing fitting, output transform * Graphics.jvm.cs: fixing DrawXXX, Fill, Clipping, Containers 2005-09-06 Konstantin Triger * ColorTranslator.cs: perform case insensitive check 2005-09-05 Jordi Mas i Hernandez * gdipFunctions.cs: define new functions * Bitmap.cs: fixes image loading and exceptions * Image.cs: fixes image loading and exceptions Thanks Kornél Pál for its help 2005-08-30 Vladimir Krasnov * Brush.jvm.cs: added brush transform field 2005-08-28 Vladimir Krasnov * Graphics.jvm.cs: fixed .ctor (InterpolationMode) 2005-08-28 Konstantin Triger * StrokeFactory.jvm.cs, AdvancedStroke.jvm.cs, Pen.jvm.cs Graphics.jvm.cs: adjust stroke before widening 2005-08-28 Vladimir Krasnov * Graphics.jvm.cs: Implemented BeginContainer, EndContainer, Save, Restore 2005-08-26 Gert Driesen * PointConverter.cs: Use Int32Converter instead of Int32.Parse. First convert string to int before checking number of components. * RectangleConverter.cs: same. * SizeConverter.cs: same. 2005-08-26 Gert Driesen * ColorConverter.cs: Use Int32Converter instead of Int32.Parse to convert individual components. Special case string containing hex prefix. Convert components before checking count. 2005-08-25 Marek Safar * gdipFunctions.cs: GetIconInfo new user32 method. GdipGetDC uses IntPtr. * gdipStructs.cs: Defined IconInfo struct. * Graphics.cs: FromImage throws exception when image has an indexed format. GetHdc fixed. * Icon.cs: Implemented FromHandle, Dispose. 2005-05-24 Michael Hutchinson * ToolboxBitmapAttribute.cs: Implemented retrieving the image 2005-08-23 Vladimir Krasnov * Graphics.jvm.cs: Fixed ResetTransform, TransfromPoints Fixed SmoothingMode property 2005-08-23 Jordi Mas i Hernandez * Brushes: Do not create the objects every time that they are requested as in Pens we create and cache them only once when need it. This also fixes the Equals method between two objects requested to Brushes 2005-08-22 Jordi Mas i Hernandez * SolidBrush.cs: Fixes Dispose to avoid non-disposing some objects * Brush.cs Fixes Dispose to avoid non-disposing some objects * Pen.cs: Fixes Dispose to avoid non-disposing some objects * Region.cs: Dipose always frees if the resource was allocated 2005-08-19 Jordi Mas i Hernandez * gdipFunctions.cs: Before calling GdiplusShutdown we make that all of handles from gdiplus have been released 2005-08-18 Vladimir Krasnov * Pen.jvm.cs: Fixed DashSpacing in createStrokedShape * Color.cs: Fixed java NativeObject property * Image.jvm.cs: Fixed Save method 2005-08-16 Andrew Skiba * Icon.jvm.cs: match Bitmap internal constructor change * Image.jvm.cs: use ImageCodecInfo.Clsid as primary format id, not ImageFormat * Bitmap.jvm.cs: started changes for supporting ImageCodecInfo 2005-08-16 Gert Driesen * Color.cs: To match MS.NET, throw ArgumentException instead of ArgumentOutOfRangeException when color is not between 0 and 255. * RectangleConverter.cs: Take culture into account when converting to/from string. Use culture's ListSeparator as separator character. 2005-08-16 Gert Driesen * Color.cs: Fixed line endings. Set eol-style to native. * ColorConverter.cs: Fixed line endings. Set eol-style to native. * Size.cs: Set eol-style to native. * SizeF.cs: Use current culture in ToString(), set eol-style to native. * SizeConverter.cs: Take culture into account when converting to/from string. Set eol-style to native. * Point.cs: Fixed line endings. Set eol-style to native. * PointF.cs: Use current culture in ToString(), set eol-style to native. * PointConverter.cs: Take culture into account when converting to/from string. Set eol-style to native. * ImageFormatConverter.cs: Fixed line endings. Set eol-style to native. * RectangleConverter.cs: Fixed line endings. Set eol-style to native. 2005-08-16 Vladimir Krasnov * Graphics.jvm.cs: Fixed InterpolationMode property 2005-08-15 Vladimir Krasnov * Graphics.jvm.cs: Fixed DrawImage 2005-08-14 Gert Driesen * ColorConverter.cs: Use TextInfo.ListSeparator as separator, as this appears to be what MS.NET uses. 2005-08-14 Gert Driesen * Point.cs: Use invariant culture for converting numbers to string. * PointF.cs: same * SizeF.cs: same 2005-08-14 Gert Driesen * Color.cs: Fixed ToString for uninitialized color. * ColorConverter.cs: Support conversion from whitespace-only string to Color.Empty. Fixed conversion from Color.Empty and known colors to string. 2005-08-14 Konstantin Triger * Graphics.jvm.cs: Initial properties implementation 2005-08-14 Vladimir Krasnov * Graphics.jvm.cs: DrawImage refactoring 2005-08-14 Vladimir Krasnov * Graphics.jvm.cs: Implemented PageUnit, PageScale. Added UpdateInternalTransform Fixed DrawImage, Transform, ConcatenateTransform 2005-08-14 Vladimir Krasnov * Icon.jvm.cs: Internal constructor from bitmap * Added SystemIcons.jvm.cs with implementation of SystemIcons 2005-08-14 Vladimir Krasnov * Region.jvm.cs: Fixed GetBounds, IsVisible, IsEmpty, IsInfinite, Equals (all methods that use Graphics object) 2005-08-11 Konstantin Triger * Graphics.jvm.cs: Refactoring 2005-08-11 Konstantin Triger * Graphics.jvm.cs: Fixed Clear, Refactoring 2005-08-11 Konstantin Triger * Graphics.jvm.cs: Fixed FillClosedCurve 2005-08-10 Zoltan Varga * Rectangle.cs (Intersect): Return a non-empty rectangle if the two rectangles touch each other. 2005-08-09 Konstantin Triger * Graphics.jvm.cs: Fixed DrawCurve. 2005-08-09 Konstantin Triger * StrokeFactory.jvm.cs: use correct stroke 2005-08-09 Konstantin Triger * Added AdvancedStoke.jvm.cs and StrokeFactory.jvm.cs * Pen refactoring. 2005-08-09 Andrew Skiba * FontConverter.cs: exclude not implemented destructor from TARGET_JVM 2005-08-09 Andrew Skiba * ColorConverter.cs, ColorTranslator.cs: fixes to pass tests committed in r48150 2005-08-08 Konstantin Triger * Graphics.jvm.cs: Refactoring 2005-08-08 Vladimir Krasnov * Graphics.jvm.cs: Fixed DrawPolygon 2005-08-08 Konstantin Triger * Graphics.jvm.cs: Refactoring * Pen.jvm.cs: setting awt.Stroke as a base 2005-08-07 Konstantin Triger * Graphics.jvm.cs: Refactoring 2005-08-07 Vladimir Krasnov * Graphics.jvm.cs: Fixed DrawLines, DrawPolygon to use GraphicsPath 2005-08-07 Andrew Skiba * Rectangle.cs: Intersect fixed * RectandleF.cs: Intersect and Inflate fixed 2005-08-07 Andrew Skiba * Point.cs: Produce same ToString result as dotnet 2005-08-07 Andrew Skiba * Color.cs: GetHashCode is affected by Name, too 2005-08-07 Vladimir Krasnov * Pen.jvm.cs: Fixed ctor, LineCap, SetLineCap 2005-08-07 Vladimir Krasnov * Graphics.jvm.cs: Fixed DrawLines, DrawPolygon 2005-08-03 Andrew Skiba * SolidBrush.jvm.cs: fix a typo 2005-08-03 Andrew Skiba * Image.jvm.cs, StringFormat.jvm.cs, FontFamily.jvm.cs, Bitmap.jvm.cs, Pen.jvm.cs, Region.jvm.cs, Brush.jvm.cs, Graphics.jvm.cs, TextureBrush.jvm.cs, Font.jvm.cs: Added TARGET_JVM implementation 2005-08-03 Andrew Skiba * Rectangle.cs, RectangleF.cs: TARGET_JVM - Add NativeObect property 2005-08-03 Andrew Skiba * BasicShape.jvm.cs: Added TARGET_JVM specific class 2005-08-03 Andrew Skiba * Icon.jvm.cs, SystemColors.jvm.cs: Added TARGET_JVM implementations 2005-08-03 Andrew Skiba * ColorTranslator.cs: (GH merge) recognise HTML system colors 2005-08-02 Andrew Skiba * SolidBrush.jvm.cs: added TARGET_JVM implementation of this class 2005-08-02 Andrew Skiba * Color.cs: TARGET_JVM - NativeObject property 2005-07-27 Andrew Skiba * Color.cs: Fixes equality operators, change isXXXcolor booleans into flags enum. 2005-07-27 Jordi Mas i Hernandez * RectangleF.cs: Fixes IsEmpty logic 2005-06-23 Jordi Mas i Hernandez * Graphics.cs: implements FromHwndInternal 2005-06-13 Peter Bartok * Icon.cs(ToBitmap): If the icon is not 32bits, create the bitmap through an intermediary step, which turns it into a 32bit version. Fixes #75254 2005-06-13 Kornél Pál * ComIStreamMarshaler.cs: Dispose releases managed objects as well, removed some unnecessary code * ComIStreamWrapper.cs: Reworked Seek method to proper support of positions beyond the size of stream 2005-06-11 Gonzalo Paniagua Javier * Font.cs: fix platform checks. 2005-06-08 Jordi Mas i Hernandez * Rectangle.cs: - Fixes is empty method IsEmpty logic - Fixes Contains method logic - Fixes IntersectsWith logic * RectangleF.cs: - Fixes is empty method IsEmpty logic - Fixes Contains method logic - Fixes IntersectsWith logic 2005-05-28 Kornél Pál * ComIStreamMarshaler.cs: GC.SuppressFinalize(this) is not called in destructors. Some methods renamed. Removed unnecessary variables. 2005-05-25 Jonathan Gilbert * Image.cs: Added retrieveGDIPalette () and storeGDIPalette () and modified the Palette property to call them. This non- persistent behaviour was discovered by trial and error with Microsoft's implementation. In fact, the Palette property does not behave like a property at all! It is the only way an instance of System.Drawing.Imaging.ColorPalette can be created, and it reflects a backing store that is only updated when the property 'set' method is called. Also updated Clone () since the palette is no longer cached at image load time. * Image.cs: Added IsIndexedPixelFormat () in the same vein as Image::IsAlphaPixelFormat and Image::IsCanonicalPixelFormat. As such a function is not listed in MSDN nor given in Microsoft's implementation, I have made it a private function within the class that uses it. 2005-05-24 Kornél Pál * Graphics.cs: Revised DrawString methods 2005-03-22 Peter Bartok * Graphics.cs: Fixed bug #74762, DrawString was crashing on s.Length if s was null. 2005-05-20 Kornél Pál * Image.cs: Uses MemoryStream wrapping on all platforms if needed * gdipFunctions.cs: Modified conditional compilation syntax * ComIStreamWrapper.cs: Modified conditional compilation syntax * ComIStreamMarshaler.cs: Modified conditional compilation syntax 2005-05-18 Marek Safar * Bitmap.cs: Add null check into ctor. 2005-05-16 Jordi Mas i Hernandez * gdipFunctions.cs: Kornél Pál's IStream bug fixing * ComIStreamWrapper.cs: Kornél Pál's IStream bug fixing * ComIStreamMarshaler.cs: Kornél Pál's IStream bug fixing 2005-05-14 Jordi Mas i Hernandez * Bitmap.cs: Kornél Pál's Bitmap class ctor and MakeTransparent leak fixes 2005-05-11 Jordi Mas i Hernandez * gdipFunctions.cs: add GdipLoadImageFromStream and GdipSaveImageToStream * ComIStreamWrapper.cs: Kornel Pal COM Stream for Win32 * ComIStreamMarshaler.cs: Kornel Pal COM Stream for Win32 * Image.cs: uses new Win32 Stream functions when need it 2005-05-10 Juraj Skripsky * Color.cs: Fix GetSaturation() again and remove obsolete constants. 2005-05-10 Juraj Skripsky * Color.cs: New, correct implementations for GetHue(), GetBrightness() and GetSaturation(). 2005-05-09 Sebastien Pouliot * gdipFunctions.cs: Use PlatformID.Unix under NET_2_0. * Graphics.cs: Use PlatformID.Unix under NET_2_0. * Image.cs: Use PlatformID.Unix under NET_2_0. 2005-05-05 Miguel de Icaza * Bitmap.cs, Icon.cs (constructor): Use GetManifestResourceStream(Type,string) in the constructor that takes a type. 2005-04-27 Lluis Sanchez Gual * PointF.cs: Make serialization compatible with MS. 2005-04-10 Geoff Norton * Graphics.cs: carbonFunctions.cs: Use CGContextSynchronize instead of CGContextFlush. This saves on average 20000 ticks per drawing operation. 2005-04-04 Jordi Mas i Hernandez * Color.cs: take into account the name color in == and != operators * Font.cs: Use Equals instead of == to compare the family name * FontFamily.cs: - Removes generic fontfamilies cache (done at libgdiplus level) - Fixes Equals method 2005-03-30 Jordi Mas i Hernandez * Pen.cs: remove locks. They are done at gdiplus level * Brush.cs: remove locks. They are done at gdiplus level * Image.cs: remove locks. They are done at gdiplus level 2005-03-30 Rogério Pereira Araújo * Icon.cs: Finished Icon(Type, String) ctor 2005-03-23 Jordi Mas i Hernandez * gdipFunctions.cs: fixes GdipGetImagePalette signature * Image.cs: Implements Palette property using gdiplus 2005-03-17 Peter Bartok * gdipFunctions.cs: - Changed P/Invoke signature for GdipLoadImageFromDelegate_linux() method, now includes a get header delegate - Added StreamGetHeaderImpl method, to allow libgdiplus to determine the image type even on non-seekable streams - Fixed StreamGetBytesImpl to consider the bytes already retrieved via StreamGetHeaderImpl * Image.cs: Fixed call to GdipLoadImageFromDelegate_linux() to include the new StreamGetHeader delegate 2005-03-15 Jordi Mas i Hernandez * Pen.cs: Fixes dispose method to allow to be called multiple times * Graphics.cs: matrix are saved and restored at gdiplus level 2005-02-24 Geoff Norton * gdipFunctions.cs: Cache the delegates in the GdiPlusStreamHelper so they dont get garbage collected before use. 2005-02-11 Peter Bartok * gdipFunctions.cs: Fixed prototype to match previous checkin 2005-02-11 Peter Bartok * Graphics.cs (FromImage): Fixed type of graphics to be IntPtr (since it really is a pointer) 2005-02-10 Geoff Norton * Icon.cs: Implement GetObjectData () * Image.cs: Implement GetObjectData () 2005-02-09 Geoff Norton * Icon.cs: Implement deserializer * Bitmap.cs: Implement deserializer 2005-02-06 Ben Maurer * Brushes.cs: Kill the static ctor here, it has tons of code bloat. 2005-02-03 Jordi Mas i Hernandez * Region.cs: revert Jackson's patch and fix this at libgdiplus level 2005-02-02 Jackson Harper * Region.cs: The default region constructor creates and infinite region, not an empty one. 2005-01-27 Peter Bartok * Color.cs (GetBrightness, GetSaturation, GetHue): Fixed calculations of HSV numbers. Previous implementation returned wrong numbers and NaN on achromatic colors 2005-01-27 Lluis Sanchez Gual * PointConverter.cs, ImageFormatConverter.cs, RectangleConverter.cs, SizeConverter.cs, ColorConverter.cs, FontConverter.cs : Implemented support for InstanceDescriptor. 2005-01-26 Peter Bartok * Icon.cs (ToBitmap): Now sets transparency in according to icon AND mask 2004-01-22 Jordi Mas i Hernandez * gdipFunctions.cs: Fixes GdipGet* function signatures * FontFamily.cs: Fixes GdipGet* function calls * Font.cs: Fixes ToString method 2004-01-17 Jordi Mas i Hernandez * Graphics.cs: calls XCloseDisplay on X11 when need it * gdipFunctions.cs: calls XCloseDisplay on X11 when need it 2004-12-27 Zoltan Varga * gdipFunctions.cs Image.cs: Fix marshalling of arrays on amd64. 2004-12-16 Peter Bartok * Graphics.cs (GetHdc): Removed Wine assumptions, the handle is now equivalent to the gdi+ native object * Font.cs (GetHfont): Removed Wine assumptions, the handle is now equivalent to the gdi+ native object 2004-12-09 Geoff Norton * carbonFunctions.cs: New carbon functions/structures * Graphics.cs: Update FromHwnd to work without being in the carbon eventing loop 2004-12-08 Geoff Norton * Graphics.cs: Drop FromHwndWithSize; we can't change the public API Add Quartz support to FromHwnd marshalling a struct back with the ptr/width/height. 2004-12-07 Geoff Norton * Graphics.cs: Add FromHwndWithSize for the MWF/Quartz backend * gdipFunctions.cs: Add the quartz dllimport into libgdiplus 2004-12-06 Miguel de Icaza * FontFamily.cs: This one is static. 2004-11-25 Ravindra * gdipFunctions.cs (GdipCreateFontFromLogfontA): Changed return type from int to Status type. 2004-11-25 Marek Safar * Image.cs: Add CheckStatus to SaveAdd. 2004-11-22 Ravindra * Graphics.cs: Fixed null values handling in all overloads of MeasureString method. 2004-11-18 Ravindra * gdipFunctions.cs: Removed the .so extension from a DllImport that hooks to X11. 2004-10-27 Jordi Mas i Hernandez * gdipFunctions.cs: calls GdiplusShutdown to propery signal GDI+ termination 2004-11-03 Miguel de Icaza * TextureBrush.cs (Clone): While cloning, it is not enough to let GDIPlus clone the underlying data, we must alos clone the managed information. * Pen.cs (Dispose): Set the nativeObject to IntPtr.Zero to catch errors in the future, set the lock on the object before doing any other tests, not after. (Clone): While cloning, it is not enough to let GDIPlus clone the underlying data, we must alos clone the managed information. * Brush.cs (Dispose): Set the nativeObject to IntPtr.Zero to catch errors in the future. Set the lock in the object before checkign disposed. * SolidBrush.cs (Clone): While cloning, it is not enough to let GDIPlus clone the underlying data, we must alos clone the managed information. (Dispose): Set the nativeObject to IntPtr.Zero to catch errors in the future. 2004-10-28 Ravindra * gdipFunctions.cs: Added checks for null stream in the StreamHelper internal class. * Icon.cs: Removed an ugly hack that used temp files in ToBitmap () method. We use MemoryStream instead. 2004-10-27 Jordi Mas i Hernandez * Font.cs: fixes bug 66533 2004-10-22 Jordi Mas i Hernandez * Bitmap.cs, Font.cs FontFamily.cs Graphics.cs Region.cs SolidBrush.cs StringFormat.cs TextureBrush.cs: removes the lock operations after conversation with Miguel. Do not really need it. 2004-10-22 Jordi Mas i Hernandez * Bitmap.cs: Fixes MakeTransparent problem with 24bbps 2004-10-19 Jordi Mas i Hernandez * Bitmap.cs: Fixes MakeTransparent method 2004-10-13 Ravindra * Graphics.cs: Moved the initialization of 'use_x_drawable' member out of private constructor to class initialization. So that, we get it right even if Graphics is not instantiated. This fixes the problem we face (otherwise) when we make first call to Graphics.FromHwnd () method. 2004-10-08 Ravindra * Image.cs: Suppress finalization in Dispose () method. 2004-10-04 Ravindra * gdipFunctioncs.cs: Fix from Alois for bug #67383. 2004-09-29 Jackson Harper * Graphics.cs: Use FromHdcInternal to set the X display handle. Add a flag to check if we are on unix so we aren't calling Environment.OSVersion.Platform all the time. Mad props to Peter Bartok for this. 2004-09-17 Marek Safar * Font.cs (FromHfont, ToHfont): Fixed windows implementation. ToLogFont: Implemented. * gdipFunctions.cs: GdipCreateFromHDC changed int to IntPtr to avoid casts. GdipCreateFontFromLogfontA: A new extern call. 2004-09-13 Ravindra * Graphics.cs: MSDN says that using image width and height gives better performance, hence we are using image width and height to avoid autoscaling in DrawImageUnscaled. 2004-09-10 Ravindra * Graphics.cs: Implemented DrawIcon methods and fixed DrawImageUnscaled method implementation. 2004-08-21 Jackson Harper * ImageAnimator.cs: Run animator as a background thread so we do not hang on exit. 2004-08-21 Ravindra * gdipFunctions.cs: Modified exception message to include the case of missing required libraries for different formats. 2004-08-10 Jackson Harper * SystemColors.cs: Make Highlight colour match colour from windows classic color scheme. 2004-07-30 Ravindra * Font.cs: Fixed Height property implementation and implemented GetHeight method and its overloads. 2004-07-29 Sanjay Gupta * gdipFunctions.cs: Corrected signature of GdipGetPropertyItem P/Invoke function for Image. * Image.cs: Implemented GetPropertyItem() and SetPropertyItem() method. 2004-07-29 Sanjay Gupta * gdipFunctions.cs: Corrected signatures of GdipGetPropertySize and GdipGetAllPropertyItems P/Invoke function for Image. * gdipStructs.cs: Corrected MarshalTo() method of GdipPropertyItem. * Image.cs: Corrected implementation of PropertyItems property. 2004-07-29 Sanjay Gupta * gdipFunctions.cs: Corrected signature of GdipGetPropertyIdList P/Invoke function for Image. * Image.cs: Changed implementation of PropertyIdList property. 2004-07-28 Sanjay Gupta * gdipStructs.cs: Implementing PropertyItem property in Image.cs. * Image.cs: Implemented PropertyItems and PropertyIdList properties. 2004-07-21 Ravindra * gdipFunctions.cs: Corrected signatures of GdipPathIterCopyData and GdipPathIterEnumerate P/Invoke functions for GraphicsPathIterator. 2004-07-21 Jordi Mas i Hernandez * Graphics.cs: fixes MeasureCharacterRanges function. It was completely wrong. * StringFormat.cs: MeasurableCharacterRanges should be passed to GDI+ * gdipFunctions.cs: new GDI function calls 2004-07-16 Ravindra * gdipFunctions.cs: Added P/Invokes for GraphicsPathIterator. 2004-07-15 Ravindra * gdipFunctions.cs: Removed GdipGetPathData P/Invoke. It is redundant. 2004-07-13 Ravindra * gdipFunctions.cs: Removed GdipGetPathGradientRectI P/Invoke. This was redundant. It was kept in previous checkin to avoid build breakage. 2004-07-13 Ravindra * gdipFunctions.cs: Added some P/Invokes for PathGradientBrush. 2004-07-09 Peter Bartok * Graphics.cs: Added support required for new managed SWF library * gdipFunctions.cs: Added XOpenDisplay definition/import 2004-07-02 Jordi Mas i Hernandez * gdipFunctions.cs: fixes bug 61050 2004-06-24 Sanjay Gupta * ImageAnimator.cs: Rewrote complete implementation. 2004-06-24 Sanjay Gupta * gdipFunctions.cs: Corrected issue in GdiPlusStreamHelper class. If read function was called after seek function call, the implementation was returning data from bytes already peeked and not from the new position in stream, which we have seeked. 2004-06-22 Jordi Mas i Hernandez * Graphics.cs: added MeasureString wrappers 2004-06-22 Jordi Mas i Hernandez * Graphics.cs, gdipFunctions.cs: define and use GdipSetVisibleClip_linux 2004-06-20 Jordi Mas i Hernandez * Graphics.cs, gdipFunctions.cs: added missing clip function wrappers 2004-06-18 Ravindra * FontConverter.cs: Implemented the missing functions. * Font.cs: Added some notes. 2004-06-16 Sanjay Gupta * gdipFunctions.cs: Modified Function signature for GdipSaveImageToDelegate_linux() method for saving tiff images to streams. * image.cs: Modified function call GdipSaveImageToDelegate_linux() with new signature. 2004-06-15 Sanjay Gupta * gdipFunctions.cs: Added delegate and StreamHelper functions, Close and Size, required by TIFFCodec. Modifed Function signature for GdipLoadImageFromDelegate_linux() method. * image.cs: Modified function call GdipLoadImageFromDelegate_linux() with new signature. 2004-06-11 Ravindra * gdipFunctions.cs: (GdipCreateSolidFill): Changed one argument from out int to out IntPtr. * SolidBrush.cs: Same. 2004-06-10 Gert Driesen * Image.cs: API signature fixes, meaning DisposeResources is now private and marked InitFromStream internal 2004-05-12 Jordi Mas i Hernandez * FontFamily.cs: simplifies object destruction and fixes 2004-05-12 Jordi Mas i Hernandez * FontFamily.cs: added destructor * Graphics.cs: added destructor to stop leaking, remove debugging code 2004-05-12 Jordi Mas i Hernandez * gdipFunctions.cs: added GdipSaveAddImage * Image.cs: added SaveAdd methods 2004-06-02 Peter Bartok * gdipFunctions.cs: Fixed reference to wrong DLLs for GetDC/ReleaseDC (This fixes bug #59479) 2004-06-01 Gert Driesen * Font.cs: Added missing Browsable attribute on SizeInPoints. * Region.cs: Removed extra ComVisible attribute from Clone(). 2004-06-01 Ravindra * Pen.cs: Added a note on Dispose method. * Brush.cs: Fixed Dispose method. * SolidBrush.cs: Fixed Dispose method. 2004-05-28 Ravindra * gdipFunctions.cs: Added some P/Invoke calls for Draw/Fill rectangles. * Graphics.cs: Implemented Dispose method and changed Draw/Fill rectangles implementation (This is basically done to avoid lots of brush and pen setup happening in libgdiplus.) 2004-05-27 Ravindra * Color.cs: Changed Color.Green to what MS.NET has. Conforming to MS. 2004-05-26 Sanjay Gupta * ImageFormatConverter.cs: Fixed issues discovered from nunit test cases. 2004-05-26 Ravindra * Color.cs: Corrected Color.Green property. 2004-05-24 Jordi Mas i Hernandez * gdipStructs.cs: remove unnecessary code, since bug 57706 is fixed 2004-05-20 Sanjay Gupta * Icon.cs: Fixed issue with size property. 2004-05-18 Ravindra * Pen.cs: Added value checks in DashPattern and CompoundArray properties. 2004-05-16 Gert Driesen * Graphics.cs: fixed warning * ImageAnimator.cs: fixed warning * FontConverter.cs: fixed public API 2004-05-14 Vladimir Vukicevic * gdipFunctions.cs: Fixed prototype for GdipGetEncoderParameterList * Image.cs: Reworked Save functions to handle EncoderParameters. Implemented GetEncoderParameterList Also removed unused setGDIPalette internal method. 2004-05-14 Peter Bartok * StringFormat.cs: Added CharacterRange handling * Graphics.cs: Implemented MeasureCharacterRanges method 2004-05-14 Peter Bartok * Graphics.cs: Added error check 2004-05-14 Duncan Mak * gdipFunctions.cs (GdipCreatePath2I, GdipAddPathPieI): (GdipFlattenPath, GdipWarpPath, GdipWidenPath): (GdipGetPathWorldBounds, GdipGetPathWorldBoundsI): Imported. 2004-05-14 Sanjay Gupta * ImageFormatConverter.cs: Modified implementation of ConvertFrom() method. 2004-05-13 Sanjay Gupta * ImageFormatConverter.cs: Implemented GetStandardValuesSupported () method. 2004-05-13 Peter Bartok * Bitmap.cs: Fixed bug #52868, Bitmap(Image, Size) did not resize the image. 2004-05-12 Peter Bartok * Image.cs: Implemented GetThumbnailImage 2004-05-13 Sanjay Gupta * Graphics.cs: Made method DrawRectangle (Pen , RectangleF) and FromXDrawable(IntPtr, IntPtr) internal. 2004-05-12 Jordi Mas i Hernandez * Color.cs: work for API compatibilty: private date, todos * Font.cs: work for API compatibilty: private date, todos * FontFamily.cs: work for API compatibilty: private date, todos * Graphics.cs: work for API compatibilty: private date, todos * Icon.cs: work for API compatibilty: private date, todos * Image.cs: work for API compatibilty: private date, todos * ImageAnimator.cs: work for API compatibilty: private date, todos * Point.cs: work for API compatibilty: private date, todos * PointF.cs: work for API compatibilty: private date, todos * Rectangle.cs: work for API compatibilty: private date, todos * RectangleF.cs: work for API compatibilty: private date, todos * Region.cs: work for API compatibilty: private date, todos * Size.cs: work for API compatibilty: private date, todos * SizeF.cs: work for API compatibilty: private date, todos * SolidBrush.cs: work for API compatibilty: private date, todos * StringFormat.cs: work for API compatibilty: private date, todos * SystemPens.cs: work for API compatibilty: private date, todos * TextureBrush.cs: work for API compatibilty: private date, todos * gdipStructs.cs: work for API compatibilty: private date, todos 2004-05-12 Ravindra * Bitmap.cs, Font.cs, FontConverter.cs, Graphics.cs, Icon.cs, Image.cs ImageAnimator.cs, Point.cs, PointF.cs, Rectangle.cs, RectangleF.cs Region.cs, Size.cs, SizeF.cs, ToolboxBitmapAttribute.cs, gdipFunctions.cs: Added missing attributes and some coding style fixes. * Pen.cs: Implementing CustomStartCap and CustomEndCap properties and some fixes. 2004-05-11 Sanjay Gupta * ImageAnimator.cs: Implemented first version. 2004-05-11 Ravindra * gdipFunctions.cs: Implementing AdjustableArrowCap. Added P/Invokes for the same. 2004-05-10 Ravindra * gdipFunctions.cs: Implementing CustomLineCap. Added P/Invokes for the same. Added few related P/Invokes for Pen also. 2004-05-06 Sanjay Gupta * ImageAnimator.cs: Corrected implementation of CanAnimate() method. 2004-05-06 Ravindra * RectangleConverter.cs: Implemented GetProperties () method. * SizeConverter.cs: Implemented GetProperties () method. * PointConverter.cs: Implemented GetProperties () method. * FontConverter.cs: Implemented some of the methods. 2004-05-06 Ravindra * Color.cs: Fixed Name property. * ColorTranslator.cs: Fixed the existing methods and implemented the missing methods. * ColorConverter.cs: Fixed the existing methods and implemented the missing methods. Also, fixed coding style. 2004-05-05 Jordi Mas i Hernandez * Bitmap.cs: Let GDI+ calculate the strides, as it does in Win32. 2004-05-05 Jordi Mas i Hernandez * Image.cs: raw_format should be handled by GDI+ * Bitmap.cs: raw_format should be handled by GDI+ 2004-05-04 Ravindra * Pen.cs: Modified exception message. Fixed Transform, DashPattern, and DashCap properties. Implementing CoumpoundArray, StartCap, EndCap properties and SetLineCap method. In constructors use IntPtr instead of int. * SolidBrush.cs: Modified exception message. * TextureBrush.cs: Fixed Transform property. * gdipFunctions.cs: Fixed P/Invokes for Pen.cs, TextureBrush.cs and LinearGradientBrush.cs. 2004-04-30 Sanjay Gupta * Image.cs: Implemented FrameDimensionsList property. 2004-04-30 Ravindra * gdipFunctions.cs: Added few more P/Invoke calls for lineargradient brush and added one case statement in CheckStatus method. 2004-04-30 Jordi Mas i Hernandez * Image.cs: takes into account MemoryBmp format when saving 2004-04-30 Ravindra * StringFormat.cs: Added checks for status. 2004-04-30 Sanjay Gupta * Image.cs: Removed calls which passes byte[] for Guid parameter. * gdipFunctions.cs: Removed unwanted unix specific function calls. 2004-04-30 Ravindra * Graphics.cs: Added checks for status. * Image.cs: Added a check for status. * FontFamily.cs: Added checks for status. 2004-04-29 Peter Bartok * Brushes.cs: Fixed bug #52695. No longer creates a new brush for every request and behaves Microsoft compatible 2004-04-29 Jordi Mas i Hernandez * Image.cs: fixes Save method. It now retrieves the proper encoder and uses its ClsID instead of the formatID (as GDI+ expects) 2004-04-29 Ravindra * Font.cs: Added checks for status. * Bitmap.cs: Added checks for status. * Pen.cs: Added checks for status. 2004-04-28 Sanjay Gupta * ColorTranslator.cs, StringFormat.cs, SystemIcons.cs, ToolBoxBitmapAttributes.cs: Converted to unix format from dos format. 2004-04-28 Sanjay Gupta * ImageConverter.cs: Implemented GetProperties() and GetPropertiesSupported () methods. 2004-04-28 Jordi Mas i Hernandez * gdipStructs.cs: added GdipImageCodecInfo struct 2004-04-28 Sanjay Gupta * ImageFormatConverter.cs: Corrected ConvertFrom method. 2004-04-27 Sanjay Gupta * ImageConverter.cs: Added exception message. * IconConverter.cs: Added exception message. * ImageFormatConverter.cs: Implemented first version. 2004-04-27 Sanjay Gupta * ImageConverter.cs: Implemented first version. 2004-04-27 Sanjay Gupta * IconConverter.cs: Implemented first version. 2004-04-26 Sanjay Gupta * Image.cs: Corrected implementation of Property RawFormat. * gdipFunctions.cs: Corrected declaration of GdipGetImageRawFormat. 2004-04-25 Sanjay Gupta * Bitmap.cs: Resolved a compile time error. * Image.cs: Changed the implementation of few methods to progress with ImageAnimator class. * gdipFunctions.cs: Added few linux only function calls. * Icon.cs: Removed unused variable from code. 2004-04-25 Vladimir Vukicevic * Graphics.cs, gdipFunctions.cs: Added CreateFromXDrawable_linux. 2004-04-23 Vladimir Vukicevic * Commited patch from pcgod@gmx.net (Bnehamin Jemlich) for serialization for Bitmaps. (Bugzilla #52568) 2004-04-23 Ravindra * RectangleConverter.cs: Fixed ConvertTo () method. * SizeConverter.cs: Fixed ConvertTo () method. * PointConverter.cs: Fixed ConvertTo () method. 2004-04-23 Sanjay Gupta * ImageAnimator.cs: Implemented CanAnimate() method. 2004-04-22 Jordi Mas i Hernandez * Image.cs: added RotateFlip and RemovePropertyItem calls 2004-04-22 Ravindra * RectangleConverter.cs: Implemented. Also changed file format dos2unix. * Rectangle.cs: Fixed ToString method. * RectangleF.cs: Fixed ToString method. 2004-04-22 Ravindra * SizeConverter.cs: Implemented some of the functions. * PointConveter.cs: Implemented. * gdipFunctions.cs: Corrected one typo. * Brushes.cs: Added a comment. 2004-04-22 Vladimir Vukicevic * gdipFunctions.cs: Fix StreamGetBytesImpl to handle returning portions of the peek buffer back. Fixes #57379. 2004-04-21 Peter Bartok * Font.cs: Implemented Font.FromHfont method * gdipStructs.cs: fixed sign for LOGFONTA lfHeight member * gdipFunctions.cs: Added imports for functions required to support Font.FromHfont method 2004-04-21 Jordi Mas i Hernandez * RectangleConverter.cs: stubbed out * Font.cs : added missing members 2004-04-19 Sanjay Gupta * Icon.cs: Fixed problem in extracting bitmap from Icon. 2004-04-16 Ravindra * Pen.cs: GC should be allowed to collect any pen including system pens. * SolidBrush.cs: GC should be allowed to collect any SolidBrush including system brushes. * Brushes.cs: Coding style. * Pens.cs: Objects created by Pens are not modifiable on MS.NET, so we are now. Also, coding style fixes. * SystemPens.cs: Removed static constructor and changed file format dos2unix. * SystemBrushes.cs: Some cosmetic changes. 2004-04-15 Sanjay Gupta * Icon.cs: Implemented more missing bits and fixed the problem of icon not getting saved in proper format 2004-04-14 Sanjay Gupta * Icon.cs: Implemented more missing bits 2004-04-13 Sanjay Gupta * Icon.cs: Implemented few more missing bits 2004-04-12 Sanjay Gupta * Icon.cs: Implemented first version 2004-04-11 Peter Bartok * Font.cs: Implemented Font.ToHfont method; used Jordi's suggestion of splitting the code and using our own private gdiplus function when on Unix and using Win32 functions when running on Windows * gdipStructs.cs: Added LOGFONTA structure * gdipFunctions.cs: Added various DllImports required for Font.ToHfont 2004-04-10 Vladimir Vukicevic * Image.cs: Save should use encoder.FormatID, not Clsid 2004-04-06 Jordi Mas i Hernandez * Region.cs: fixes GdipCombineRegionRect and GdipCombineRegionRectI signature * gdipFunctions.cs: fixes GdipCombineRegionRect and GdipCombineRegionRectI signature 2004-04-06 Duncan Mak * gdipFunctions.cs (GdipCreatePath2): Fixed signature. 2004-04-06 Jordi Mas i Hernandez * Region.cs: fixes GetRegionScans * gdipFunctions.cs: fixes GetRegionScans 2004-04-06 Vladimir Vukicevic * gdipFunctions.cs: Added stream delegate helpers for stream loading/saving on linux * Image.cs, Bitmap.cs: Converted to call into GDIPlus for loading/saving image data. 2004-04-05 Jordi Mas i Hernandez * Region.cs: implemented new methods * Graphics.cs: implemented new methods 2004-04-02 Jordi Mas i Hernandez * Region.cs: implemented 2004-04-01 Duncan Mak * Graphics.cs (DrawCurve): Call the correct GDI+ wrappers. * gdipFunctions.cs (GdipAddPathCurveI): (GdipAddPathCurve2, GdipAddPathCurve2I): (GdipAddPathCurve3, GdipAddPathCurve3I): (GdipAddPathClosedCurve, GdipAddPathClosedCurveI): (GdipAddPathClosedCurve2, GdipAddPathClosedCurve2I): Added new wrappers from GDI+. 2004-03-30 Jordi Mas i Hernandez * Image.cs: implemented a few GDI+ wrapper calls 2004-03-30 Jordi Mas i Hernandez * Bitmap.cs: remove redundant data already present at Image.cs * Image.cs: use GDI+ functions to get image details * StringFormat.cs: missing constructor and property 2004-03-24 Jordi Mas i Hernandez * FontFamily.cs: added missing members and style clean * Graphics.cs: fixed signature of DrawArc and DrawPie * Image.cs: added missing members, fixes * StringFormat.cs: missing constructor and property 2004-03-24 Jordi Mas i Hernandez * Graphics.cs: Added missing DrawImage GDI+ calls * gdipFunctions.cs: Added missing DrawImage GDI+ calls 2004-03-23 Ravindra * gdipFunctions.cs: Added few more P/Invoke calls for LinearGradientBrush. 2004-03-22 Ravindra * gdipFunctions.cs: Added P/Invoke calls for LinearGradientBrush and did few coding style fixes. 2004-03-18 Ravindra * Brush.cs: Fixed Dispose method. * SolidBrush.cs: Fixed clone method. * TextureBrush.cs: Fixed clone method. * gdipFunctions.cs: Fixed P/Invokes for PathGradientBrush. 2004-03-13 Gonzalo Paniagua Javier * SizeConverter.cs: fixd typo in ConvertFrom that made height be wrong. 2004-03-10 Ravindra * Pen.cs: Implemented PenType property. * Brush.cs: Coding style. 2004-03-06 Ravindra * gdipFunctions.cs: Added few more GDI+ P/Invoke calls for PathGradientBrush. 2004-03-06 Ravindra * gdipFunctions.cs: Added GDI+ P/Invoke calls for PathGradientBrush. 2004-03-04 Duncan Mak * Region.cs: Indentation. * RectangleF.cs: Changed the internal structure from a PointF, SizeF to floats in order to match the layout from the C API. 2004-03-04 Jordi Mas i Hernandez * StringFormat.cs: DigitSubstitution and TabStob methods, coding-style 2004-03-03 Sanjay Gupta * gdipFunctions.cs: Added functions for ImageAttributes 2004-03-03 Sanjay Gupta * Icon.cs: Missing function stubs added * Icon.cs: Missing function stubs added * IconConverter.cs: Missing function stubs added * ImageAnimator.cs: Missing function stubs added * ImageConverter.cs: Missing function stubs added * ImageFormatConverter.cs: Missing function stubs added 2004-03-02 Jordi Mas i Hernandez * Font.cs: Allow multiple styles 2004-02-25 Jordi Mas i Hernandez * StringFormat.cs: Clone method 2004-02-24 Jordi Mas i Hernandez * font.cs: fixes, Clone, and ToString 2004-02-21 Jordi Mas i Hernandez * gdipFunctions.cs: MeasureString * Graphics.cs : MeasureString 2004-02-17 Jordi Mas i Hernandez * Font.cs: destructor and unit conversion * Graphics.cs : system dpi support 2004-02-13 Ravindra * Pen.cs: Fixed some bugs. * TextureBrush.cs: Fixed some bugs. 2004-02-13 Sanjay Gupta * gdipFunctions.cs: Added ImageCodecInfo functions * Image.cs: Added few methods 2004-02-13 Jordi Mas i Hernandez * FontFamily.cs: remove hardcoded font names, a few bug fixes 2004-02-12 Sanjay Gupta * gdipFunctions.cs: Added Image class functions * Image.cs: Added few methods 2004-02-10 Jordi Mas i Hernandez * graphics.cs: fixes parameters for DrawStrings functions 2004-02-07 Andreas Nahr * SRDescriptionAttribute.cs: Added and implemented * ToolboxBitmapAttribute.cs: Implemented a few members * SystemIcons.cs: Stubbed * StringFormat.cs: Implemented method * Region.cs: Added Todo, fixed attribute * Size.cs: Added attribute * SizeF.cs: Added attribute * RectangleF.cs: Added attributes * Rectangle.cs: Added attributes * PointF.cs: Added attribute * Point.cs: Added attribute 2004-02-06 Ravindra * Brush.cs: Renamed GetException method to CheckStatus and moved it to gdipFunctions.cs. * gdipFunctions.cs: Added CheckStatus method. * SolidBrush.cs: Using CheckStatus method. * TextureBrush.cs: Using CheckStatus method. * gdipEnums.cs: Added a missing value. 2004-02-05 Ravindra * Brush.cs: Added a missing namespace. 2004-02-05 Ravindra * gdipFunctions.cs: Added methods for HatchBrush and SolidBrush. * SolidBrush.cs: Added checks for status. * Brush.cs: Added support for HatchBrush and TextureBrush types in internal CreateBrush() method. 2004-02-03 Jordi Mas * Font.cs: Setup font properties 2004-02-03 Ravindra * TextureBrush.cs and Brush.cs: Moved GetException (Status) method from TextureBrush.cs to Brush.cs. * Brush.cs: Made GetException (Status) method internal. 2004-02-03 Sanjay Gupta * gdipFunctions.cs: Added methods for Image class. 2004-01-30 Ravindra * TextureBrush.cs: Added more methods to complete it. * gdipFunctions.cs: Added methods for TextureBrush class. 2004-01-30 Ravindra * gdipFunctions.cs: Added methods for TextureBrush class. 2004-01-30 Ravindra * Pen.cs: Modified to handle TextureBrush also. * Bitmap.cs: Added one internal constructor. * TextureBrush.cs: Implemented. 2004-01-29 Duncan Mak * gdipFunctions.cs * Graphics.cs: Indentation fixes, removed long dangling lines and extra spaces. * Graphics.cs (IsVisible): Renamed variable to not use hungarian notation. 2004-01-29 Sanjay Gupta * FontFamily.cs: Implemented few methods and a constructor 2004-01-28 Sanjay Gupta * gdipFunctions.cs: Added FontFamily and FontCollection functions. * FontFamily.cs: Implemented missing functionalities. 2004-01-24 Duncan Mak * Graphics.cs (DrawPath): Implemented. 2004-01-23 Ravindra * Point.cs: ToString modified. * PointF.cs: ToString modified. * Size.cs: ToString modified. * SizeF.cs: ToString modified. ToPoint and ToSize methods are added. 2004-01-21 Jordi Mas i Hernàndez * Bitmap.cs: Several new methods added. 2004-01-21 Duncan Mak * gdipFunctions.cs (GdipGetPathTypes, GdipGetPathPoints): Add OutAttribute to the array argument. This fixes the PathPoints property in System.Drawing.Drawing2D.GraphicsPath. 2004-01-20 Ravindra * Pen.cs: Fixed bug #52811 in Pen.Transform property. Setting this property was hanging and getting was throwing a NullRef Exception. Earlier we were passing Matrix object to and fro which was causing the problem. Now, we are using IntPtr. Thanks to Duncan for helping me. Also, .NET behavior is to maintain Pen.Color and Pen.Brush together. If color is set, a SolidBrush automatically gets set with the same color, Pen loses the old brush object. If a SolidBrush is set, Pen.Color gets the value same as that of brush color losing the old value. Pen shows this behavior now. * gdipFunctions.cs: Changed the signature of GdipGetPenTransform and GdipSetPenTransform methods to use IntPtr instead of Matrix. 2004-01-19 Duncan Mak * gdipFunctions.cs: Import functions for GraphicsPath. 2004-01-14 Ravindra * SolidBrush.cs: Made SolidBrush to initialize its color from IntPtr. * gdipFunctions.cs: Added call to GdipGetSolidFillColor GDI+ API. 2004-01-11 Duncan Mak * Bitmap.cs (LockBits): * Graphics.cs (DrawString): Removed reference to GpRectF. 2004-01-09 Duncan Mak * gdipStructs.cs (GpRectF, GpRect, GpPointF, GpPoint): Removed. Didn't know that structs are laid out sequentially by default. We don't need these anymore. 2004-01-12 Ben Maurer * Color.cs: Keep KnownColors in an array so that we avoid ht lookup. 2004-01-11 Daniel Morgan * Graphics.cs: fix compile error on Windows builds for out parameter state in call to GdipSaveGraphics 2004-01-10 Ravindra * All Enums: Made serializable. * Image.cs: Corrected signature of Dispose(bool) method. * Pen.cs, SolidBrush.cs, SystemPens.cs, SystemBrushes.cs: Corrected coding style mistakes of my previous commit. * PointConverter.cs, RectangleConverter.cs: Inherit TypeConverter. * PointF.cs, RectangleF.cs, SizeF.cs: Made serializable. * StringFormat.cs: Inherits MarshalByRefObject. * ToolboxBitmapAttribute.cs: Added missing attribute [AttributeUsage]. 2004-01-08 Ravindra * Pen.cs: Added isModifiable (bool) variable. It is required to make Pens created by SystemPens.cs unmodifiable. All property setters are modified for this. * SolidBrush.cs: Added isModifiable variable (bool). It is required to make Brushes created by SystemBrushes.cs unmodifiable. All property setters are modified for this. * SystemBrushes.cs: Modified all the properties as per the .NET specs, so that Brushes are not created every time. Also, missing properties are added. * SystemPens.cs: Modified all the properties as per the .NET specs, so that Brushes are not created every time. Also, missing properties are added. 2003-12-12 Miguel de Icaza * Rectangle.cs: Patch from Bryan Bulten, fixes Inflate and makes it serializable 2004-01-06 Duncan Mak * gdipFunctions.cs: Import GraphicsPath functions from GDI+. 2003-12-21 Duncan Mak * Graphics.cs (DrawArc): Fixed the method signature and hooked it up to the GDI+ implementation. (RotateTransform): Uncommented. * gdipFunctions.cs (DrawArc, DrawArcI): Import from libgdiplus.so.dll. 2003-12-13 Todd Berman * Font.cs: Implementing a couple things for porting purposes * SystemBrushes.cs: ^ * StringFormat.cs: ^^ 2003-11-28 Duncan Mak * Pen.cs (CompoundArray): Hide this for now. 2003-11-28 Duncan Mak * Brush.cs (CreateBrush): new internal factory method for creating specific brushes based on the internal (GDI+ C API) BrushType enum. (Brush (IntPtr)): new internal constructor. * Pen.cs: Removed all the C# fields. We are using GDI+ completely now. (Pen (IntPtr)): new internal constructor. (Pen (Brush, float)): Use GdipCreateBrush2. (Clone): Implemented using GdipClonePen. (Alignment, Brush, Color, Width): Use GDI+ implementations instead. (CompoundArray, DashCap, DashOffset, DashPattern, DashStyle): Implemented these properties. (CustomStartCap, CustomEndCap, StartCap, EndCap, SetLineCap): Stubbed. (MultiplyTransform, ResetTransform, RotateTransform): (ScaleTransform, TranslateTransform): Implemented these methods. * SolidBrush.cs (SolidBrush (IntPtr)): new internal constructor. * gdipEnums.cs (BrushType): Added new GDI+ enum. * gdipFunctions.cs: Imported new Brush and Pen functions. 2003-11-22 Duncan Mak * gdipFunctions.cs (GdipResetWorldTransform, GdipSetWorldTransform): (GdipGetWorldTransform, GdipScaleWorldTransform): Imported. * Graphics.cs: Remove unnecessary TODO, and reformatted the code. (transform): Removed this field. Always use the matrix associated in the GpGraphics ptr. (DrawBeziers): Implemented. (DrawLine): Don't need to manually invoke the transform now. (MultiplyTransform, ResetTransform): (ScaleTransform, TranslateTransform): Use GDI+ implementation. (Transform): Instead of storing a Matrix in managed code, use equivalent GDI+ functions. 2003-11-21 Gonzalo Paniagua Javier * SizeConverter.cs: fixed class signature and implemented some methods. 2003-11-17 Duncan Mak * gdipFunctions.cs (GdipGetMatrixElements): Fix signature. * Graphics.cs (MultiplyTransform): Commented out until my Matrix commit. 2003-11-17 Duncan Mak * Bitmap.cs (LockBits): * Graphics.cs (DrawString): Use GpRectF. * gdipFunctions.cs: Updated method signatures. * Graphics.cs (MultiplyTransform): Implemented using GdipMultiplyWorldTransform from GDI+. * gdipStructs.cs (GdipRectF, GdipRect): Renamed to GpRectF and GpRect, to be more consistent with the C naming. 2003-11-16 Miguel de Icaza * Graphics.cs: Implement the other DrawString overloads . 2003-11-16 Miguel de Icaza * gdipStructs.cs (GdipRectF): Added utility constructor 2003-11-15 Duncan Mak * gdipFunctions.cs: Imported matrix functions. 2003-11-13 Andreas Nahr * Bitmap.cs: Added Attributes * ColorTranslator.cs: Added private constructor * Font.cs: Added Attributes * FontFamily.cs: sealed * Icon.cs: Added Attributes * IconConverter.cs: Fixed signature * Image.cs: Added attributes * ImageAnimator.cs: * ImageConverter.cs: * ImageFormatConverter.cs: * SolidBrush.cs: * StringFormat.cs: * SystemBrushes.cs: * SystemColors.cs: * SystemIcons.cs: * SystemPens.cs: * TextureBrush.cs: Fixed signature * Color.cs: Added attributes * Point.cs: * PointF.cs: * Rectangle.cs: * Size.cs: * SizeF.cs: Added attributes * ContentAlignment.cs: Added attribute 2003-11-13 Duncan Mak * Pen.cs (LineCap, LineJoin, MiterLimit, Transform): implemented. * gdipFunctions.cs (GdipSetPenMiterLimit, GdipGetPenMiterLimit): (GdipSetPenLineJoin, GdipGetPenLineJoin): (GdipSetPenLineJoin, GdipGetPenTransform): imported. 2003-11-12 Alexandre Pigolkine * Bitmap.cs * gdipFunctions.cs copy image in Bitmap constructor 2003-11-06 Duncan Mak * Graphics.cs (DrawPie): Use DrawPieI instead of DrawPie and fix angle parameters for the integer case. (DrawBezier): Hook it up with GdipDrawBezier. (DrawEllipse): Fix Width, Height ordering. 2003-11-05 Duncan Mak * Graphics.cs (DrawPie): * gdipFunctions.cs (GdipDrawPie): Add hooks to the implementation in graphics.c. 2003-10-28 Duncan Mak * Graphics.cs (DrawEllipse, DrawLine, DrawPolygon): (FillEllipse, FillPolygon): implemented. (RenderingOrigin): implemented. * gdipFunctions.cs: Added new GDI+ equivalents. 2003-10-25 Alexandre Pigolkine * Bitmap.cs * Image.cs small fixes 2003-10-25 Atsushi Enomoto * Image.cs : renamed 'pallete' to 'colorPallete' for CLS compliance. 2003-10-24 Miguel de Icaza * SystemBrushes.cs: Some more brushe3s. * SystemPens.cs: More pens. * Pen.cs: Implement IDisposable, ICloneable. * Region.cs: Add some more stubs here. * StringFormat.cs: Add some more code here. 2003-10-23 Miguel de Icaza * Image.cs: Kill the InternalImageInfo, everything is now done in terms of Image and BitmapData. * Rectangle.cs: Make this one also sequential, change from using Point + Size to use x, y, width, height; So we can use GdiPlus. * gdipFunctions.cs (GdipBitmapLockBits): Remove the ref from the BitmapData class argument, and instead use the [In,Out] attributes, which will do struct marshalling on the fields. Now we can use C#'s BitmapData directly to talk to Gdiplus. * gdipStructs.cs: Every internal structure that has to talk to Gdi+ is properly prefixed, to minimize the confussion. * Bitmap.cs Bitmap (int width, int height, PixelFormat format): Compute the stride here where we have the BPP information, allocate a buffer of the proper size, and pass this to GdipCreateBitmapFromScan0 * Image.cs: Implement Dispose pattern. 2003-10-14 Alexandre Pigolkine * Graphics.cs * gdipFunctioncs.cs * gdipStructs.cs DrawString function added 2003-10-12 Alexandre Pigolkine * gdipEnums.cs * gdipFunctions.cs * gdipStructs.cs added 2003-10-12 Alexandre Pigolkine * Bitmap.cs * Brush.cs * Font.cs * FontFamily.cs * Graphics.cs * Image.cs * Pen.cs * SolidBrush.cs implementation changed to gdi+ 2003-09-08 Duncan Mak * Factories.cs (DefaultImplementationNamespace): Change it from "XrImpl" to "Cairo". 2003-08-20 Gonzalo Paniagua Javier * Color.cs: fixed FromArgb to handle alpha value correctly. Closes bug #47727. 2003-08-08 Duncan Mak * Graphics.cs (DrawBezier): Fixed. 2003-08-03 Alexandre Pigolkine * Graphics.cs delegate Dispose to implementation 2003-08-01 Gonzalo Paniagua Javier * FontConverter.cs: stub it out so that system.web compiles. 2003-07-30 Alexandre Pigolkine * Image.cs InternalImageInfo class improved 2003-07-23 Miguel de Icaza * Factories.cs: If the AppDomain key `Mono.Running.Windows.Forms' is set, default to Win32Impl 2003-07-22 Alexandre Pigolkine * Image.cs implementation added 2003-07-21 Andreas Nahr * Icon.cs: Stubed out (fix for System.Drawing.Design) 2003-07-17 Andreas Nahr * StringFormat.cs: Changes to become CLS-compliant 2003-07-14 Miguel de Icaza * Factories.cs: Remove debugging message. 2003-07-01 Alexandre Pigolkine * Color.cs code generation program modified 2003-06-29 Alexandre Pigolkine * Graphics.cs image drawing 2003-06-28 Alexandre Pigolkine * Color.cs * SystemColors.cs supply KnowColor enum value to save Enum.Parse at runtime 2003-06-26 Alexandre Pigolkine * Graphics.cs coordinate transformations * Image.cs small fix 2003-06-22 Alexandre Pigolkine * Factories.cs * FontFamily.cs more implementation 2003-06-20 Alexandre Pigolkine * Font.cs * FontFamily.cs more implementation 2003-06-18 Alexandre Pigolkine * Graphics.cs few more calls to implementation 2003-06-15 Alexandre Pigolkine * Bitmap.cs BITMAP declaration removed * Graphics.cs few more calls to implementation * Image.cs InternalImageInfo structure, image read/write functions 2003-05-26 Alexandre Pigolkine * Factories.cs analyse environment variable and machine.config to select implementation * Image.cs PixelFormat property added 2003-04-30 Nick Drochak * Factories.cs: Change weird characters that broke build on windows. 2003-04-26 Gonzalo Paniagua Javier * ColorConverter.cs: (ConvertFrom): return a system or named color if there's one that fits teh values parsed with Color.FromArgb. 2003-04-26 Alexandre Pigolkine * Bitmap.cs * Brush.cs * Font.cs * Graphics.cs * Image.cs * Pen.cs * SolidBrush.cs * SystemBrushes.cs * Factories.cs delegate function calls to implementation 2003-04-26 Alexandre Pigolkine * Bitmap.cs * ChangeLog * Image.cs * SystemBrushes.cs switch to Linux style line terminators 2003-03-29 Alan Tam * ToolboxBitmapAttribute stubbed more constructors and fixed base class 2003-03-01 Alexandre Pigolkine * SystemBrushes.cs added stubs to compile SWF 2003-02-21 Alexandre Pigolkine * Font.cs * Graphics.cs * Image.cs * SystemBrushes.cs small changes to be able to run SWF apps 2003-02-08 Gonzalo Paniagua Javier * Graphics.cs: stubbed out all the methods. 2003-02-08 Piers Haken * fixed case of pens.cs and font.cs 2003-02-07 Alexandre Pigolkine * Font.cs Added * Graphics.cs * StringFormat.cs * SystemBrushes.cs stubs added 2002-11-21 Dennis Hayes (dennish@raytek.com) * checkin for Matt Stump (mstump@swfo.arizona.edu) * Pens.cs * Added file 2002-10-19 Rachel Hestilow * ColorTranslator.cs (FromHtml): Implement. 2002-10-14 Dennis Hayes (dennish@raytek.com) * Region.cs * changed using namespace from Drawing2d to Drawing2D 2002-9-15 Asier Llano * Fixes the enum values in the following enums * ContentAlignment.cs: * FontStyle.cs: * GraphicsUnit.cs: * KnownColor.cs: * RotateFlipType.cs: * StringAligment.cs: * StringDigitSubstitute.cs: * StringFormatFlags.cs: * StringTrimming.cs: * StringUnit.cs: * SolidBrush.cs: Easy implementation * Brushes.cs: Implementation based on SolidBrush and Color class. * Brush.cs: Fixes based on the status web). * CharacterRange.cs: Implemented the missing Lenth property. 2002-9-14 Dennis Hayes (dennish@raytek.com) * sample.cs * removed personal template that should not have been checked in 2002-09-13 Gonzalo Paniagua Javier * ColorConverter.cs: readded MonoTODOs and implemented a couple of methods. 2002-9-14 DennisHayes * FontConverter.cs * FontFamily.cs * Icon.cs * IconConverter.cs * ImageAnimator.cs * ImageConverter.cs * ImageFormatConverter.cs * PointConverter.cs * RectangleConverter.cs * Sample.cs * SizeConverter.cs * SolidBrush.cs * StringFormat.cs * SystemBrushes.cs * SystemIcons.cs * SystemPens.cs * TextureBrush.cs * ToolboxBitmapAttribute.cs * Added null classes for most/all classes, Many stubs, and some implmentation 2002-9-2 DennisHayes * Bitmap.cs * Color.cs * ColorConverter.cs * Image.cs * Pen.cs * Added stubs, implmentation 2002-9-2 DennisHayes * Brushes.cs : stubbed, added colors. Not sure how to implement, but this should at least save someone some typing. * CharacterRange.cs :Implmented * Region.cs : stub needed for system.windows.forms 2002-07-28 Gonzalo Paniagua Javier * ColorTranslator.cs: use Color.Name. 2002-07-18 Gonzalo Paniagua Javier * Color.cs: implemented SystemColors and NamedColors properties that are used by ColorConverter, removed public constructor, use SystemColors, and misc. fixes to make it behave as MS (ToString, parsing names, FromKnownColor,...). * ColorConverter.cs: use NamedColors and SystemColors from Color when trying to get the color from its name. * SystemColors.cs: new file. 2002-07-16 Gonzalo Paniagua Javier * Color.cs: changed static properties to use FromArgbNamed. Also modified the program included in comments that get the values for static properties. (FromArgbNamed): build named colors. (FromKnownColor): fixed. (FromName): use a hash to look up colors by name. (FillColorNames): create the hash of colors. (Equals): compare values and name. (ToString): improved. * ColorTranslator.cs: implemented ToHtml. 2002-06-20 Gonzalo Paniagua Javier * Color.cs: added TypeConverter attribute. * ColorConverter.cs: added constructor. 2002-06-15 Gonzalo Paniagua Javier * ColorConverter.cs: implemented minimal set of features needed by xsp. 2002-05-03 Mike Kestner * Bitmap.cs : using System.IO * ColorTranslator.cs : Stubbed off build breakers. * Image.cs : Stub off IDisposable and ICloneable. 2002-04-27 Christian Meyer * Bitmap.cs: Ximian is the new copyright holder now. * Image.cs: ditto 2002-04-05 Christian Meyer * Uppercased several files. 2002-04-05 Christian Meyer * color.cs: Fixed a typo in GetSaturation (). 2002-02-26 Christian Meyer * Bitmap.cs: Added method headers. 2002-02-25 Christian Meyer * Bitmap.cs: Added, no implementation's done, yet. 2001-12-15 Mike Kestner * Rectangle.cs : Add a doc comment. * RectangleF.cs : New struct implementation. 2001-12-15 Mike Kestner * Rectangle.cs : New struct implementation. 2001-08-17 Mike Kestner * PointF.cs, Size.cs, SizeF.cs : New struct implementations. 2001-08-16 Mike Kestner * Point.cs : New. Implementation of System.Drawing.Point struct.