3f744aa254fb0a42f54ccd43ccec505a28658bd0
[mono.git] / mcs / class / System.Drawing / System.Drawing / ChangeLog
1 2010-07-19  Sebastien Pouliot  <sebastien@ximian.com>
2
3         * Icon.cs: Remove width==height check when deserializing (uncommon
4         but valid icons). Fix bug #581400
5
6 2010-07-16  Sebastien Pouliot  <sebastien@ximian.com>
7
8         * Graphics.cs (CopyFromScreen): Avoid crash if asked for a region
9         to big for XGetImage to return. Fix bug #582823
10
11 2010-03-01  Miguel de Icaza  <miguel@novell.com>
12
13         * Point.cs: Fix #554635, our constructor that takes an int had the
14         values for X and Y swapped out.
15
16 2009-10-13 Marek Safar  <marek.safar@gmail.com>
17
18         * KnownColors.cs: FindColorMatch has to match only predefined color
19         names ignoring system elements.
20
21         * ColorTranslator.cs: Add more predefined names.
22
23 2009-07-15 Gonzalo Paniagua Javier <gonzalo@novell.com>
24
25         * Font.cs: implement OriginalFontName.
26
27 2009-07-15  Sebastien Pouliot  <sebastien@ximian.com>
28
29         * gdipFunctions.cs: Fix XVisualIDFromVisual to return an IntPtr
30         since 64 bits X servers will return a 64 bits value.
31         * gdipStructs.cs: Fix XVisualInfo to use IntPtr on fields that
32         are 64 bits on 64 bits X servers.
33         * Graphics.cs: Adjust CopyFromScreenX11 to work with IntPtr so the
34         screenshot code can work on both 32 and 64 bits X servers.
35         [Fix bug #521718]
36
37 2008-11-24  Geoff Norton  <gnorton@novell.com>
38
39         * gdipFunctions.cs: Ensure that System.Drawing works on the mac as 
40         well as unix.
41
42 2008-11-21  Andreia Gaita  <shana@jitted.com>
43
44         * Image.cs: On win32, when cloning images initialized from
45         resources, also clone the underlying stream, since it needs to stay
46         around for the life of the image (gdi doesn't clone the underlying
47         stream when cloning images, so when the gc disposes the original, it
48         will also dispose the stream, which invalidates the clone).
49
50         * Bitmap.cs: Save the underlying stream when creating bitmaps from a
51         clone under win32
52         [fixes #438886]
53
54 2008-11-01  Sebastien Pouliot  <sebastien@ximian.com>
55
56         * Font.cs: Add comment on .ctor(Font,FontStyle) about the lack of
57         null check (compatibility). Add proper (yet compatible ;-) null check
58         to GetHeight(Graphics)
59
60 2008-10-06  Sebastien Pouliot  <sebastien@ximian.com> 
61
62         * Color.cs: Fix Color serialization by changing 'value' visibility
63         to private and make everyone access it thru an internal property. 
64         This also simplify the A, R, G and B properties and probably covers 
65         a few other cases where a similar hack would have been required.
66         [Fix bug #410693]
67         * KnownColors.cs: Assign Color.Value property and not the value field.
68         * RectangleF.cs: Fix edge intersection. Path by Brian Browning.
69         [Fix bug #431587]
70
71 2008-08-08  Gert Driesen  <drieseng@users.sourceforge.net>
72
73         * Icon.cs (InitFromStreamWithSize): Use temp ArrayList for IconDirEntry
74         to avoid empty slots in array. Use actual index of IconDirEntry in
75         array when entries have been skipped. Fixes bug #415581.
76
77 2008-08-06  Gert Driesen  <drieseng@users.sourceforge.net>
78
79         * Icon.cs (InitFromStreamWithSize): Move init of iconDir.idCount
80         and imageData until after the number of entries was determined to
81         cope with skipping of 256x256 icons. Fixes bug #410608.
82
83 2008-07-14  Sebastien Pouliot  <sebastien@ximian.com>
84
85         * gdipFunctions.cs: Fix signature for 
86         GdipGetImageAttributesAdjustedPalette
87         [Part of fix for bug #402172]
88
89 2008-07-07  Sebastien Pouliot  <sebastien@ximian.com>
90
91         * Bitmap.cs: Fix exceptions for some ctors.
92         * Image.cs: Throw ArgumentNullException for null streams.
93         [Fix bug #406763]
94
95 2008-07-03  Sebastien Pouliot  <sebastien@ximian.com>
96
97         * Image.cs: throw NotImplementedException in SetPropertyItem
98         instead of executing broken code. See #406307 for test case.
99
100 2008-06-27  Ivan N. Zlatev  <contact@i-nz.net>
101
102         * SizeConverter.cs: Fallback to CultureInfo.CurrentCulture 
103         if supplied culture is null.
104         * PointConverter.cs: Fallback to CultureInfo.CurrentCulture 
105         if supplied culture is null.
106
107 2008-05-26  Gert Driesen  <drieseng@users.sourceforge.net>
108
109         * Bitmap.cs: Changed argument names to match MS.
110         * CharacterRange.cs: Changed argument names to match MS. 
111         * Color.cs: Changed argument names to match MS.
112         * Font.cs: Changed argument names to match MS.
113         * FontFamily.cs: Changed argument names to match MS.
114         * Graphics.cs: Changed argument names to match MS.
115         * Image.cs: Changed argument names to match MS.
116         * Icon.cs: Changed argument names to match MS.
117         * IconConverter.cs: Changed argument names to match MS.
118         * ImageAnimator.cs: Changed argument names to match MS.
119         * ImageConverter.cs: Changed argument names to match MS.
120         * ImageFormatConverter.cs: Changed argument names to match MS.
121         * Point.cs: Changed argument names to match MS.
122         * PointF.cs: Changed argument names to match MS.
123         * Rectangle.cs: Changed argument names to match MS.
124         * RectangleF.cs: Changed argument names to match MS.
125         * Region.cs: Changed argument names to match MS.
126         * Size.cs: Changed argument names to match MS.
127         * SizeF.cs: Changed argument names to match MS.
128         * StringFormat.cs: Changed argument names to match MS.
129         * SystemFonts.cs: Changed argument names to match MS.
130         * TextureBrush.cs: Changed argument names to match MS.
131
132 2008-05-19  Sebastien Pouliot  <sebastien@ximian.com>
133
134         * CharacterRange.cs,
135         * ColorConverter.cs,
136         * PointConverter.cs,
137         * RectangleConverter.cs,
138         * SizeConverter.cs,
139         * SizeFConverter.cs: Avoid unboxing structs more than one time.
140         [Found using Gendarme]
141
142 2008-05-18  Sebastien Pouliot  <sebastien@ximian.com>
143
144         * Font.cs: Add comment that downcasting the IntPtr is not an 
145         issue in this case (offset) since the next API requires it.
146         * Icon.cs: Use String.IsNullOrEmpty inside 2.0 code.
147         [Found using Gendarme]
148
149 2008-05-14  Sebastien Pouliot  <sebastien@ximian.com>
150
151         * Graphics.cs: Throw a NotSupportedException if we're ask to create
152         a Graphics from a handle and X is not available (i.e. XOpenDisplay 
153         returns NULL). Easier to diagnose than a SIGSEGV
154
155 2008-03-28  Ivan N. Zlatev  <contact@i-nz.net>
156
157         * IconConverter.cs: Convert null to "(none)".
158
159 2008-03-26  Kornél Pál  <kornelpal@gmail.com>
160
161         * ComIStreamWrapper.cs: Seek: remove read-only case. CopyTo: avoid allocating
162         large buffer. Commit: call SetSizeToPosition.
163
164 2008-03-22  Sebastien Pouliot  <sebastien@ximian.com>
165
166         * Graphics.cs: Fix typo in exception and provide a bit more details.
167
168 2008-03-21  Geoff Norton  <gnorton@novell.com>
169
170         * carbonFunctions.cs: Disable QDContext caching for now.  It's
171         causing crashes in the finalizer code.
172
173 2008-03-06  Ivan N. Zlatev  <contact@i-nz.net>
174
175         * ImageFormatConverter.cs: 
176          - String comparison should use the InvariantCulture.
177          - ConvertTo string should return the name for known image formats.
178          [Fixes bug #366570]
179
180 2008-03-04  Sebastien Pouliot  <sebastien@ximian.com>
181
182         * Graphics.cs: Fix CopyFromScreen for X11 when source or destination
183         coordinates are not 0. Fix bug #363881.
184
185 2008-03-03  Ivan N. Zlatev  <contact@i-nz.net>
186
187         * ImageFormatConverter.cs: Perform a case insensitive comparison 
188         instead of a case sensitive one.
189         [Fixes bug #366567]
190
191 2008-03-03  Sebastien Pouliot  <sebastien@ximian.com>
192
193         * Icon.cs: Don't require icon entries when creating a new icon 
194         (since they won't exist if we create the icon from an handle).
195         Also avoid a step when cloning. Fix bug #366485
196
197 2008-02-10  Sebastien Pouliot  <sebastien@ximian.com>
198
199         * gdipFunctions.cs: Seal GdiPlusStreamHelper class. Found using
200         Gendarme.
201         * carbonFunctions.cs: Seal Carbon class before 2.0, make it static
202         from 2.0. Issues reported by Gendarme.
203         * ColorConverter.cs: Seal internal IComparer class CompareColors. 
204         Found using Gendarme.
205         * FontConverter.cs: Don't ignore result of String.Trim. Found
206         using Gendarme.
207         * Graphics.cs: Document unused FillMode on DrawCloseCurve (part 
208         of the API but unused) and remove unused internal code. Both found
209         using Gendarme.
210         * SRDescriptionAttribute.cs: Seal internal attribute. Found using
211         Gendarme.
212
213 2008-02-01  Geoff Norton  <gnorton@novell.com>
214
215         * carbonFunction.cs: More clipping fixes.  Include a variable to 
216         help debug future clipping problems by showing us the clipped mask.
217
218 2008-02-01  Geoff Norton  <gnorton@novell.com>
219
220         * carbonFunctions.cs: Ensure we save/restore the GState before
221         modifying the clipping path as QD contexts can be reused.
222
223 2008-02-01  Geoff Norton  <gnorton@novell.com>
224
225         * carbonFunction.cs:  Rework the clipping interaction with 
226         CoreGraphics.  Our old method was buggy in certain cases causing
227         improper / inefficient clip handling.
228
229 2008-01-23  Geoff Norton  <gnorton@novell.com>
230
231         * carbonFunction.cs:  Remove some debug code.  Thanks spouliot.
232
233 2008-01-23  Geoff Norton  <gnorton@novell.com>
234
235         * carbonFunctions.cs: Dont crash when we have an orphaned handle.
236
237 2008-01-23  Geoff Norton  <gnorton@novell.com>
238
239         * carbonFunctions.cs: If we get a -ve size from carbon, swizzle to 
240         0 to prevent a OOM from cairo malloc.  Remove support for
241         GetCGContextForNSView as its deprecated and doesn't work.
242         * gdipFunctions.cs: Refactor the environment variable support out
243         and make the Carbon driver the default on a Mac.  Fix RunningOnUnix
244         to report true on the mac.
245         * Graphics.cs: Drop support for CocoaDrawable.
246
247 2008-01-21  Geoff Norton  <gnorton@novell.com>
248
249         * Graphics.cs: Support Graphics.FromHwnd (IntPtr.Zero) on X11
250         * carbonFunctions.cs: Support for Graphics.FromHwnd (IntPtr.Zero)
251         on Carbon
252         * gdipFunctions.cs: Add XDefaultScreen overload.
253
254 2008-01-13  Sebastien Pouliot  <sebastien@ximian.com>
255
256         * gdipEnums.cs: Remove Unit enum since there's a public version
257         (GraphicsUnit) for it.
258         * gdipFunctions.cs: Make GDIPlus class static for 2.0 and remove
259         new lines (both warnings from Gendarme). Stop using Unit enum.
260         * Pen.cs: Stop using Unit enum.
261
262 2008-01-08  Sebastien Pouliot  <sebastien@ximian.com>
263
264         * Font.cs: Fix GetHashCode to use the same values as Equals. Fix 
265         bug #351647
266
267 2007-12-19  Sebastien Pouliot  <sebastien@ximian.com>
268
269         * Graphics.cs: Fix Point/PointF typo in FromUnManagedMemoryToPoint.
270         Added a few space to make it easier to read those methods. Fix #349800
271
272 2007-12-16  Miguel de Icaza  <miguel@novell.com>
273
274         * Image.cs: Use the existing GdipPropertyItem.MarshalTo method to
275         conver the PropertyItem into a property item with Sequential
276         attached to it, and pass that to unmanaged code.   Fixes #349103.
277
278 2007-12-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
279
280         * Bitmap.jvm.cs: ArgumentException on unknown format from stream
281
282 2007-12-07  Geoff Norton  <gnorton@novell.com>
283
284         * Graphics.cs: Ensure that we Flush and Synchornize our CGContexts
285         before disposing.  Fixes drawing bugs when drawn out of the event
286         loop and the caller doesn't Flush.
287         * carbonFunctions.cs: Rework the cross-assembly data marshalling to
288         use a delegate as suggested by lupus.
289
290 2007-11-19  Sebastien Pouliot  <sebastien@ximian.com>
291
292         * ImageAnimator.cs: Check for FrameDimension.Time availability before
293         asking the frame count (since MS GDI+ prefers to return an error than
294         saying it has a single frame). Fix bug #342733
295
296 2007-11-15  Geoff Norton  <gnorton@novell.com>
297
298         * gdipFunctions.cs: Reflect the renamed environment variable in the new Carbon driver.
299         * Graphics.cs: Remove support for the deprecated Cocoa driver until its fixed.
300
301 2007-11-12  Sebastien Pouliot  <sebastien@ximian.com>
302
303         * ColorTranslator.cs: Special case handling for LightGray versus 
304         HTML's LightGrey. Fix bug #340917.
305
306 2007-11-07  Geoff Norton  <gnorton@novell.com>
307
308         * carbonFunctions.cs: 
309         * Graphics.cs: Use QDBeginCGContext / QDEndCGContext to leverage OS caching
310         of CGContexts when possible.  If we are still using the context returned by
311         QDBeginCGContext, then create a new CGContext for this graphics object.
312
313 2007-11-07  Geoff Norton  <gnorton@novell.com>
314
315         * carbonFunctions.cs: 
316         * Graphics.cs: QDBeginCGContext does not support nested calls.
317         We need to ref count our context but this will have clipping/CTM collisions
318         Support old-style context creation as well.
319
320 2007-11-07  Geoff Norton  <gnorton@novell.com>
321
322         * carbonFunctions.cs: Code cleanup and refactor to use 
323         QDBeginCGContext/QDEndCGContext
324         * Graphics.cs: Refactor to use QDBeginCGContext/QDEndCGContext
325         rather than the deprecated CreateCGContextForPort.  This has the added
326         benefit of the QD system caching CGContexts for us as well.
327
328 2007-11-07  Geoff Norton  <gnorton@novell.com>
329
330         * carbonFunctions.cs: Add CFRelease prototype.
331         * Graphics.cs: When we're disposing the graphics context clean up the
332         CGContext that we've created for it.
333
334 2007-11-06  Sebastien Pouliot  <sebastien@ximian.com>
335
336         * Bitmap.cs: Add a private, parameter-less, ctor for Bitmap so XML
337         serialization is possible under 2.0 (fix for #323246).
338
339 2007-11-05  Sebastien Pouliot  <sebastien@ximian.com>
340
341         * gdipFunctions.cs: Add a bool parameter to GdiPlusStreamHelper ctor
342         to move, or not, the stream position to load/save images.
343         * Image.cs: Stream position is moved to 0 when loading images from 
344         stream but isn't moved for saving an image to a stream. Fix part of
345         #338779 (except that Image.FromFile behave differently for metafiles)
346
347 2007-11-05  Sebastien Pouliot  <sebastien@ximian.com> 
348
349         * gdipFunctions.cs: Stream position shouldn't be changed when 
350         loading images (bug #338779).
351         * Pen.cs: Add a [MonoLimitation] to Pen's Alignment property so that
352         the next version of MoMA will report it as not-implemented in 
353         libgdiplus (but it works under Windows, i.e. MS GDI+). #338985
354
355 2007-11-01  Geoff Norton  <gnorton@novell.com>
356
357         * carbonFunctions.cs:  Initiali implementation of clipping Z-order masking
358         siblings from the context
359
360 2007-10-31  Sebastien Pouliot  <sebastien@ximian.com>
361
362         * ImageAnimator.cs: Fix delay == 0 to match most browser (imaginative)
363         definitions of "0". Don't throw on null images. Synchronize hashtable.
364         Remove unrequired loops.
365
366 2007-10-17  Geoff Norton  <gnorton@novell.com>
367
368         * Graphics.cs: Only synchronize the display on Flush when we actually have
369         a CGContext
370
371 2007-10-17  Geoff Norton  <gnorton@novell.com>
372
373         * carbonFunctions.cs: Initial support for clipping children out of the
374         CGContext before drawing on it.
375
376 2007-10-09  Geoff Norton  <gnorton@novell.com>
377
378         * carbonFunctions.cs: Correct the P/Invoke definition for CGContext*CTM.
379
380 2007-09-26  Ivan N.Zlatev <contact@i-nz.net>
381
382         * ColorConverter.cs: During conversion to InstanceDescriptor check
383         both IsSystemColor to get a PropertyInfo from type SystemColors 
384         and IsKnownColor to get PropertyInfo from type Color.
385
386 2007-08-09  Vladimir Krasnov  <vladimirk@mainsoft.com>
387
388         * ColorTranslator.cs: optimized Html color formatting in ToHtml method
389
390 2007-08-13  Sebastien Pouliot  <sebastien@ximian.com>
391
392         * gdipFunctions.cs: Change GdipMeasureString definition to use unsafe
393         pointers. 
394         * Graphics.cs: Rework MeasureString not to supply integers (characters
395         and lines) as they aren't required for most of it's overloads and 
396         requires extra code/time to calculate inside libgdiplus. Also fix a 
397         possible NRE in MultiplyTransform.
398
399 2007-08-01  Sebastien Pouliot  <sebastien@ximian.com>
400
401         * gdipFunctions.cs: Added definition for GdipCloneFontFamily
402
403 2007-08-01  Vladimir Krasnov  <vladimirk@mainsoft.com>
404
405         * Bitmap.jvm.cs: fixed InternalPixelFormat TYPE_BYTE_GRAY
406
407 2007-05-30  Sebastien Pouliot  <sebastien@ximian.com>
408
409         * Graphics.cs: Refactor [Get|Release]Hdc to get ReleaseHdcInternal
410         working (as long as the HDC comes from GetHdc).
411
412 2007-05-21  Adar Wesley <adarw@mainsoft.com>
413
414         * Graphics.jvm.cs
415         * Pen.jvm.cs
416         * Region.jvm.cs: Changed MemberwiseClone to clone.
417  
418 2007-05-21  Adar Wesley <adarw@mainsoft.com>
419
420         * Font.jvm.cs: added implementation for Equals and GetHashCode.
421
422         * Graphics.jvm.cs: added missing DrawImage overloads, 
423         DrawImageUnscaledAndClipped.
424
425 2007-05-18  Sebastien Pouliot  <sebastien@ximian.com>
426
427         * Icon.cs: Always open icon files as read only. Fix #81669.
428
429 2007-05-15  Sebastien Pouliot  <sebastien@ximian.com>
430
431         * Graphics.cs: Fix DrawImageUnscaled for empty (width or height <= 0)
432         Fix NRE in DrawImageUnscaledAndClipped. Remove lines with only tabs in
433         them.
434         * RectangleF.cs: A rectangle with a negative width or height is also
435         empty.
436
437 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
438
439         * FontConverter.cs: for TARGET_JVM destructor is not used.
440
441 2007-05-03 Igor Zelmanovich <igorz@mainsoft.com>
442
443         * ColorConverter.cs: fixed GetStandardValues() for TARGET_JVM
444         * Font.jvm.cs: fixed GetHeight()        
445
446 2007-05-02  Sebastien Pouliot  <sebastien@ximian.com>
447
448         * gdipEnums.cs: Add GetSysColorIndex
449         * gdipStructs.cs: Remove GetSysColorIndex (it's an enum)
450         * KnownColors.cs: Fix Windows desktop colors as GetSysColor returns
451         values in BGR (not RGB).
452
453 2007-05-01  Sebastien Pouliot  <sebastien@ximian.com>
454
455         * KnownColors.cs: Force alpha values (opaque) on Win32's GetSysColor.
456
457 2007-04-30  Sebastien Pouliot  <sebastien@ximian.com>
458
459         * Color.cs: Reflection didn't like the change from int to uint (thanks
460         to Gert for noticing again :-).
461
462 2007-04-29  Konstantin Triger  <kostat@mainsoft.com>
463
464         * Color.cs: FromName - do not throw on unknown color.
465
466 2007-04-26  Sebastien Pouliot  <sebastien@ximian.com>
467
468         * Color.cs: Try to avoid calling GetName in GetHashCode when the color
469         isn't named. Commented code (#81465) to remove the string name member 
470         for the 2.0 profile (to avoid a reference in a struct).
471         * ColorConverter.cs: Use the new KnownColor static uint array.
472         * ColorTranslator.cs: Share code between From[Win32|Ole] (both BGR).
473         Reduce ToHtml switch size (when html name == known color name).
474         * KnownColors.cs: Remove the array of struct for every known colors.
475         Add an array of uint with color values and a method to return the name
476         of a known color. Big reduction of the static ctor code size.
477
478 2007-04-26  Sebastien Pouliot  <sebastien@ximian.com> 
479
480         * gdipFunctions.cs: Add p/invoke definitions for GdipRecordMetafile
481         FromDelegate[I]_linux.
482
483 2007-04-26  Sebastien Pouliot  <sebastien@ximian.com>
484
485         * gdipFunctions.cs: Add p/invoke definitions for GdipRecordMetafile
486         [FileName|FromStream][I].
487
488 2007-04-16  Sebastien Pouliot  <sebastien@ximian.com>
489
490         * Bitmap.cs: Add check in SetPixel for Format16bppGrayScale (but 
491         without requiring a second unmanaged call on each SetPixel call).
492
493 2007-04-13  Sebastien Pouliot  <sebastien@ximian.com>
494
495         * Brush.cs: Ensure we're zeroing the handle before calling 
496         CheckStatus. Some clean up.
497         * Pen.cs: Ensure we're zeroing the handle before calling CheckStatus.
498         Use Locale.GetText for exceptions.
499
500 2007-04-11  Sebastien Pouliot  <sebastien@ximian.com>
501
502         * Bitmap.cs: Move LockBits validations into unmanaged code.
503         * gdipFunctions.cs: Add mapping for Win32Error in CheckStatus. Add
504         globalization support for CheckStatus and add the GDI+ status code in
505         the error message.
506         * SolidBrush.cs: Clean up and add comments about [un]named colors.
507
508 2007-04-09  Sebastien Pouliot  <sebastien@ximian.com>
509
510         * Color.cs: Remove duplicate check in == and add better comments
511
512 2007-04-09  Sebastien Pouliot  <sebastien@ximian.com> 
513
514         * Color.cs: Remove hashtables and locks. All color properties are read
515         from KnownColors. Remove extra & 0xFF (typecast to byte is enough).
516         Keep track of the Name property once calculated. When possible (most
517         likely case) don't create the names (strings) in Equals, == and !=
518         * ColorTranslator.cs: Use the new KnownColors instead of the separate
519         NamedColors and SystemColors.
520         * ColorConverter.cs: Use the new KnownColors instead of the separate
521         NamedColors and SystemColors.
522         * gdipFunctions.cs: Moved GetSysColor p/invoke signature here as this
523         class is marked by [SuppressUnmanagedCodeSecurity].
524         * gdipStructs.cs: Moved Windows-specific GetSysColorIndex enum here.
525         * KnownColors.cs: New. Single source for all colors.
526         * SystemColors.cs: Vastly simplified. All color properties are read
527         from KnownColors.
528
529 2007-04-05  Sebastien Pouliot  <sebastien@ximian.com> 
530
531         * gdipFunctions.cs: Remove unused (and not part of GDI+) GdipGetHfont
532         method.
533
534 2007-04-02  Sebastien Pouliot  <sebastien@ximian.com>
535
536         * Pen.cs: Simplify. Caching the brush still involved too many 
537         unmanaged calls and was hiding libgdiplus bugs (e.g. 81266). Color is
538         still cached (a little less ;-) but needs to stay that way so we keep
539         the color names available (it's the expected behavior).
540
541 2007-03-20  Sebastien Pouliot  <sebastien@ximian.com>
542
543         * Graphics.cs: Replace TODO on all EnumerateMetafile overloads.
544
545 2007-03-19  Jonathan Pobst  <monkey@jpobst.com>
546
547         * Font.cs: Add a better exception for trying to create a font
548         where the requested style is not available.  [Fixes #81194]
549
550 2007-03-15  Sebastien Pouliot  <sebastien@ximian.com>
551
552         * ColorConverter.cs: Rewrite the hex color convertion to be more 
553         compatible with MS implementation (fixing NotWorking unit tests) and
554         more endian friendly.
555
556 2007-02-28  Sebastien Pouliot  <sebastien@ximian.com>
557
558         * Font.cs: Remove internal SysFontName setter property and add a new
559         ctor to replace it.
560         * SystemFonts.cs: We can't cache font instance (because anyone can
561         dispose them) so we must return new instances each time.
562
563 2007-02-27  Sebastien Pouliot  <sebastien@ximian.com>
564
565         * Bitmap.cs: Removed unrequired ctors.
566         * TextureBrush.cs: Change which GDI+ calls is used to create the 
567         brush (to better match what you expect from libgdiplus source). Add
568         [MonoLimitation] to ctors accepting ImageAttributes (not supported
569         by libgdiplus). Split some long lines into two lines.
570
571 2007-02-26  Sebastien Pouliot  <sebastien@ximian.com>
572
573         * gdipFunctions.cs: Add p/invoke signature for GDI DeleteObject.
574         * Region.cs: Under Windows use DeleteObject when calling ReleaseHrgn.
575         Fix bug #80956.
576
577 2007-02-21  Sebastien Pouliot  <sebastien@ximian.com>
578
579         * Image.cs: Fix Metefile.ctor usage (to avoid creating, and leaking,
580         an unmanaged metafile object);
581
582 2007-02-16  Sebastien Pouliot  <sebastien@ximian.com>
583
584         * gdipFunctions.cs: Fix some p/invoke definitions (int versus uint) 
585         and add more for metafile functions.
586         * Image.cs: Fix usage of corrected p/invoke signatures.
587
588 2007-02-14  Jonathan Pobst  <monkey@jpobst.com>
589
590         * SystemColors.cs: Query Windows for the colors added to this class
591         for 2.0.  (Windows-only path of course.)
592
593 2007-02-13  Sebastien Pouliot  <sebastien@ximian.com>
594
595         * Icon.cs: Ignore Vista 256x256 icons, just like MS does.
596
597 2007-02-09  Sebastien Pouliot  <sebastien@ximian.com>
598
599         * Icon.cs: Resurrected some old Icon to Bitmap code from SVN history
600         to handle convertion for Win32, where MS GDI+ ICO codec doesn't 
601         support all the icon formats supported by the Icon class.
602
603 2007-02-08  Sebastien Pouliot  <sebastien@ximian.com>
604
605         * Bitmap.cs: Adapt code wrt Image changes. Reuse the serialization 
606         ctor from Image to avoid duplicate code.
607         * gdipEnums.cs: Added ImageType. Clean up extra stuff.
608         * gdipFunctions.cs: Added GdipGetImageType and some metafile 
609         definitions.
610         * Image.cs: Refactor code not to create a Bitmap for every images
611         (e.g. FromFile, FromStream) as the result can also be a Metafile.
612
613 2007-01-30  Sebastien Pouliot  <sebastien@ximian.com>
614
615         * Image.cs: Fix serialization of Image/Bitmap that contains ICO. In 
616         this case the image is serialized as a PNG bitmap (note: the ICO codec
617         is a decoder-only codec).
618
619 2007-01-19  Sebastien Pouliot  <sebastien@ximian.com> 
620
621         * Graphics.cs: Fix FromImage to check for indexed images inside
622         managed code (and not GDI+ which will report the wrong error code
623         for the exception we expect).
624         * Image.cs: Remove unused private method IsIndexedPixelFormat.
625
626 2007-01-19  Sebastien Pouliot  <sebastien@ximian.com>
627
628         * Font.cs: Fix calls to GDIPlus.ReleaseDC (missing parameter). This
629         fix the GDI object leaks under Win32 (#80552).
630         * gdipFunctions.cs: Fix ReleaseDC signature (missing hWnd).
631         * Graphics.cs: Fix ReleaseDC signature (missing hWnd) in NET_2_0.
632
633 2007-01-19  Sebastien Pouliot  <sebastien@ximian.com>
634
635         * Font.cs: Under Win32 cache the LOGFONT we use to create the HFONT
636         handle. This "hides" the fact that ToLogFont leaks (#80552).
637
638 2007-01-17  Sebastien Pouliot  <sebastien@ximian.com> 
639
640         * gdipFunctions.cs: Added Win32 CreateIconIndirect and DestoryIcon
641         imports. Both are required under Win32 to get HICON stuff working.
642         Added some GDI+ Metafile related definitions too.
643         * gdipStructs.cs: Update IconInfo structure so it can be used when
644         calling CreateIconIndirect on Win32.
645         * Icon.cs: Add support for handles under Win32.
646
647 2007-01-16  Sebastien Pouliot  <sebastien@ximian.com> 
648
649         * Icon.cs: Implement saving an icon from it's bitmap representation.
650         This allows roundtripped icons (Handle or HICON) to be saved.
651
652 2007-01-15  Sebastien Pouliot  <sebastien@ximian.com>
653
654         * Icon.cs: Refactor Save code to allow saving a single icon size.
655         This allows ToBitmap to produce the right (sized) bitmap wrt the
656         selected icon size. Fix #80509 under UNIX.
657
658 2007-01-15  Sebastien Pouliot  <sebastien@ximian.com> 
659
660         * Bitmap.cs: Make sure we're not building bitmaps using stream that
661         can be disposed (as GDI+ may require access to them anytime);
662         * Icon.cs: Change icon selection to match either width *or* height.
663         * Image.cs: Track user versus internal streams in InitFromStream
664
665 2007-01-12  Sebastien Pouliot  <sebastien@ximian.com>
666
667         * Graphics.cs: Change DrawIcon* methods to use the internal bitmap
668         we keep for the Icon. This is required to let HICON support work with 
669         libgdiplus (and should be faster than creating a new bitmap each time)
670         * Icon.cs: Fix ctor exceptions. Select the correct icon when multiple
671         size are available (and do not match the requested size). Fix handle
672         support for work under UNIX (Win32 support still missing). Keep an
673         internal bitmap for the Icon to use for HICON support.
674
675 2007-01-11  Sebastien Pouliot  <sebastien@ximian.com>
676
677         * Icon.cs: Fix .ctor(string) to load, when available, the 32x32 icon.
678         Remove TARGET_JVM from file (Mainsoft now use Icon2.jvm.cs). Use GDI+
679         to implement ToBitmap method (previous results were wrong).
680
681 2007-01-10  Sebastien Pouliot  <sebastien@ximian.com>
682
683         * Image.cs: Fix Palette to call into GDI+ even for non-indexed images.
684         This case can occurs with the ICOn codec where the returned image is a
685         32bpp ARGB bitmap *with* a palette.
686
687 2007-01-09  Sebastien Pouliot  <sebastien@ximian.com>
688
689         * Font.cs: Unify platform detection code.
690         * gdipFunctions.cs: Unify platform detection code.
691         * Graphics.cs: Unify platform detection code.
692         * Image.cs: Unify platform detection code.
693         * SystemColors.cs: Unify platform detection code.
694
695 2007-01-08  Sebastien Pouliot  <sebastien@ximian.com>
696
697         * gdipStructs.cs: Add support for SignaturePatterns and 
698         SiggnatureMasks values.
699
700 2006-12-30  Alexander Olk  <alex.olk@googlemail.com>
701
702         * gdipFunctions.cs: Don't create "millions" of byte arrays in
703         GdiPlusStreamHelper. Just create a default size array and resize it
704         only when needed. (as an example: the FileDialog sample created more
705         than 1700 new byte arrays on my system before the patch, now only 74)
706
707 2006-12-29  Gert Driesen  <drieseng@users.sourceforge.net>
708
709         * Brush.cs: Fixed line endings.
710         * BufferedGraphicsContext.cs: Fixed line endings.
711         * CharacterRange.cs: Fixed line endings.
712         * Graphics.cs: Fixed line endings.
713         * IDeviceContext.cs: Fixed line endings.
714         * SizeFConverter.cs: Fixed line endings.
715         * SystemBrushes.cs: Fixed line endings.
716         * SystemFonts.cs: Fixed line endings.
717         * SystemPens.cs: Fixed line endings.
718
719 2006-12-22  Sebastien Pouliot  <sebastien@ximian.com>
720
721         * Graphics.cs: Splitted CopyFromScreen into platform specific methods
722         and added MonoLimitations to all overloads. This should get better 
723         results from MoMA.
724
725 2006-12-19  Sebastien Pouliot  <sebastien@ximian.com> 
726
727         * FontFamily.cs: More accurate Mono* attributes to avoid confusion.
728         * Icon.cs: Dummy implementation of ExtractAssociatedIcon to always 
729         return SystemIcons.WinLogo (which is better than throwing an NIE).
730         Updated MonoTODO, to a MonoLimitation, to reflect the change.
731
732 2006-12-14  Sebastien Pouliot  <sebastien@ximian.com>
733
734         * Image.cs: Rework Clone so it doesn't confuse MoMA to report a NIE.
735         Cloning works for bitmap. Metafiles aren't (actually) supported.
736
737 2006-12-07  Sebastien Pouliot  <sebastien@ximian.com>
738
739         * Icon.cs: Revert a change from r68882. The type is also part of the 
740         icon's name. Fix bug #80181.
741
742 2006-12-03  Sebastien Pouliot  <sebastien@ximian.com>
743
744         * Icon.cs: Add a new ctor that returns undisposable Icon instances 
745         (required when used from SystemIcons). Added a dispose check in 
746         ToBitmap (many other are missing).
747         * SystemIcons.cs: Change icons to the one already in SVN.
748
749 2006-12-02  Sebastien Pouliot  <sebastien@ximian.com>
750
751         * FontConverter.cs: Add a comment why the empty finalizer is required.
752         * gdipFunctions.cs: Remove warning from build (unused variable).
753         * Icon.cs: Fix .ctor accepting a type - the type is to find the 
754         assembly, not the type of the ressource.
755         * SystemIcons.cs: Load some icons from the assembly (all the same Mono
756         icon for tonight).
757
758 2006-11-22  Sebastien Pouliot  <sebastien@ximian.com>
759
760         * BufferedGraphicsContext.cs: Better MonoTODO.
761         * BufferedGraphics.cs: Better MonoTODO.
762         * Font.cs: Better MonoTODO.
763         * FontFamily.cs: Better MonoTODO.
764         * Graphics.cs: Better MonoTODO.
765         * Icon.cs: Better MonoTODO.
766         * Image.cs: Second chance while saving using the current RawFormat.
767         This allows icons to be saved as PNG (strange but look at unit tests).
768         * ImageFormatConverter.cs: Implement GetStandardValues (and remove
769         it's MonoTODO) and fix GetStandardValuesSupported (to return true).
770         * Region.cs: Implement ReleaseHrgn (2.0) - not really useful (as the
771         handle is never exposed) but it's easier than to document the TODO ;-)
772         * SystemIcons.cs: Better MonoTODO.
773
774 2006-11-06  Sebastien Pouliot  <sebastien@ximian.com>
775
776         * RectangleF.cs: Fix operator !=. Patch by Manuel Alejandro Cerón 
777         Estrada.
778
779 2006-11-04  Chris Toshok  <toshok@ximian.com>
780
781         * SystemColors.cs: reassign the given color to the return value of
782         UpdateKnownColor.  This makes sure that the color has the same
783         SystemColor name.  So, SystemColors.Control.Name always equals
784         "Control", regardless of the values the theme has stuffed in it.
785
786         * Color.cs: UpdateKnownColor now returns the new color.
787
788 2006-10-11  Sebastien Pouliot  <sebastien@ximian.com>
789
790         * Graphics.cs: In MeasureCharacterRanges throw an ArgumentException if
791         StringFormat is null and return an empty region array if no range exists 
792         (avoid GDI+ error/exeception). In MeasureString (2 overloads) replace 
793         999999 by Int32.MaxValue (now that the real bug is fixed).
794         * StringFormat.cs: Ensure we are clearing the handle before throwing
795         any exception.
796
797 2006-09-21  Sebastien Pouliot  <sebastien@ximian.com>
798
799         * gdipFunctions.cs: Throw an OverflowException for the ValueOverflow
800         Status code.
801
802 2006-09-21 Jordi Mas i Hernandez <jordimash@gmail.com>
803
804         * gdipFunctions.cs, Image.cs: 78315. Probably in the future we should
805         add the same checking for other resource release GDI API calls.
806         
807 2006-09-19  Sebastien Pouliot  <sebastien@ximian.com>
808
809         * StringFormat.cs: Add missing validations.
810
811 2006-09-18  Sebastien Pouliot  <sebastien@ximian.com> 
812
813         * Graphics.cs: Add missing validations to MeasureCharacterRanges.
814
815 2006-09-18  Sebastien Pouliot  <sebastien@ximian.com>
816
817         * Graphics.cs: Reorder instructions in MeasureString methods to avoid
818         allocations before checking for quick exit case (null/String.Empty 
819         text or throwing execptions).
820
821 2006-09-11  Sebastien Pouliot  <sebastien@ximian.com>
822
823         * ImageConverter.cs: Fixed ConvertTo to deal with null values (#79331)
824         and not to "return new NotSupportedException", throwing them is better
825
826 2006-09-07  Kornél Pál  <kornelpal@gmail.com>
827
828         * ComIStreamMarshaler.cs: ManagedToNativeWrapper: Dispose COM vtable
829           on shutdown. Dispose unmanaged resources when constructor fails.
830
831 2006-09-06  Kornél Pál  <kornelpal@gmail.com>
832
833         * ComIStreamMarshaler.cs: ManagedToNativeWrapper should not have a
834           destructor because it is freed using Release. (Proper fix for bug
835           #78315.) Free COM vtable when unloading and all objects Released.
836
837 2006-09-06  Jonathan Chambers  <joncham@gmail.com> 
838
839         * ComIStreamMarshaler.cs: Only deallocate memory
840         for COM wrapper if not shutting down. #78315
841         
842 2006-09-04  Jonathan Chambers  <joncham@gmail.com> 
843
844         * ComIStreamMarshaler.cs: Do not deallocate unmanaged memory
845         allocated for vtable. If this finalizer runs before all clients
846         are done with it (Image(s) in this case) we crash on windows. #78315
847         
848 2006-09-01  Sebastien Pouliot  <sebastien@ximian.com>
849
850         * Bitmap.cs: Fix exceptions for LockBits.
851
852 2006-08-28  Sebastien Pouliot  <sebastien@ximian.com>
853
854         * ImageAnimator.cs: Remove catch/throw in WorkerThread (it hides the
855         original exception). Found with Gendarme.
856         * Color.cs: Remove the double-check lock. Found with Gendarme.
857         * ColorConverter.cs: Remove the double-check lock. Found with Gendarme
858
859 2006-08-28  Jonathan Chambers  <joncham@gmail.com> 
860
861         * ComIStreamMarshaler.cs: Do not free memory allocated for
862         Com Callable Wrapper for stream. When Image created from stream
863         is destroyed, it calls Release on CCW interface. Somehow we seem
864         to be destroying Stream CCW before Image is destroyed. Fixes
865         crash on exit on Windows. #78315
866         
867 2006-08-28      Boris Kirzner   <borisk@mainsoft.com>
868
869         * SystemColors.jvm.cs: fix array size for NET_2_0
870
871 2006-08-27  Sebastien Pouliot  <sebastien@ximian.com>
872
873         * ColorConverter.cs: Catch the case where the integer part of the 
874         color doesn't fit into a 32bit integer.
875         * ColorTranslator.cs: Fixed Gendarme's UseStringEmptyRule on ToHtml 
876         method. Fixed string handling on FromHtml method. Fixed all parameter
877         names to match FX.
878
879 2006-08-25  Sebastien Pouliot  <sebastien@ximian.com> 
880
881         * gdipFunctions.cs: Change ColorMatrix to IntPtr in method 
882         GdipSetImageAttributesColorMatrix definition.
883         * FontConverter.cs: Fix compiler warnings.
884
885 2006-08-24  Sebastien Pouliot  <sebastien@ximian.com>
886
887         * TextureBrush.cs: Remove private Image member as we cannot, without
888         cloning it (which removes the advantage of caching it), return it for 
889         the Image property *and* we cannot dispose of it properly (Dispose 
890         isn't overridden).
891
892 2006-08-22  Sebastien Pouliot  <sebastien@ximian.com>
893
894         * gdipFunctions.cs: Fix GdipGetImageWidth to use an uint for it's
895         width out parameter.
896         * Image.cs: Cast the uint into an int for the Width property.
897
898 2006-08-12  Duncan Mak  <duncan@novell.com>
899
900         * gdipFunctions.cs (GdipLoadImageFromStream):
901         (GdipSaveImageToStream): Don't include these methods when
902         compiling the unit tests.
903
904 2006-08-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
905
906         * gdipFunctions.cs: return -1 when stream.Length throws.
907
908 2006-08-11  Sebastien Pouliot  <sebastien@ximian.com> 
909
910         * Font.cs: Remove the, now unrequired, FaceNameOffset field and
911         use the object size instead of the structure size when copying.
912
913 2006-08-11  Sebastien Pouliot  <sebastien@ximian.com>
914
915         * Font.cs: Added more checks to ToLogFont and fixed it's behaviour
916         to match MS boundary between GDI+ and SD.
917
918 2006-08-07  Andrew Skiba <andrews@mainsoft.com>
919
920         * Graphics.jvm.cs, Pen.jvm.cs, Region.jvm.cs: TARGET_JVM fix
921
922 2006-08-05  Sebastien Pouliot  <sebastien@ximian.com>
923
924         * Font.cs: Avoid double cast in Equals. Return lfCharSet as 1 in
925         ToLogFont even if GDI+ has that value to 0.
926
927 2006-08-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
928
929         * Icon.cs: when converting to Bitmap, handle the 24 bits separately.
930         Read the XOR and AND masks in a single read.
931
932 2006-08-04  Sebastien Pouliot  <sebastien@ximian.com>
933
934         * Pen.cs: Fix unit tests wrt libgdiplus return value change.
935
936 2006-08-03  Sebastien Pouliot  <sebastien@ximian.com>
937
938         * FontFamily.cs: Fix unit tests wrt libgdiplus return value change.
939         * Region.cs: Fix unit tests wrt libgdiplus return value change.
940
941 2006-08-01  Jonathan Chambers  <joncham@gmail.com>
942
943         * Font.cs: Fix marshalling of LOGFONT in ToHfont. 
944         Fixes #78939.
945         
946 2006-07-20  Sebastien Pouliot  <sebastien@ximian.com>
947
948         * Graphics: Added implementation for ReleaseHDC by Jonathan Pobst 
949         for NET_2_0 profile.
950
951 2006-07-06  Sebastien Pouliot  <sebastien@ximian.com>
952
953         * Image.cs: Ensure we're setting the nativeObject to NULL before 
954         throwing any exception while disposing (and avoid possible double
955         freeing). Avoid multiple casts in Clone method.
956         * Pen.cs: Ensure the internal pen's brush is always disposed 
957         correctly. Avoid making a reference to the internal brush.
958         * SolidBrush.cs: Avoid setting color when cloning the solid brush
959         as the .ctor(IntPtr) always does this job.
960
961 2006-07-04  Sebastien Pouliot  <sebastien@ximian.com>
962
963         * Image.cs: Made GetThumbnailImage throw OutOfMemoryException when
964         image size is invalid (to match MS behaviour), also ensure that the
965         Graphics instance is disposed even if CheckStatus throws an exception.
966
967 2006-06-26  Sebastien Pouliot  <sebastien@ximian.com>
968
969         * Pen.cs: Ensure we dispose of an existing brush before replacing it.
970         Avoid double-cast when dealing with SolidBrush.
971
972 2006-06-06  Sebastien Pouliot  <sebastien@ximian.com>
973
974         * gdipFunctions.cs: Fix API signature (missing pen pointer) for 
975         GdipIsOutlineVisiblePathPoint[I] methods.
976         * FontFamily.cs: Delay the call to refreshName until it is actually
977         required.
978
979 2006-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
980
981         * Color.cs: when deserializing from an MS generated stream, the value
982         for known colors was 0. These changes make our Color handle that case.
983         We won't serialize the name for known colors either, but the value will
984         be there, so we only check for a 0 value on a known color once.
985         Fixes bug #78265.
986
987 2006-05-30  Sebastien Pouliot  <sebastien@ximian.com> 
988
989         * Font.cs: Change default charset to 1. Ensure we always call the
990         CheckStatus method after calling GDI+. Added null checks to match MS
991         exception handling.
992         * FontFamily.cs: Avoid double-cast in Equals. Fixed Equals not compare
993         pointers but names. Simplify the Generic* static properties by reusing
994         the .ctor code. Fixed ToString to match MS output. Removed 
995         GetStyleCheck as it failed when multiple styles were provided (flags).
996         * gdipFunctions.cs: Convert Status.FontFamilyNotFound to an 
997         ArgumentException.
998
999 2006-05-29  Sebastien Pouliot  <sebastien@ximian.com> 
1000
1001         * ImageFormatConverter.cs: Changed ConvertFrom to work with both short
1002         (e.g. Bmp) and long (e.g. guid) names.
1003
1004 2006-05-26  Sebastien Pouliot  <sebastien@ximian.com> 
1005
1006         * ImageFormatConverter.cs: Fixing unit tests for ImageFormat 
1007         introduced a regression in the converter (not catched by other unit
1008         tests).
1009
1010 2006-05-25  Sebastien Pouliot  <sebastien@ximian.com> 
1011
1012         * gdipFunctions.cs: Added wrapper methods for GdipGetRegionHRgn and 
1013         GdipCreateRegionHrgn functions.
1014         * Region.cs: Reimplement GetHrgn and FromHrgn methods using the GDI+
1015         calls.
1016
1017 2006-05-24  Sebastien Pouliot  <sebastien@ximian.com> 
1018
1019         * PointConverter.cs: Fx 2.0 throws an ArgumentException in 
1020         CreateInstance if some values are missing from the dictionary, while
1021         1.x throws an NullReferenceException.
1022         * RectangleConverter.cs: Fx 2.0 throws an ArgumentException in 
1023         CreateInstance if some values are missing from the dictionary, while
1024         1.x throws an NullReferenceException.
1025         * SizeConverter.cs: Fx 2.0 throws an ArgumentException in 
1026         CreateInstance if some values are missing from the dictionary, while
1027         1.x throws an NullReferenceException.
1028         * SizeFConverter.cs: Fix CreateInstance to use float (not int).
1029
1030 2006-05-24  Sebastien Pouliot  <sebastien@ximian.com>
1031
1032         * Font.cs: Added a Demand for UnmanagedCode on both ToLogFont methods.
1033         * Graphics.cs: Added checks for null Rectangle[F] arrays in 
1034         FillRectangles methods and removed the check for 0-length (MS throws).
1035         Let EndContainer mthod throws a NullReferenceException on 1.x profile.
1036         * Pen.cs: Let Brush property throws a NullReferenceException on 1.x.
1037
1038 2006-05-24  Sebastien Pouliot  <sebastien@ximian.com> 
1039
1040         * Pen.cs: Clone the supplied brush in the .ctor (as the user may 
1041         dispose of it anytime). Make sure we're disposing our cached brush
1042         when disposing the pen.
1043
1044 2006-05-21  Sebastien Pouliot  <sebastien@ximian.com> 
1045
1046         * ContentAlignment.cs: Removed [Serializable] from 2.0 profile.
1047         * FontStyle.cs: Removed [Serializable] from 2.0 profile.
1048         * GraphicsUnit.cs: Removed [Serializable] from 2.0 profile.
1049         * KnownColor.cs: Removed [Serializable] from 2.0 profile.
1050         * RotateFlipType.cs: Removed [Serializable] from 2.0 profile.
1051         * StringAligment.cs: Removed [Serializable] from 2.0 profile.
1052         * StringDigitSubstitute.cs: Removed [Serializable] from 2.0 profile.
1053         * StringFormatFlags.cs: Removed [Serializable] from 2.0 profile.
1054         * StringTrimming.cs: Removed [Serializable] from 2.0 profile.
1055         * StringUnit.cs: Removed [Serializable] from 2.0 profile.
1056
1057 2006-05-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1058
1059         * ImageAnimator.cs: get the FrameDelay from the image properties, if
1060         available. Remove ^Ms.
1061
1062 2006-05-17  Sebastien Pouliot  <sebastien@ximian.com> 
1063
1064         * Pen.cs: Get the pen color from the solid brush (when applicable). 
1065         Added missing validations for most properties. Always return a clone 
1066         of the internal brush (so no one can dispose of it in our back).
1067
1068 2006-05-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1069
1070         * Color.cs: make it serialization-compatible with MS. Fixes bug #78265.
1071
1072 2006-05-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1073
1074         * Bitmap.cs: (Clone) use the 'format' argument instead of the
1075         PixelFormat.
1076
1077 2006-05-15  Atsushi Enomoto  <atsushi@ximian.com>
1078
1079         * Graphics.cs : (FillRectangles/FillRectanglesI): when argument
1080           array is empty, don't invoke GDI+. Fixed bug #78408.
1081
1082 2006-05-12  Sebastien Pouliot  <sebastien@ximian.com> 
1083
1084         * gdipFunctions.c: Fix misnamed GdipAdd*Path*String[I] API (#78383)
1085
1086 2006-05-11  Peter Dennis Bartok  <pbartok@novell.com>
1087
1088         * Icon.cs: Don't require width/height to be non-0 when creating from
1089           serialized data, just require them to be square
1090
1091 2006-05-04  Sebastien Pouliot  <sebastien@ximian.com> 
1092  
1093         * Graphics.cs: Chaned DrawIcon methods to dispose the temporary bitmap
1094         on it's drawn.
1095
1096 2006-05-04  Sebastien Pouliot  <sebastien@ximian.com>
1097
1098         * Graphics.cs: Added a MonoTODO to PixelOffsetMode property so it shows
1099         (in the class status library) a note that this isn't supported with 
1100         libgdiplus.
1101
1102 2006-05-02  Peter Dennis Bartok  <pbartok@novell.com>
1103
1104         * FontConverter.cs (ConvertFrom): Implemented it properly. Fixes #78269
1105
1106 2006-05-02  Sebastien Pouliot  <sebastien@ximian.com> 
1107
1108         * PointF.cs: Add operators + and - between PointF and SizeF in the
1109         2.0 profile (CSC 8.x can compile that, but sadly it doesn't show in as
1110         missing in corcompare results).
1111
1112 2006-05-02  Sebastien Pouliot  <sebastien@ximian.com>
1113
1114         * gdipFunctions.cs: Fixed wrappers for Gdip[Begin|End]Container[2][I]
1115         * Graphics.cs: Fixed usage of fixed API ;-) Added MonoTODO on 
1116         BeginContainer methods that use rectangles and on TextContrast property 
1117         (all aren't currently supported in libgdiplus).
1118
1119 2006-05-01  Sebastien Pouliot  <sebastien@ximian.com>
1120
1121         * Graphics.cs: Removed MonoTODO on DrawCurve methods (it's fixed in 
1122         libgdiplus). Fixed minor extra/missing for corcompare.
1123
1124 2006-05-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1125
1126         * SizeF.cs: serialization compatibility fixes. Closes bug #78236.
1127
1128 2006-04-30  Peter Dennis Bartok  <pbartok@novell.com>
1129
1130         * Icon.cs: Icon AND masks are organized in strides, fixed to calculate
1131           and set proper transparency. Also fixed broken calculation of AND
1132           size when reading the icon. NDocGui now shows pretty buttons.
1133
1134 2006-04-28  Sebastien Pouliot  <sebastien@ximian.com> 
1135
1136         * Color.cs: corcompare fix. Remove ComVisible attribute from 2.0 build
1137         * Region.cs: Remove old todo that were fixed in libgdiplus.
1138         * Image.cs: corcompare fixes. Clone isn't virtual. Added DefaultValue
1139         attribute to Tag property. FromStream(Stream,bool,bool) is available
1140         in Fx 1.1 (probably since SP1).
1141
1142 2006-04-28  Sebastien Pouliot  <sebastien@ximian.com>
1143
1144         * Graphics.cs: Added MonoTODO on some DrawCurve methods because 
1145         libgdiplus doesn't use the numberOfSegments argument.
1146
1147 2006-04-27  Sebastien Pouliot  <sebastien@ximian.com>
1148
1149         * gdipFunctions.cs: Added wrappers for GdipAddPathLine2 and 
1150         GdipAddPathLine2I methods (to allow adding a single point).
1151
1152 2006-04-27  Sebastien Pouliot  <sebastien@ximian.com> 
1153
1154         * gdipFunctions.cs: Added CharSet=CharSet.Unicode to GdipAddString and
1155         GdipAddStringI wrapper methods.
1156
1157 2006-04-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1158
1159         * Bitmap.cs: throw when the target pixel format differs from the one
1160         of the image and it's an indexed format. We were failing in UnlockBits
1161         before.
1162
1163 2006-04-25  Miguel de Icaza  <miguel@novell.com>
1164
1165         * FontConverter.cs (FontUnitConverter): implement.   CorCompare
1166         for some reason does not dig into nested classes, match the
1167         documentation. 
1168
1169         (FontNameConverter): Return the fonts available on the system. 
1170
1171 2006-04-25  Peter Dennis Bartok  <pbartok@novell.com>
1172
1173         * Icon.cs: We need to or, not and our alpha values into the
1174           palette. Also, we need to actually store the altered palette
1175           on the bitmap, since we are altering a copy.
1176
1177 2006-04-10  Sebastien Pouliot  <sebastien@ximian.com> 
1178
1179         * gdipFunctions.cs: Fixed wrappers for GdipCreateMatrix3[I].
1180
1181 2006-03-23  Peter Dennis Bartok  <pbartok@novell.com>
1182
1183         * gdipFunctions.cs: 
1184           - GdipGetFontCollectionFamilyList: No need for complicated 
1185             GlobalAlloc stuff, .Net marshals the IntPtr[] array just fine
1186           - GdipDeletePrivateFontCollection: We need to pass a ref to the
1187             structure. This was causing nasty crashes.
1188           - GdipGetFamilyName: Switched to use StringBuilder instead of
1189             manual marshalling
1190         * FontFamily.cs: Simplified the refreshName method, less error-prone now
1191
1192 2006-03-21  Sebastien Pouliot  <sebastien@ximian.com> 
1193  
1194         * Brush.cs: Remove unused code.
1195         * FontFamily.cs: Remove warnings from build.
1196         * gdipFunctions.cs: Add missing p/invoke calls for GdipAddString[I].
1197
1198 2006-03-21  Sebastien Pouliot  <sebastien@ximian.com>
1199
1200         * gdipFunctions.cs: Import XFree (from libX11) so we can free the 
1201         memory we allocate.
1202         * Graphics.cs: Free the memory we get from XGetVisualInfo.
1203
1204 2006-03-20  Sebastien Pouliot  <sebastien@ximian.com>
1205
1206         * Brush.cs: Allow Dispose to free the unmanaged memory for the brush
1207         in every case. This has been known (in the past) to cause crashes
1208         in Cairo. If still true then we need to find out why!
1209
1210 2006-03-09  Peter Dennis Bartok  <pbartok@novell.com>
1211
1212         * gdipFunctions.cs: Removed XCloseDisplay call from Gdi+ shutdown,
1213           it was causing crashes in the finalizers (bug #77464)
1214
1215 2006-03-06  Jonathan Gilbert  <logic@deltaq.org>
1216
1217         * gdipFunctions.cs: Rewrote the StreamSeekImpl function to invalidate
1218           the start_buf cached bytes whenever Seek() is actually called. If
1219           Seek is not called (an invalid 'whence' value), then the buffer is
1220           not invalidated. This fixes a bug with TIFF loading.
1221
1222 2006-03-02  Peter Dennis Bartok  <pbartok@novell.com>
1223
1224         * Image.cs (ISerializable.GetObjectData): Save the image in it's
1225           original format. (Fixes #77673)
1226
1227 2006-02-28  Jonathan Chambers  <jonathan.chambers@ansys.com>,
1228             Peter Dennis Bartok  <pbartok@novell.com>
1229
1230         * Font.cs:
1231           - ToLogFont: Reworked to allow running under MS runtime and to 
1232             support it being called with both boxed structs and formatted 
1233             classes  (MS runtime PtrToStructure cannot marshal boxed value
1234             types, but Marshal.AsAny can)
1235           - Switched all usage of LOGFONTA to more generic CharSet-driven 
1236             LOGFONT structure
1237           - FromLogFont: Switched to use charset-agnostic GdipCreateFontFromLogfont
1238         * gdipStructs.cs: Dropped LOGFONTA and LOGFONTW and switched to
1239           CharSet-driven LOGFONT structure (needed because of ToLogFont fix)
1240         * gdipFunctions.cs: Switched GdipGetLogFont, GdipCreateFontFromLogfont and
1241           CreateFontIndirect to use LOGFONT structure, set to be CharSet=Auto
1242           (needed because of ToLogFont fix)
1243
1244 2006-02-18  Duncan Mak  <duncan@novell.com>
1245
1246         * Graphics.cs (DrawBeziers): Patch from Alexander Olk to fix
1247         possible IndexOutOfRangeException.
1248
1249 2006-02-09  Peter Dennis Bartok  <pbartok@novell.com>
1250
1251         * Image.cs, Bitmap.cs: Removed unneeded casts
1252         * Icon.cs: Fixed code to be 64bit safe
1253
1254 2006-01-31 Jordi Mas i Hernandez <jordimash@gmail.com>
1255
1256         * Font.cs: Fixes 77407
1257
1258 2006-01-27  Sebastien Pouliot  <sebastien@ximian.com>
1259
1260         * Font.cs: Ensure unmanaged memory is free correctly in ToLogFont
1261         even if GDIPlus.CheckStatus throws an exception;
1262         * Image.cs: Ensure unmanaged memory is free correctly even if 
1263         GDIPlus.CheckStatus throws an exception. Note: the SetPropertyItem use
1264         case is unclear to me (and unimplemented in libgdiplus);
1265         * Region.cs: Ensure unmanaged memory is free correctly in 
1266         GetRegionScans even if GDIPlus.CheckStatus throws an exception;
1267
1268 2006-01-27 Jordi Mas i Hernandez <jordimash@gmail.com>
1269
1270         * gdipFunctions.cs: New gdiplus imports
1271         * Font.cs: Use gdiplus calls to get font height and size
1272
1273 2006-01-26  Sebastien Pouliot  <sebastien@ximian.com>
1274
1275         * FontFamily.cs: Free the memory allocated with Marshal.AllocHGlobal.
1276         * Region.cs: Updated TODO to reflect current status.
1277
1278 2006-01-24  Konstantin Triger <kostat@mainsoft.com>
1279
1280         * Font.jvm.cs, FontFamily.jvm.cs: use static container.
1281
1282 2006-01-19  Peter Dennis Bartok  <pbartok@novell.com>
1283
1284         * Icon.cs: The code wrongly assumed that the stride for the icon
1285           would be the same as the stride for the bitmap. This was causing
1286           memory corruption.
1287
1288 2006-01-18  Peter Dennis Bartok  <pbartok@novell.com>
1289
1290         * Icon.cs: Reworked ToBitmap() method to not use Bitmap(Stream)
1291           which when calling down to MS GDI+ will create an image
1292           where neither GetPixel or Save can be used on.
1293
1294 2006-01-18  Sebastien Pouliot  <sebastien@ximian.com>
1295
1296         * gdipFunctions.cs: Added declaration for GdipCreateRegionRgnData.
1297         * Region.cs: Implemented .ctor(RegionData)
1298
1299 2006-01-13  Miguel de Icaza  <miguel@novell.com>
1300
1301         * Region.cs: Revert the Region.cs check in GetHrgn as it was used
1302         by our Windows.Forms implementation.
1303
1304 2006-01-11  Sebastien Pouliot  <sebastien@ximian.com>
1305
1306         * Graphics.cs: Avoid creating bitmaps two times if both X and Y 
1307         default DPI are required (i.e. init both value in both cases).
1308         * Region.cs: Added null check to match MS behaviour (exception type)
1309         and avoid NRE (before CheckStatus is called). Added security demands
1310         for unmanaged code on both FromHrgn and ReleaseHrgn (2.0) methods.
1311
1312 2005-12-22  Jonathan Chambers <jonathan.chambers@ansys.com>
1313
1314         * gdipFunctions.cs: Do not call GdiplusShutdown for
1315         now as it causes a crash on MS GDI+.
1316
1317 2005-12-20  Konstantin Triger <kostat@mainsoft.com>
1318
1319         * Font.jvm.cs: charset support.
1320
1321 2005-12-19  Peter Dennis Bartok  <pbartok@novell.com>
1322
1323         * Graphics.cs (Flush): Make sure nativeObject is not null
1324
1325 2005-12-14  Konstantin Triger <kostat@mainsoft.com>
1326
1327         * StrokeFactory.jvm.cs: create AdvancedStroke when have penTransform.
1328
1329 2005-12-13  Konstantin Triger <kostat@mainsoft.com>
1330
1331         * Bitmap.jvm.cs: Fix MakeTransparent.
1332
1333 2005-12-07 Jordi Mas i Hernandez <jordimash@gmail.com>
1334
1335         * Graphics.cs: Add new deephs support to CopyFromScreen
1336
1337 2005-12-07 Jordi Mas i Hernandez <jordimash@gmail.com>
1338
1339         * BufferedGraphicsManager.cs: Fixes signature
1340
1341 2005-12-05  Peter Dennis Bartok  <pbartok@novell.com>
1342
1343         * Font.cs: 
1344           - Implemented FromLogFont
1345           - Implemented ToLogFont
1346           - Whitespace fixes
1347         * gdipFunctions.cs:
1348           - Added GdipGetLogFontW method
1349           - Specified charset for GdipGetLogFontA method
1350         * gdipStructs.cs: Added LOGFONTW structure
1351
1352 2005-12-05 Gert Driesen <drieseng@users.sourceforge.net>
1353
1354         * BufferedGraphics.cs: Removed duplicate class. Set eol-style to
1355         native.
1356         * BufferedGraphicsManager.cs: Removed duplicate class. Set eol-style
1357         to native.
1358
1359 2005-12-05 Jordi Mas i Hernandez <jordimash@gmail.com>
1360
1361         * gdipFunctions.cs: DllExports need it to implement 
1362           new Graphics.CopyFromScreen .Net 2.0 methods
1363         * IDeviceContext.cs: New .Net 2.0 interface
1364         * Color.cs: Fixes for new .Net 2.0 KnowColors
1365         * PointF.cs: New .Net 2.0 Add/Subtract methods
1366         * gdipStructs.cs: Structs need it for Graphics.CopyFromScreen
1367         * SystemBrushes.cs: New standard SystemBrushes for .Net 2.0
1368         * SizeF.cs: New .Net 2.0 Add/Subtract methods
1369         * FontConverter.cs: New .Net 2.0 fixes
1370         * SystemColors.cs: New standard SystemColors for .Net 2.0
1371         * SizeFConverter.cs: New .Net 2.0 class (based on SizeConverter)
1372         * CharacterRange.cs: : New .Net 2.0 methods
1373         * Size.cs: New .Net 2.0 Add/Subtract methods
1374         * SystemPens.cs: New standard SystemPens for .Net 2.0
1375         * Bitmap.cs: New .Net 2.0 methods
1376         * Region.cs: New .Net 2.0 methods
1377         * Brush.cs: New .Net 2.0 constructor
1378         * Icon.cs: New .Net 2.0 Constructors and methods
1379         * Point.cs: New .Net 2.0 Add/Subtract methods
1380         * BufferedGraphicsManager.cs: New .Net 2.0 class
1381         * Graphics.cs: New methods for .Net 2.0 and fixes
1382         * BufferedGraphics.cs: New .Net 2.0 class
1383         * Font.cs:  New .Net 2.0 properties
1384         * Image.cs: New .Net 2.0 tag property
1385         * KnownColor.cs: New .Net 2.0 know colors
1386         * CopyPixelOperation.cs: New .Net 2.0 enum
1387         * SystemFonts.cs: New .Net 2.0 class
1388         * BufferedGraphicsContext.cs: New .Net 2.0 class
1389
1390 2005-11-28 Konstantin Triger <kostat@mainsoft.com>
1391
1392         * SystemIcons.jvm.cs: refactoring.
1393
1394 2005-11-28 Konstantin Triger <kostat@mainsoft.com>
1395
1396         * Icon.cs: TARGET_JVM changes.
1397
1398 2005-11-17 Vladimir Krasnov <vladimirk@mainsoft.com>
1399
1400         * Image.jvm.cs: fixed Save, flush output stream
1401
1402 2005-11-17 Konstantin Triger <kostat@mainsoft.com>
1403
1404         * StrokeFactory.jvm.cs, Pen.jvm.cs, Graphics.jvm.cs: performance - use BasicStroke when possible.
1405
1406 2005-11-17 Vladimir Krasnov <vladimirk@mainsoft.com>
1407
1408         * ColorConverter.cs: fixed ConvertFrom, to be able
1409         to convert from three digit notation color (#abc)
1410
1411 2005-11-16 Konstantin Triger <kostat@mainsoft.com>
1412
1413         * Bitmap.jvm.cs: open a correct stream.
1414
1415 2005-11-16 Konstantin Triger <kostat@mainsoft.com>
1416
1417         * FontFamily.jvm.cs, Font.jvm.cs: throw exception if invalid params.
1418
1419 2005-11-16 Konstantin Triger <kostat@mainsoft.com>
1420
1421         * FontFamily.jvm.cs: fix for custom font collection
1422
1423 2005-11-14 Vladimir Krasnov <vladimirk@mainsoft.com>
1424
1425         * FontFamily.jvm.cs: fixed GetName
1426
1427 2005-11-14 Vladimir Krasnov <vladimirk@mainsoft.com>
1428
1429         * Bitmap.jvm.cs: fixed InternalSave() error handling
1430         * Image.jvm.cs: fixed Save() error handling
1431
1432 2005-11-13 Konstantin Triger <kostat@mainsoft.com>
1433
1434         * FontFamily.jvm.cs: Refactoring.
1435
1436 2005-11-13 Konstantin Triger <kostat@mainsoft.com>
1437
1438         * Font.jvm.cs: Refactoring.
1439
1440 2005-11-13 Konstantin Triger <kostat@mainsoft.com>
1441
1442         * StringFormat.jvm.cs, Graphics.jvm.cs: DrawString,
1443                 MeasureString support
1444
1445 2005-11-13 Konstantin Triger <kostat@mainsoft.com>
1446
1447         * FontFamily.jvm.cs: correctly initialize fontcollection
1448
1449 2005-11-13 Konstantin Triger <kostat@mainsoft.com>
1450
1451         * FontFamily.jvm.cs: DrawMargin, refactoring.
1452
1453 2005-11-13 Konstantin Triger <kostat@mainsoft.com>
1454
1455         * Graphics.jvm.cs, Pen.jvm.cs, AdvancedStroke.jvm.cs:
1456                 Differentiate standard and AntiAlias stroking
1457
1458 2005-11-10 Vladimir Krasnov <vladimirk@mainsoft.com>
1459
1460         * Graphics.jvm.cs: added UnitConversion property
1461         * FontFamily.jvm.cs: refactoring
1462         * Font.jvm.cs: refactoring
1463
1464 2005-11-03  Peter Dennis Bartok  <pbartok@novell.com>
1465
1466         * Font.cs: 
1467           - Implemented serialization constructor
1468           - Implemented GetObjectData()
1469
1470 2005-11-01 Vladimir Krasnov <vladimirk@mainsoft.com>
1471
1472         * StringFormat.jvm.cs: Refactoring
1473
1474 2005-10-31 Jordi Mas i Hernandez <jordi@ximian.com> 
1475
1476         * Image.cs: Default format for MemoryBMP should be Png
1477
1478 2005-10-27 Vladimir Krasnov <vladimirk@mainsoft.com>
1479
1480         * Bitmap.jvm.cs: fixed InternalSave
1481         * Image.jvm.cs: fixed Save
1482
1483 2005-10-27 Vladimir Krasnov <vladimirk@mainsoft.com>
1484
1485         * Image.jvm.cs: fixed redolution properties
1486
1487 2005-10-27 Vladimir Krasnov <vladimirk@mainsoft.com>
1488
1489         * Bitmap.jvm.cs: fixed InternalSave, to remove alpha channel of saved jpeg
1490         fixed clone, Initialize
1491
1492 2005-10-24  Peter Dennis Bartok  <pbartok@novell.com>
1493
1494         * Brush.cs: Don't delete the brush if the display handle is no longer
1495           valid, otherwise cairo will try to use the handle and crash and burn
1496
1497 2005-10-23 Vladimir Krasnov <vladimirk@mainsoft.com>
1498
1499         * Graphics.jvm.cs: DrawImage refactoring
1500
1501 2005-10-23 Vladimir Krasnov <vladimirk@mainsoft.com>
1502
1503         * Graphics.jvm.cs: Clipping refactoring
1504         fixed FillScaledShape, DrawShape, MeasureDraw, BeginContainer, 
1505         ExcludeClip, IntersectClip, ResetClip, CombineClipArea, RestoreBaseClip,
1506         TranslateClip, VisibleClipBounds
1507
1508 2005-10-21  Miguel de Icaza  <miguel@novell.com>
1509
1510         * Pen.cs: Add support for returning the Brush from Pens created
1511         with a color constructor.
1512
1513         Plus: code style police, else does not go on its own line.
1514
1515         * Graphics.cs: Add various ArgumentNull checks.
1516
1517 2005-10-20 Konstantin Triger <kostat@mainsoft.com>
1518
1519         * Image.jvm.cs: make Clone abstract
1520
1521 2005-10-20 Konstantin Triger <kostat@mainsoft.com>
1522
1523         * Font.jvm.cs: make fallbacks for GdiCharSet, GdiVerticalFont
1524
1525 2005-10-19 Vladimir Krasnov <vladimirk@mainsoft.com>
1526
1527         * Bitmap.jvm.cs: fixed InternalSave, ToBufferedImageFormat, Clone
1528         * PlainImage.jvm.cs: fixed Clone
1529         * Graphics.jvm.cs: fixed FillShape, Clear, FillScaledShape
1530
1531 2005-10-19 Vladimir Krasnov <vladimirk@mainsoft.com>
1532
1533         * Brush.jvm.cs: added InternalClone() method
1534         changed transformation methods access level
1535         * TextureBrush.jvm.cs: refactoring, fixed clone()
1536
1537 2005-10-19 Vladimir Krasnov <vladimirk@mainsoft.com>
1538
1539         * AdvancedStroke.jvm.cs: fixed createStrokedShape, check for transform 
1540         matrix singularity added
1541         * Font.jvm.cs: implemetated ISerializable
1542         * Pen.jvm.cs: fixed DashPattern property, 
1543         fixed GetNativeObject() dash pattern calculation
1544
1545 2005-10-14 Jordi Mas i Hernandez <jordi@ximian.com> 
1546
1547         * SystemColors.cs: Fixes the Win32 light and lightlight colours
1548
1549 2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com> 
1550
1551         * SystemColors.cs: Fixes the Win32 system colors including the color
1552         name and the knownColor properties.
1553
1554 2005-10-07  Peter Dennis Bartok  <pbartok@novell.com>
1555
1556         * FontFamily.cs: Use Marshal.PtrToStringUni to do the string
1557           conversion, it's less overhead than StringBuilder. (Part of the
1558           bugfix for #74871 and #75534)
1559
1560         * gdipFunctions: Changed signature for GdipGetFamilyName to just
1561           have an IntPtr for the buffer
1562
1563 2005-10-04  Peter Dennis Bartok  <pbartok@novell.com> 
1564
1565         * Graphics.cs, FontFamily.cs: Calling GC.SuppressFinalize from Dispose,
1566           fixes bug #76329
1567
1568 2005-09-29  Peter Dennis Bartok  <pbartok@novell.com> 
1569
1570         * SystemColor.cs: Added code used to generate properties, updated with
1571           Windows XP colors
1572
1573 2005-09-29  Peter Dennis Bartok  <pbartok@novell.com>
1574
1575         * SystemColor.cs: Make internal names predictable to allow scripted
1576           generation of color table
1577
1578 2005-09-28  Peter Dennis Bartok  <pbartok@novell.com>
1579
1580         * Color.cs(UpdateKnownColor): Ensure knownColors exists before trying
1581           to update it.
1582
1583 2005-09-27  Peter Dennis Bartok  <pbartok@novell.com>
1584
1585         * SystemColor.cs: 
1586           - Changed properties to return colors from fields. This allows 
1587             updating the colors via reflection, for example from MWF themes.
1588           - Added code to retrieve system colors via Win32 GetSysColors if 
1589             running on Win32, this makes us compatible with Microsoft instead
1590             of returning static colors on Win32. Unix platforms still will
1591             use the static colors
1592         * Color.cs: Added UpdateKnownColor() method to allow updating of
1593           the KnownColors array
1594
1595 2005-09-26  Kornél Pál  <kornelpal@hotmail.com>
1596
1597         * Graphics.cs: DrawImage: imageAttr can be null. Fixed to pass IntPtr.Zero
1598           when imageAttr is null.
1599
1600 2005-09-26 Vladimir Krasnov <vladimirk@mainsoft.com>
1601
1602         * Brush.jvm.cs: fixed transform methods, createContext
1603         * TextureBrush.jvm.cs: implemetated transform, WrapMode, ctors
1604
1605 2005-09-21 Vladimir Krasnov <vladimirk@mainsoft.com>
1606
1607         * Bitmap.jvm.cs: fixed Clone, InternalSave, Initialize, ctor refactoring, remarks refactoring
1608         * Image.jvm.cs: fixed GetFrameCount, GetThumbnailImage, SelectActiveFrame, remarks refactoring
1609         * PlainImage.jvm.cs: added metadata props, fixed ctor
1610         * PlainImageCollection.jvm.cs: fixed class access
1611
1612 2005-09-21 Jordi Mas i Hernandez <jordi@ximian.com> 
1613
1614         * Graphics.cs: Fixes exception type at FromImage method
1615
1616 2005-09-20 Vladimir Krasnov <vladimirk@mainsoft.com>
1617
1618         * Graphics.jvm.cs: bitmap resolution fix in DrawImage
1619
1620 2005-09-20 Vladimir Krasnov <vladimirk@mainsoft.com>
1621
1622         * Graphics.jvm.cs: fixed DrawImage
1623
1624 2005-09-19  Miguel de Icaza  <miguel@novell.com>
1625
1626         * Graphics.cs: Removed restriction on the images that can be
1627         loaded.  Indexed images *can* be loaded
1628
1629 2005-09-18  Miguel de Icaza  <miguel@novell.com>
1630
1631         * Image.cs: introduce a workaround that catches errors on systems
1632         that lack GDI+ as this is being triggered too easily when we
1633         enumerate attributes on loaded classes.
1634
1635         The real bug to fix is #76062.
1636
1637 2005-09-17  Kornél Pál  <kornelpal@hotmail.com>
1638
1639         * Image.cs: Implemented FromHbitmap.
1640
1641 2005-09-16  Sebastien Pouliot  <sebastien@ximian.com>
1642
1643         * gdipFunctions.cs: Add [SuppressUnmanagedCodeSecurity] attributes so 
1644         the JIT won't add demands for UnmanagedCode.
1645         * carbonFunctions.cs: Add [SuppressUnmanagedCodeSecurity] attributes 
1646         so the JIT won't add demands for UnmanagedCode on Mac OSX.
1647         * Bitmap.cs: Added LinkDemand for UnmanagedCode on GetHbitmap 
1648         (+ overloads) and GetHicon methods.
1649         * Graphics.cs: Added LinkDemand for UnmanagedCode on FromHdcInternal, 
1650         FromHwndInternal and ReleaseHdcInternal methods (which are all public 
1651         despite their names).
1652
1653 2005-09-15 Konstantin Triger <kostat@mainsoft.com>
1654
1655         * Graphics.jvm.cs: text transform, headless session
1656
1657 2005-09-14 Vladimir Krasnov <vladimirk@mainsoft.com>
1658
1659         * Bitmap.jvm.cs: native object refactoring
1660         * Image.jvm.cs: native object refactoring
1661         * Graphics.jvm.cs: fixed access to image native object
1662         * TextureBrush.jvm.cs: fixed access to image native object
1663         * Added PlainImage.jvm.cs, PlainImageCollection.jvm.cs
1664
1665 2005-09-14  Geoff Norton  <gnorton@customerdna.com>
1666
1667         * carbonFunctions.cs: Add GetCGContextForNSView for Cocoa# integration
1668         * Graphics.cs: Check GDIPlus.UseCocoaDrawable for Cocoa# integration
1669         * gdipFunctions.cs: Set UseCocoaDrawable depending on the environment variable MONO_GDIP_USE_COCOA_BACKEND
1670                                                                                          
1671 2005-09-14 Konstantin Triger <kostat@mainsoft.com>
1672
1673         * Graphics.jvm.cs: transform, container, thin pen
1674
1675 2005-09-12 Konstantin Triger <kostat@mainsoft.com>
1676
1677         * AdvancedStroke.jvm.cs: constants for pen fitting calculations
1678         * Pen.jvm.cs: fixing transform, pen fitting
1679
1680 2005-09-12 Konstantin Triger <kostat@mainsoft.com>
1681
1682          * Region.jvm.cs: IsVisible is about intersection 
1683
1684 2005-09-12 Gert Driesen <drieseng@users.sourceforge.net>
1685
1686         * ImageConverter.cs: Use default TypeDescriptor implementation of 
1687         GetProperties.
1688
1689 2005-09-11 Konstantin Triger <kostat@mainsoft.com>
1690
1691         * Graphics.jvm.cs: fixing clipping with rotate transform
1692
1693 2005-09-11 Konstantin Triger <kostat@mainsoft.com>
1694
1695         * Region.jvm.cs: default region is infinite
1696
1697 2005-09-10 Konstantin Triger <kostat@mainsoft.com>
1698
1699         * Graphics.jvm.cs: fixing clipping stuff
1700
1701 2005-09-07 Vladimir Krasnov <vladimirk@mainsoft.com>
1702
1703         * Bitmap.jvm.cs: fixed bitamp accessors
1704         * Image.jvm.cs: fixed image accessors
1705
1706 2005-09-07 Konstantin Triger <kostat@mainsoft.com>
1707         * AdvancedStroke.jvm.cs: fix matrix translate
1708         * Graphics.jvm.cs: fix matrix concatenation order
1709
1710 2005-09-07 Vladimir Krasnov <vladimirk@mainsoft.com>
1711
1712         * Brush.jvm.cs: added transform methods
1713
1714 2005-09-06 Konstantin Triger <kostat@mainsoft.com>
1715
1716         * StrokeFactory.jvm.cs, AdvancedStroke.jvm.cs, Pen.jvm.cs:
1717                 implementing fitting, output transform
1718         * Graphics.jvm.cs: fixing DrawXXX, Fill, Clipping, Containers
1719
1720 2005-09-06 Konstantin Triger <kostat@mainsoft.com>
1721
1722         * ColorTranslator.cs: perform case insensitive check
1723
1724 2005-09-05 Jordi Mas i Hernandez <jordi@ximian.com> 
1725
1726         * gdipFunctions.cs: define new functions
1727         * Bitmap.cs: fixes image loading and exceptions
1728         * Image.cs: fixes image loading and exceptions
1729         
1730         Thanks Kornél Pál for its help
1731
1732 2005-08-30 Vladimir Krasnov <vladimirk@mainsoft.com>
1733
1734         * Brush.jvm.cs: added brush transform field
1735
1736 2005-08-28 Vladimir Krasnov <vladimirk@mainsoft.com>
1737
1738         * Graphics.jvm.cs: fixed .ctor (InterpolationMode)
1739
1740 2005-08-28 Konstantin Triger <kostat@mainsoft.com>
1741
1742         * StrokeFactory.jvm.cs, AdvancedStroke.jvm.cs, Pen.jvm.cs
1743         Graphics.jvm.cs: adjust stroke before widening
1744
1745 2005-08-28 Vladimir Krasnov <vladimirk@mainsoft.com>
1746
1747         * Graphics.jvm.cs: Implemented BeginContainer, EndContainer,
1748         Save, Restore
1749
1750 2005-08-26 Gert Driesen <drieseng@users.sourceforge.net>
1751
1752         * PointConverter.cs: Use Int32Converter instead of Int32.Parse. First
1753         convert string to int before checking number of components.
1754         * RectangleConverter.cs: same.
1755         * SizeConverter.cs: same.
1756
1757 2005-08-26 Gert Driesen <drieseng@users.sourceforge.net>
1758
1759         * ColorConverter.cs: Use Int32Converter instead of Int32.Parse to
1760         convert individual components. Special case string containing hex
1761         prefix. Convert components before checking count.
1762
1763 2005-08-25 Marek Safar  <marek.safar@seznam.cz>
1764
1765         * gdipFunctions.cs: GetIconInfo new user32 method.
1766         GdipGetDC uses IntPtr.
1767         
1768         * gdipStructs.cs: Defined IconInfo struct.
1769         
1770         * Graphics.cs: FromImage throws exception when image has an indexed format.
1771         GetHdc fixed.
1772         
1773         * Icon.cs: Implemented FromHandle, Dispose.
1774
1775 2005-05-24 Michael Hutchinson <m.j.hutchinson@gmail.com>
1776
1777         * ToolboxBitmapAttribute.cs: Implemented retrieving the image
1778
1779 2005-08-23 Vladimir Krasnov <vladimirk@mainsoft.com>
1780
1781         * Graphics.jvm.cs: Fixed ResetTransform, TransfromPoints
1782         Fixed SmoothingMode property
1783
1784 2005-08-23 Jordi Mas i Hernandez <jordi@ximian.com> 
1785
1786         * Brushes: Do not create the objects every time that they are requested
1787         as in Pens we create and cache them only once when need it. This also 
1788         fixes the Equals method between two objects requested to Brushes
1789
1790 2005-08-22 Jordi Mas i Hernandez <jordi@ximian.com> 
1791
1792         * SolidBrush.cs: Fixes Dispose to avoid non-disposing some objects
1793         * Brush.cs Fixes Dispose to avoid non-disposing some objects
1794         * Pen.cs: Fixes Dispose to avoid non-disposing some objects
1795         * Region.cs: Dipose always frees if the resource was allocated
1796
1797 2005-08-19 Jordi Mas i Hernandez <jordi@ximian.com> 
1798
1799         * gdipFunctions.cs: Before calling GdiplusShutdown we make that all of handles
1800         from gdiplus have been released
1801
1802 2005-08-18 Vladimir Krasnov <vladimirk@mainsoft.com>
1803
1804         * Pen.jvm.cs: Fixed DashSpacing in createStrokedShape
1805         * Color.cs: Fixed java NativeObject property
1806         * Image.jvm.cs: Fixed Save method
1807
1808 2005-08-16 Andrew Skiba <andrews@mainsoft.com>
1809
1810         * Icon.jvm.cs: match Bitmap internal constructor change
1811         * Image.jvm.cs: use ImageCodecInfo.Clsid as primary format id, not ImageFormat
1812         * Bitmap.jvm.cs: started changes for supporting ImageCodecInfo
1813
1814 2005-08-16 Gert Driesen <drieseng@users.sourceforge.net>
1815
1816         * Color.cs: To match MS.NET, throw ArgumentException instead of 
1817         ArgumentOutOfRangeException when color is not between 0 and 255.
1818         * RectangleConverter.cs: Take culture into account when converting
1819         to/from string. Use culture's ListSeparator as separator character.
1820
1821 2005-08-16 Gert Driesen <drieseng@users.sourceforge.net>
1822
1823         * Color.cs: Fixed line endings. Set eol-style to native.
1824         * ColorConverter.cs: Fixed line endings. Set eol-style to native.
1825         * Size.cs: Set eol-style to native.
1826         * SizeF.cs: Use current culture in ToString(), set eol-style to native.
1827         * SizeConverter.cs: Take culture into account when converting to/from
1828         string. Set eol-style to native.
1829         * Point.cs: Fixed line endings. Set eol-style to native.
1830         * PointF.cs: Use current culture in ToString(), set eol-style to native.
1831         * PointConverter.cs: Take culture into account when converting to/from
1832         string. Set eol-style to native.
1833         * ImageFormatConverter.cs: Fixed line endings. Set eol-style to
1834         native.
1835         * RectangleConverter.cs: Fixed line endings. Set eol-style to native.
1836
1837 2005-08-16 Vladimir Krasnov <vladimirk@mainsoft.com>
1838
1839         * Graphics.jvm.cs: Fixed InterpolationMode property
1840
1841 2005-08-15 Vladimir Krasnov <vladimirk@mainsoft.com>
1842
1843         * Graphics.jvm.cs: Fixed DrawImage
1844
1845 2005-08-14 Gert Driesen <drieseng@users.sourceforge.net>
1846
1847         * ColorConverter.cs: Use TextInfo.ListSeparator as separator, as this
1848         appears to be what MS.NET uses.
1849
1850 2005-08-14 Gert Driesen <drieseng@users.sourceforge.net>
1851
1852         * Point.cs: Use invariant culture for converting numbers to string.
1853         * PointF.cs: same
1854         * SizeF.cs: same
1855
1856 2005-08-14 Gert Driesen <drieseng@users.sourceforge.net>
1857
1858         * Color.cs: Fixed ToString for uninitialized color.
1859         * ColorConverter.cs: Support conversion from whitespace-only string to
1860         Color.Empty. Fixed conversion from Color.Empty and known colors to
1861         string.
1862
1863 2005-08-14 Konstantin Triger <kostat@mainsoft.com>
1864
1865         * Graphics.jvm.cs: Initial properties implementation
1866
1867 2005-08-14 Vladimir Krasnov <vladimirk@mainsoft.com>
1868
1869         * Graphics.jvm.cs: DrawImage refactoring
1870         
1871 2005-08-14 Vladimir Krasnov <vladimirk@mainsoft.com>
1872
1873         * Graphics.jvm.cs: Implemented PageUnit, PageScale. 
1874         Added UpdateInternalTransform
1875         Fixed DrawImage, Transform, ConcatenateTransform
1876
1877 2005-08-14 Vladimir Krasnov <vladimirk@mainsoft.com>
1878
1879         * Icon.jvm.cs: Internal constructor from bitmap
1880         * Added SystemIcons.jvm.cs with implementation of SystemIcons
1881         
1882 2005-08-14 Vladimir Krasnov <vladimirk@mainsoft.com>
1883
1884         * Region.jvm.cs: Fixed GetBounds, IsVisible, IsEmpty, IsInfinite, Equals
1885         (all methods that use Graphics object)  
1886
1887 2005-08-11 Konstantin Triger <kostat@mainsoft.com>
1888
1889         * Graphics.jvm.cs: Refactoring
1890
1891 2005-08-11 Konstantin Triger <kostat@mainsoft.com>
1892
1893         * Graphics.jvm.cs: Fixed Clear, Refactoring
1894
1895 2005-08-11 Konstantin Triger <kostat@mainsoft.com>
1896
1897         * Graphics.jvm.cs: Fixed FillClosedCurve
1898
1899 2005-08-10  Zoltan Varga  <vargaz@freemail.hu>
1900
1901         * Rectangle.cs (Intersect): Return a non-empty rectangle if the two
1902         rectangles touch each other.
1903
1904 2005-08-09 Konstantin Triger <kostat@mainsoft.com>
1905
1906         * Graphics.jvm.cs: Fixed DrawCurve.
1907
1908 2005-08-09 Konstantin Triger <kostat@mainsoft.com>
1909
1910         * StrokeFactory.jvm.cs: use correct stroke
1911
1912 2005-08-09 Konstantin Triger <kostat@mainsoft.com>
1913
1914         * Added AdvancedStoke.jvm.cs and StrokeFactory.jvm.cs
1915         * Pen refactoring.
1916
1917 2005-08-09 Andrew Skiba <andrews@mainsoft.com>
1918
1919         * FontConverter.cs: exclude not implemented destructor from TARGET_JVM
1920
1921 2005-08-09 Andrew Skiba <andrews@mainsoft.com>
1922
1923         * ColorConverter.cs, ColorTranslator.cs: fixes to pass tests
1924         committed in r48150
1925
1926 2005-08-08 Konstantin Triger <kostat@mainsoft.com>
1927
1928         * Graphics.jvm.cs: Refactoring
1929
1930 2005-08-08 Vladimir Krasnov <vladimirk@mainsoft.com>
1931
1932         * Graphics.jvm.cs: Fixed DrawPolygon
1933
1934 2005-08-08 Konstantin Triger <kostat@mainsoft.com>
1935
1936         * Graphics.jvm.cs: Refactoring
1937         * Pen.jvm.cs: setting awt.Stroke as a base
1938
1939 2005-08-07 Konstantin Triger <kostat@mainsoft.com>
1940
1941         * Graphics.jvm.cs: Refactoring
1942
1943 2005-08-07 Vladimir Krasnov <vladimirk@mainsoft.com>
1944
1945         * Graphics.jvm.cs: Fixed DrawLines, DrawPolygon to use GraphicsPath
1946
1947 2005-08-07 Andrew Skiba <andrews@mainsoft.com>
1948
1949         * Rectangle.cs: Intersect fixed
1950         * RectandleF.cs: Intersect and Inflate fixed
1951
1952 2005-08-07 Andrew Skiba <andrews@mainsoft.com>
1953
1954         * Point.cs: Produce same ToString result as dotnet
1955
1956 2005-08-07 Andrew Skiba <andrews@mainsoft.com>
1957
1958         * Color.cs: GetHashCode is affected by Name, too
1959
1960 2005-08-07 Vladimir Krasnov <vladimirk@mainsoft.com>
1961
1962         * Pen.jvm.cs: Fixed ctor, LineCap, SetLineCap
1963         
1964 2005-08-07 Vladimir Krasnov <vladimirk@mainsoft.com>
1965
1966         * Graphics.jvm.cs: Fixed DrawLines, DrawPolygon
1967
1968 2005-08-03 Andrew Skiba <andrews@mainsoft.com>
1969
1970         * SolidBrush.jvm.cs: fix a typo
1971
1972 2005-08-03 Andrew Skiba <andrews@mainsoft.com>
1973
1974         * Image.jvm.cs, StringFormat.jvm.cs, FontFamily.jvm.cs, Bitmap.jvm.cs,
1975         Pen.jvm.cs, Region.jvm.cs, Brush.jvm.cs, Graphics.jvm.cs, TextureBrush.jvm.cs,
1976         Font.jvm.cs: Added TARGET_JVM implementation
1977
1978 2005-08-03 Andrew Skiba <andrews@mainsoft.com>
1979
1980         * Rectangle.cs, RectangleF.cs: TARGET_JVM - Add NativeObect property
1981
1982 2005-08-03 Andrew Skiba <andrews@mainsoft.com>
1983
1984         * BasicShape.jvm.cs: Added TARGET_JVM specific class
1985
1986 2005-08-03 Andrew Skiba <andrews@mainsoft.com>
1987
1988         * Icon.jvm.cs, SystemColors.jvm.cs: Added TARGET_JVM implementations
1989
1990 2005-08-03 Andrew Skiba <andrews@mainsoft.com>
1991
1992         * ColorTranslator.cs: (GH merge) recognise HTML system colors
1993
1994 2005-08-02 Andrew Skiba <andrews@mainsoft.com>
1995         
1996         * SolidBrush.jvm.cs: added TARGET_JVM implementation of this class
1997
1998 2005-08-02 Andrew Skiba <andrews@mainsoft.com>
1999
2000         * Color.cs: TARGET_JVM - NativeObject property
2001
2002 2005-07-27 Andrew Skiba <andrews@mainsoft.com>
2003
2004         * Color.cs: Fixes equality operators, change isXXXcolor booleans into flags enum.
2005
2006 2005-07-27 Jordi Mas i Hernandez <jordi@ximian.com> 
2007
2008         * RectangleF.cs: Fixes IsEmpty logic
2009
2010 2005-06-23 Jordi Mas i Hernandez <jordi@ximian.com> 
2011
2012         * Graphics.cs: implements FromHwndInternal
2013
2014
2015 2005-06-13  Peter Bartok  <pbartok@novell.com>
2016
2017         * Icon.cs(ToBitmap): If the icon is not 32bits, create the bitmap
2018           through an intermediary step, which turns it into a 32bit version.
2019           Fixes #75254
2020
2021 2005-06-13  Kornél Pál <kornelpal@hotmail.com>
2022
2023         * ComIStreamMarshaler.cs: Dispose releases managed objects as well,
2024           removed some unnecessary code
2025         * ComIStreamWrapper.cs: Reworked Seek method to proper support of
2026           positions beyond the size of stream
2027
2028 2005-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
2029
2030         * Font.cs: fix platform checks.
2031
2032 2005-06-08 Jordi Mas i Hernandez <jordi@ximian.com> 
2033
2034         * Rectangle.cs:
2035                 - Fixes is empty method IsEmpty logic
2036                 - Fixes Contains method logic
2037                 - Fixes IntersectsWith logic
2038                 
2039         * RectangleF.cs:
2040                 - Fixes is empty method IsEmpty logic
2041                 - Fixes Contains method logic
2042                 - Fixes IntersectsWith logic
2043
2044 2005-05-28  Kornél Pál <kornelpal@hotmail.com>
2045
2046         * ComIStreamMarshaler.cs: GC.SuppressFinalize(this) is not called in
2047           destructors. Some methods renamed. Removed unnecessary variables.
2048
2049 2005-05-25  Jonathan Gilbert  <logic@deltaq.org>
2050
2051         * Image.cs: Added retrieveGDIPalette () and storeGDIPalette ()
2052           and modified the Palette property to call them. This non-
2053           persistent behaviour was discovered by trial and error with
2054           Microsoft's implementation. In fact, the Palette property
2055           does not behave like a property at all! It is the only way an
2056           instance of System.Drawing.Imaging.ColorPalette can be created,
2057           and it reflects a backing store that is only updated when the
2058           property 'set' method is called. Also updated Clone () since
2059           the palette is no longer cached at image load time.
2060         * Image.cs: Added IsIndexedPixelFormat () in the same vein as
2061           Image::IsAlphaPixelFormat and Image::IsCanonicalPixelFormat.
2062           As such a function is not listed in MSDN nor given in
2063           Microsoft's implementation, I have made it a private function
2064           within the class that uses it.
2065
2066 2005-05-24  Kornél Pál <kornelpal@hotmail.com>
2067
2068         * Graphics.cs: Revised DrawString methods
2069
2070 2005-03-22  Peter Bartok  <pbartok@novell.com>
2071
2072         * Graphics.cs: Fixed bug #74762, DrawString was crashing on s.Length
2073           if s was null.
2074
2075 2005-05-20  Kornél Pál <kornelpal@hotmail.com>
2076
2077         * Image.cs: Uses MemoryStream wrapping on all platforms if needed
2078         * gdipFunctions.cs: Modified conditional compilation syntax
2079         * ComIStreamWrapper.cs: Modified conditional compilation syntax
2080         * ComIStreamMarshaler.cs: Modified conditional compilation syntax
2081
2082 2005-05-18  Marek Safar  <marek.safar@seznam.cz>
2083
2084         * Bitmap.cs: Add null check into ctor.
2085
2086 2005-05-16 Jordi Mas i Hernandez <jordi@ximian.com> <kornelpal@hotmail.com>
2087
2088         * gdipFunctions.cs: Kornél Pál's IStream bug fixing
2089         * ComIStreamWrapper.cs: Kornél Pál's IStream bug fixing
2090         * ComIStreamMarshaler.cs: Kornél Pál's IStream bug fixing
2091
2092 2005-05-14 Jordi Mas i Hernandez <jordi@ximian.com> <kornelpal@hotmail.com>
2093
2094         * Bitmap.cs: Kornél Pál's Bitmap class ctor and MakeTransparent leak fixes
2095
2096 2005-05-11 Jordi Mas i Hernandez <jordi@ximian.com>
2097
2098         * gdipFunctions.cs: add GdipLoadImageFromStream and GdipSaveImageToStream
2099         * ComIStreamWrapper.cs: Kornel Pal COM Stream for Win32
2100         * ComIStreamMarshaler.cs: Kornel Pal COM Stream for Win32 
2101         * Image.cs: uses new Win32 Stream functions when need it
2102
2103 2005-05-10 Juraj Skripsky <juraj@hotfeet.ch>
2104
2105         * Color.cs: Fix GetSaturation() again and remove
2106         obsolete constants.
2107
2108 2005-05-10 Juraj Skripsky <juraj@hotfeet.ch>
2109
2110         * Color.cs: New, correct implementations for GetHue(),
2111         GetBrightness() and GetSaturation().
2112
2113 2005-05-09  Sebastien Pouliot  <sebastien@ximian.com>
2114
2115         * gdipFunctions.cs: Use PlatformID.Unix under NET_2_0. 
2116         * Graphics.cs: Use PlatformID.Unix under NET_2_0. 
2117         * Image.cs: Use PlatformID.Unix under NET_2_0. 
2118
2119 2005-05-05  Miguel de Icaza  <miguel@novell.com>
2120
2121         * Bitmap.cs, Icon.cs (constructor): Use
2122         GetManifestResourceStream(Type,string) in the constructor that
2123         takes a type. 
2124
2125 2005-04-27  Lluis Sanchez Gual  <lluis@novell.com>
2126
2127         * PointF.cs: Make serialization compatible with MS.
2128
2129 2005-04-10  Geoff Norton  <gnorton@customerdna.com>
2130
2131         * Graphics.cs:
2132           carbonFunctions.cs:
2133                 Use CGContextSynchronize instead of CGContextFlush.  This saves
2134                 on average 20000 ticks per drawing operation.
2135
2136 2005-04-04 Jordi Mas i Hernandez <jordi@ximian.com>
2137
2138         * Color.cs: take into account the name color in == and != operators
2139         * Font.cs: Use Equals instead of == to compare the family name
2140         * FontFamily.cs:
2141            -  Removes generic fontfamilies cache (done at libgdiplus level)
2142            -  Fixes Equals method
2143
2144 2005-03-30 Jordi Mas i Hernandez <jordi@ximian.com>
2145
2146         * Pen.cs: remove locks. They are done at gdiplus level
2147         * Brush.cs: remove locks. They are done at gdiplus level
2148         * Image.cs: remove locks. They are done at gdiplus level
2149
2150 2005-03-30  Rogério Pereira Araújo <rogerio.araujo@gmail.com>
2151
2152         * Icon.cs: Finished Icon(Type, String) ctor
2153
2154 2005-03-23 Jordi Mas i Hernandez <jordi@ximian.com>
2155
2156         * gdipFunctions.cs: fixes GdipGetImagePalette signature
2157         * Image.cs: Implements Palette property using gdiplus     
2158
2159 2005-03-17  Peter Bartok  <pbartok@novell.com>
2160
2161         * gdipFunctions.cs: 
2162           - Changed P/Invoke signature for GdipLoadImageFromDelegate_linux()
2163             method, now includes a get header delegate
2164           - Added StreamGetHeaderImpl method, to allow libgdiplus to determine 
2165             the image type even on non-seekable streams
2166           - Fixed StreamGetBytesImpl to consider the bytes already retrieved
2167             via StreamGetHeaderImpl
2168         * Image.cs: Fixed call to GdipLoadImageFromDelegate_linux() to include
2169           the new StreamGetHeader delegate
2170
2171 2005-03-15 Jordi Mas i Hernandez <jordi@ximian.com>
2172
2173         * Pen.cs: Fixes dispose method to allow to be called multiple times
2174         * Graphics.cs: matrix are saved and restored at gdiplus level   
2175
2176 2005-02-24  Geoff Norton  <gnorton@customerdna.com>
2177
2178         * gdipFunctions.cs: Cache the delegates in the GdiPlusStreamHelper
2179         so they dont get garbage collected before use.
2180
2181 2005-02-11  Peter Bartok  <pbartok@novell.com>
2182
2183         * gdipFunctions.cs: Fixed prototype to match previous checkin
2184
2185 2005-02-11  Peter Bartok  <pbartok@novell.com>
2186
2187         * Graphics.cs (FromImage): Fixed type of graphics to be IntPtr (since
2188           it really is a pointer)
2189
2190 2005-02-10  Geoff Norton  <gnorton@customerdna.com>
2191
2192         * Icon.cs: Implement GetObjectData ()
2193         * Image.cs: Implement GetObjectData ()
2194
2195 2005-02-09  Geoff Norton  <gnorton@customerdna.com>
2196
2197         * Icon.cs: Implement deserializer
2198         * Bitmap.cs: Implement deserializer
2199
2200 2005-02-06  Ben Maurer  <bmaurer@ximian.com>
2201
2202         * Brushes.cs: Kill the static ctor here, it has tons of code bloat.
2203
2204 2005-02-03 Jordi Mas i Hernandez <jordi@ximian.com>
2205
2206         * Region.cs: revert Jackson's patch and fix this at libgdiplus level
2207
2208 2005-02-02  Jackson Harper  <jackson@ximian.com>
2209
2210         * Region.cs: The default region constructor creates and infinite
2211         region, not an empty one.
2212
2213 2005-01-27  Peter Bartok  <pbartok@novell.com>
2214
2215         * Color.cs (GetBrightness, GetSaturation, GetHue): Fixed calculations
2216           of HSV numbers. Previous implementation returned wrong numbers and NaN
2217           on achromatic colors
2218
2219 2005-01-27  Lluis Sanchez Gual  <lluis@novell.com>
2220
2221         * PointConverter.cs, ImageFormatConverter.cs, RectangleConverter.cs,
2222         SizeConverter.cs, ColorConverter.cs, FontConverter.cs
2223         : Implemented support for InstanceDescriptor.
2224
2225 2005-01-26  Peter Bartok  <pbartok@novell.com>
2226
2227         * Icon.cs (ToBitmap): Now sets transparency in according to
2228           icon AND mask
2229
2230 2004-01-22 Jordi Mas i Hernandez <jordi@ximian.com>
2231
2232         * gdipFunctions.cs: Fixes GdipGet* function signatures
2233         * FontFamily.cs: Fixes GdipGet* function calls
2234         * Font.cs: Fixes ToString method
2235         
2236 2004-01-17 Jordi Mas i Hernandez <jordi@ximian.com>
2237
2238         * Graphics.cs: calls XCloseDisplay on X11 when need it
2239         * gdipFunctions.cs: calls XCloseDisplay on X11 when need it
2240
2241 2004-12-27  Zoltan Varga  <vargaz@freemail.hu>
2242
2243         * gdipFunctions.cs Image.cs: Fix marshalling of arrays on amd64.
2244
2245 2004-12-16  Peter Bartok  <pbartok@novell.com>
2246
2247         * Graphics.cs (GetHdc): Removed Wine assumptions, the handle is now
2248           equivalent to the gdi+ native object
2249
2250         * Font.cs (GetHfont): Removed Wine assumptions, the handle is now
2251           equivalent to the gdi+ native object
2252
2253 2004-12-09  Geoff Norton  <gnorton@customerdna.com>
2254
2255         * carbonFunctions.cs: New carbon functions/structures
2256         * Graphics.cs: Update FromHwnd to work without being in the carbon eventing loop
2257
2258 2004-12-08  Geoff Norton  <gnorton@customerdna.com>
2259
2260         * Graphics.cs:  Drop FromHwndWithSize; we can't change the public API
2261         Add Quartz support to FromHwnd marshalling a struct back with the ptr/width/height.
2262
2263 2004-12-07  Geoff Norton  <gnorton@customerdna.com>
2264
2265         * Graphics.cs:  Add FromHwndWithSize for the MWF/Quartz backend
2266         * gdipFunctions.cs: Add the quartz dllimport into libgdiplus
2267
2268 2004-12-06  Miguel de Icaza  <miguel@ximian.com>
2269
2270         * FontFamily.cs: This one is static.
2271
2272 2004-11-25  Ravindra  <rkumar@novell.com>
2273
2274         * gdipFunctions.cs (GdipCreateFontFromLogfontA): Changed return
2275         type from int to Status type.
2276
2277 2004-11-25  Marek Safar  <marek.safar@seznam.cz>
2278
2279         * Image.cs: Add CheckStatus to SaveAdd.
2280
2281 2004-11-22  Ravindra  <rkumar@novell.com>
2282
2283         * Graphics.cs: Fixed null values handling in all overloads of
2284         MeasureString method.
2285
2286 2004-11-18  Ravindra  <rkumar@novell.com>
2287
2288         * gdipFunctions.cs: Removed the .so extension from a DllImport
2289         that hooks to X11.
2290
2291 2004-10-27 Jordi Mas i Hernandez <jordi@ximian.com>
2292
2293         * gdipFunctions.cs: calls GdiplusShutdown to propery signal GDI+ 
2294         termination
2295
2296 2004-11-03  Miguel de Icaza  <miguel@ximian.com>
2297
2298         * TextureBrush.cs (Clone): While cloning, it is not enough to let
2299         GDIPlus clone the underlying data, we must alos clone the managed
2300         information. 
2301
2302         * Pen.cs (Dispose): Set the nativeObject to IntPtr.Zero to catch
2303         errors in the future, set the lock on the object before doing any
2304         other tests, not after.
2305         
2306         (Clone): While cloning, it is not enough to let
2307         GDIPlus clone the underlying data, we must alos clone the managed
2308         information. 
2309
2310         * Brush.cs (Dispose): Set the nativeObject to IntPtr.Zero to catch
2311         errors in the future.
2312
2313         Set the lock in the object before checkign disposed.
2314
2315         * SolidBrush.cs (Clone): While cloning, it is not enough to let
2316         GDIPlus clone the underlying data, we must alos clone the managed
2317         information. 
2318
2319         (Dispose): Set the nativeObject to IntPtr.Zero to catch
2320         errors in the future.
2321
2322 2004-10-28  Ravindra  <rkumar@novell.com>
2323
2324         * gdipFunctions.cs: Added checks for null stream in the
2325         StreamHelper internal class.
2326         * Icon.cs: Removed an ugly hack that used temp files in
2327         ToBitmap () method. We use MemoryStream instead.
2328
2329 2004-10-27 Jordi Mas i Hernandez <jordi@ximian.com>
2330
2331         * Font.cs: fixes bug 66533
2332         
2333 2004-10-22 Jordi Mas i Hernandez <jordi@ximian.com>
2334         
2335         * Bitmap.cs, Font.cs FontFamily.cs Graphics.cs Region.cs
2336         SolidBrush.cs StringFormat.cs TextureBrush.cs: removes the
2337         lock operations after conversation with Miguel. Do not really
2338         need it.
2339
2340 2004-10-22 Jordi Mas i Hernandez <jordi@ximian.com>
2341         
2342         * Bitmap.cs: Fixes MakeTransparent problem with 24bbps
2343
2344 2004-10-19 Jordi Mas i Hernandez <jordi@ximian.com>
2345         
2346         * Bitmap.cs: Fixes MakeTransparent method
2347
2348 2004-10-13  Ravindra  <rkumar@novell.com>
2349
2350         * Graphics.cs: Moved the initialization of 'use_x_drawable'
2351         member out of private constructor to class initialization.
2352         So that, we get it right even if Graphics is not instantiated.
2353         This fixes the problem we face (otherwise) when we make first
2354         call to Graphics.FromHwnd () method.
2355
2356 2004-10-08  Ravindra  <rkumar@novell.com>
2357
2358         * Image.cs: Suppress finalization in Dispose () method.
2359
2360 2004-10-04  Ravindra  <rkumar@novell.com>
2361
2362         * gdipFunctioncs.cs: Fix from Alois for bug #67383.
2363
2364 2004-09-29  Jackson Harper  <jackson@ximian.com>
2365
2366         * Graphics.cs: Use FromHdcInternal to set the X display
2367         handle. Add a flag to check if we are on unix so we aren't calling
2368         Environment.OSVersion.Platform all the time. Mad props to Peter
2369         Bartok for this.
2370
2371 2004-09-17  Marek Safar <marek.safar@seznam.cz>
2372
2373         * Font.cs (FromHfont, ToHfont): Fixed windows implementation.
2374         ToLogFont: Implemented.
2375
2376         * gdipFunctions.cs: GdipCreateFromHDC changed int to IntPtr to
2377         avoid casts.
2378         GdipCreateFontFromLogfontA: A new extern call.
2379
2380 2004-09-13  Ravindra <rkumar@novell.com>
2381
2382         * Graphics.cs: MSDN says that using image width and height gives
2383         better performance, hence we are using image width and height to
2384         avoid autoscaling in DrawImageUnscaled.
2385
2386 2004-09-10  Ravindra <rkumar@novell.com>
2387
2388         * Graphics.cs: Implemented DrawIcon methods and fixed
2389         DrawImageUnscaled method implementation.
2390
2391 2004-08-21  Jackson Harper  <jackson@ximian.com>
2392
2393         * ImageAnimator.cs: Run animator as a background thread so we do
2394         not hang on exit.
2395
2396 2004-08-21  Ravindra  <rkumar@novell.com>
2397
2398         * gdipFunctions.cs: Modified exception message to include the case
2399         of missing required libraries for different formats.
2400
2401 2004-08-10  Jackson Harper  <jackson@ximian.com>
2402
2403         * SystemColors.cs: Make Highlight colour match colour from windows
2404         classic color scheme.
2405
2406 2004-07-30 Ravindra <rkumar@novell.com>
2407
2408         * Font.cs: Fixed Height property implementation and implemented
2409         GetHeight method and its overloads.
2410
2411 2004-07-29 Sanjay Gupta <gsanjay@novell.com>
2412
2413         * gdipFunctions.cs: Corrected signature of GdipGetPropertyItem
2414         P/Invoke function for Image.
2415         * Image.cs: Implemented GetPropertyItem() and SetPropertyItem() method.
2416
2417 2004-07-29 Sanjay Gupta <gsanjay@novell.com>
2418
2419         * gdipFunctions.cs: Corrected signatures of GdipGetPropertySize and 
2420         GdipGetAllPropertyItems P/Invoke function for Image.
2421         * gdipStructs.cs: Corrected MarshalTo() method of GdipPropertyItem.
2422         * Image.cs: Corrected implementation of PropertyItems property.
2423
2424 2004-07-29 Sanjay Gupta <gsanjay@novell.com>
2425
2426         * gdipFunctions.cs: Corrected signature of GdipGetPropertyIdList 
2427         P/Invoke function for Image.
2428         * Image.cs: Changed implementation of PropertyIdList property.
2429
2430 2004-07-28 Sanjay Gupta <gsanjay@novell.com>
2431
2432         * gdipStructs.cs: Implementing PropertyItem property in Image.cs.
2433         * Image.cs: Implemented PropertyItems and PropertyIdList properties.
2434
2435 2004-07-21  Ravindra <rkumar@novell.com>
2436
2437         * gdipFunctions.cs: Corrected signatures of GdipPathIterCopyData and
2438         GdipPathIterEnumerate P/Invoke functions for GraphicsPathIterator.
2439
2440 2004-07-21 Jordi Mas i Hernandez <jordi@ximian.com>
2441         
2442         * Graphics.cs:  fixes MeasureCharacterRanges function. It was completely wrong. 
2443         * StringFormat.cs: MeasurableCharacterRanges should be passed to GDI+
2444         * gdipFunctions.cs: new GDI function calls
2445
2446 2004-07-16  Ravindra <rkumar@novell.com>
2447
2448         * gdipFunctions.cs: Added P/Invokes for GraphicsPathIterator.
2449
2450 2004-07-15  Ravindra <rkumar@novell.com>
2451
2452         * gdipFunctions.cs: Removed GdipGetPathData P/Invoke. It is redundant.
2453
2454 2004-07-13  Ravindra <rkumar@novell.com>
2455
2456         * gdipFunctions.cs: Removed GdipGetPathGradientRectI P/Invoke.
2457         This was redundant. It was kept in previous checkin to avoid
2458         build breakage.
2459
2460 2004-07-13  Ravindra <rkumar@novell.com>
2461
2462         * gdipFunctions.cs: Added some P/Invokes for PathGradientBrush.
2463
2464 2004-07-09  Peter Bartok <pbartok@novell.com>
2465         * Graphics.cs: Added support required for new managed SWF library
2466         * gdipFunctions.cs: Added XOpenDisplay definition/import
2467
2468 2004-07-02 Jordi Mas i Hernandez <jordi@ximian.com>
2469
2470         * gdipFunctions.cs: fixes bug 61050
2471
2472 2004-06-24  Sanjay Gupta <gsanjay@novell.com>
2473
2474         * ImageAnimator.cs: Rewrote complete implementation.
2475
2476 2004-06-24  Sanjay Gupta <gsanjay@novell.com>
2477
2478         * gdipFunctions.cs: Corrected issue in GdiPlusStreamHelper class.
2479         If read function was called after seek function call, the 
2480         implementation  was returning data from bytes already peeked and 
2481         not from the new position in stream, which we have seeked.
2482         
2483 2004-06-22 Jordi Mas i Hernandez <jordi@ximian.com>
2484
2485         * Graphics.cs: added MeasureString wrappers
2486
2487 2004-06-22 Jordi Mas i Hernandez <jordi@ximian.com>
2488
2489         * Graphics.cs, gdipFunctions.cs: define and use GdipSetVisibleClip_linux 
2490
2491 2004-06-20 Jordi Mas i Hernandez <jordi@ximian.com>
2492
2493         * Graphics.cs, gdipFunctions.cs: added missing clip function wrappers
2494
2495 2004-06-18  Ravindra <rkumar@novell.com>
2496
2497         * FontConverter.cs: Implemented the missing functions.
2498         * Font.cs: Added some notes.
2499
2500 2004-06-16  Sanjay Gupta <gsanjay@novell.com>
2501         
2502         * gdipFunctions.cs: Modified Function signature for 
2503         GdipSaveImageToDelegate_linux() method for saving tiff images 
2504         to streams.
2505         * image.cs: Modified function call GdipSaveImageToDelegate_linux()
2506         with new signature.
2507
2508 2004-06-15  Sanjay Gupta <gsanjay@novell.com>
2509         
2510         * gdipFunctions.cs: Added delegate and StreamHelper functions, Close
2511         and Size, required by TIFFCodec. Modifed Function signature for 
2512         GdipLoadImageFromDelegate_linux() method.
2513         * image.cs: Modified function call GdipLoadImageFromDelegate_linux()
2514         with new signature.
2515
2516 2004-06-11  Ravindra <rkumar@novell.com>
2517
2518         * gdipFunctions.cs: (GdipCreateSolidFill): Changed one argument
2519         from out int to out IntPtr.
2520         * SolidBrush.cs: Same.
2521
2522 2004-06-10  Gert Driesen <drieseng@users.sourceforge.net>
2523
2524         * Image.cs: API signature fixes, meaning DisposeResources is now
2525         private and marked InitFromStream internal
2526
2527 2004-05-12  Jordi Mas i Hernandez <jordi@ximian.com>
2528
2529         * FontFamily.cs: simplifies object destruction and fixes
2530
2531 2004-05-12  Jordi Mas i Hernandez <jordi@ximian.com>
2532
2533         * FontFamily.cs: added destructor 
2534         * Graphics.cs: added destructor to stop leaking, remove debugging code
2535
2536
2537 2004-05-12  Jordi Mas i Hernandez <jordi@ximian.com>
2538
2539         * gdipFunctions.cs: added GdipSaveAddImage
2540         * Image.cs: added SaveAdd methods
2541
2542 2004-06-02  Peter Bartok <pbartok@novell.com>
2543         * gdipFunctions.cs: Fixed reference to wrong DLLs for GetDC/ReleaseDC
2544           (This fixes bug #59479)
2545
2546 2004-06-01  Gert Driesen <drieseng@users.sourceforge.net>
2547
2548         * Font.cs: Added missing Browsable attribute on SizeInPoints.
2549         * Region.cs: Removed extra ComVisible attribute from Clone().
2550
2551 2004-06-01  Ravindra <rkumar@novell.com>
2552
2553         * Pen.cs: Added a note on Dispose method.
2554         * Brush.cs: Fixed Dispose method.
2555         * SolidBrush.cs: Fixed Dispose method.
2556
2557 2004-05-28  Ravindra <rkumar@novell.com>
2558
2559         * gdipFunctions.cs: Added some P/Invoke calls for Draw/Fill
2560         rectangles.
2561         * Graphics.cs: Implemented Dispose method and changed Draw/Fill
2562         rectangles implementation (This is basically done to avoid lots
2563         of brush and pen setup happening in libgdiplus.)
2564
2565 2004-05-27  Ravindra <rkumar@novell.com>
2566
2567         * Color.cs: Changed Color.Green to what MS.NET has. Conforming to MS.
2568
2569 2004-05-26  Sanjay Gupta <gsanjay@novell.com>
2570
2571         * ImageFormatConverter.cs: Fixed issues discovered from nunit 
2572         test cases.
2573
2574 2004-05-26  Ravindra <rkumar@novell.com>
2575
2576         * Color.cs: Corrected Color.Green property.
2577
2578 2004-05-24  Jordi Mas i Hernandez <jordi@ximian.com>
2579         * gdipStructs.cs: remove unnecessary code, since bug 57706 is fixed
2580
2581 2004-05-20  Sanjay Gupta <gsanjay@novell.com>
2582
2583         * Icon.cs: Fixed issue with size property.
2584
2585 2004-05-18  Ravindra <rkumar@novell.com>
2586
2587         * Pen.cs: Added value checks in DashPattern and CompoundArray
2588         properties.
2589
2590 2004-05-16  Gert Driesen <drieseng@users.sourceforge.net>
2591
2592         * Graphics.cs: fixed warning
2593         * ImageAnimator.cs: fixed warning
2594         * FontConverter.cs: fixed public API
2595
2596 2004-05-14  Vladimir Vukicevic  <vladimir@pobox.com>
2597
2598         * gdipFunctions.cs: Fixed prototype for
2599         GdipGetEncoderParameterList
2600         
2601         * Image.cs: Reworked Save functions to handle EncoderParameters.
2602         Implemented GetEncoderParameterList
2603         Also removed unused setGDIPalette internal method.
2604
2605 2004-05-14  Peter Bartok <pbartok@novell.com>
2606         * StringFormat.cs: Added CharacterRange handling
2607         * Graphics.cs: Implemented MeasureCharacterRanges method
2608
2609 2004-05-14  Peter Bartok <pbartok@novell.com>
2610         * Graphics.cs: Added error check
2611
2612 2004-05-14  Duncan Mak  <duncan@ximian.com>
2613         * gdipFunctions.cs (GdipCreatePath2I, GdipAddPathPieI):
2614         (GdipFlattenPath, GdipWarpPath, GdipWidenPath):
2615         (GdipGetPathWorldBounds, GdipGetPathWorldBoundsI): Imported.
2616
2617 2004-05-14  Sanjay Gupta <gsanjay@novell.com>
2618         * ImageFormatConverter.cs: Modified implementation of ConvertFrom() method.
2619
2620 2004-05-13  Sanjay Gupta <gsanjay@novell.com>
2621         * ImageFormatConverter.cs: Implemented GetStandardValuesSupported () method. 
2622
2623 2004-05-13  Peter Bartok <pbartok@novell.com>
2624         * Bitmap.cs: Fixed bug #52868, Bitmap(Image, Size) did not
2625         resize the image.
2626
2627 2004-05-12  Peter Bartok <pbartok@novell.com>
2628         * Image.cs: Implemented GetThumbnailImage
2629
2630 2004-05-13  Sanjay Gupta <gsanjay@novell.com>
2631         * Graphics.cs: Made method DrawRectangle (Pen , RectangleF) and 
2632         FromXDrawable(IntPtr, IntPtr) internal.
2633                         
2634 2004-05-12  Jordi Mas i Hernandez <jordi@ximian.com>
2635         * Color.cs: work for API compatibilty: private date, todos
2636         * Font.cs: work for API compatibilty: private date, todos
2637         * FontFamily.cs: work for API compatibilty: private date, todos
2638         * Graphics.cs: work for API compatibilty: private date, todos
2639         * Icon.cs: work for API compatibilty: private date, todos 
2640         * Image.cs: work for API compatibilty: private date, todos
2641         * ImageAnimator.cs: work for API compatibilty: private date, todos
2642         * Point.cs: work for API compatibilty: private date, todos
2643         * PointF.cs: work for API compatibilty: private date, todos
2644         * Rectangle.cs: work for API compatibilty: private date, todos
2645         * RectangleF.cs: work for API compatibilty: private date, todos
2646         * Region.cs: work for API compatibilty: private date, todos
2647         * Size.cs: work for API compatibilty: private date, todos
2648         * SizeF.cs: work for API compatibilty: private date, todos
2649         * SolidBrush.cs: work for API compatibilty: private date, todos
2650         * StringFormat.cs: work for API compatibilty: private date, todos
2651         * SystemPens.cs: work for API compatibilty: private date, todos
2652         * TextureBrush.cs: work for API compatibilty: private date, todos
2653         * gdipStructs.cs: work for API compatibilty: private date, todos
2654
2655 2004-05-12  Ravindra <rkumar@novell.com>
2656
2657         * Bitmap.cs, Font.cs, FontConverter.cs, Graphics.cs, Icon.cs, Image.cs
2658         ImageAnimator.cs, Point.cs, PointF.cs, Rectangle.cs, RectangleF.cs
2659         Region.cs, Size.cs, SizeF.cs, ToolboxBitmapAttribute.cs, gdipFunctions.cs:
2660         Added missing attributes and some coding style fixes.
2661         * Pen.cs: Implementing CustomStartCap and CustomEndCap properties and 
2662         some fixes.
2663
2664 2004-05-11  Sanjay Gupta <gsanjay@novell.com>
2665
2666         * ImageAnimator.cs: Implemented first version. 
2667
2668 2004-05-11  Ravindra  <rkumar@novell.com>
2669
2670         * gdipFunctions.cs: Implementing AdjustableArrowCap. Added P/Invokes
2671         for the same.
2672
2673 2004-05-10  Ravindra  <rkumar@novell.com>
2674
2675         * gdipFunctions.cs: Implementing CustomLineCap. Added P/Invokes
2676         for the same. Added few related P/Invokes for Pen also.
2677
2678 2004-05-06  Sanjay Gupta <gsanjay@novell.com>
2679
2680         * ImageAnimator.cs: Corrected implementation of CanAnimate() method.
2681
2682 2004-05-06  Ravindra <rkumar@novell.com>
2683
2684         * RectangleConverter.cs: Implemented GetProperties () method.
2685         * SizeConverter.cs: Implemented GetProperties () method.
2686         * PointConverter.cs: Implemented GetProperties () method.
2687         * FontConverter.cs: Implemented some of the methods.
2688
2689 2004-05-06  Ravindra <rkumar@novell.com>
2690
2691         * Color.cs: Fixed Name property.
2692         * ColorTranslator.cs: Fixed the existing methods and implemented
2693         the missing methods.
2694         * ColorConverter.cs: Fixed the existing methods and implemented 
2695         the missing methods. Also, fixed coding style.
2696
2697 2004-05-05  Jordi Mas i Hernandez <jordi@ximian.com>
2698         * Bitmap.cs: Let GDI+ calculate the strides, as it does in Win32.
2699
2700 2004-05-05  Jordi Mas i Hernandez <jordi@ximian.com>
2701         * Image.cs: raw_format should be handled by GDI+
2702         * Bitmap.cs: raw_format should be handled by GDI+
2703
2704 2004-05-04  Ravindra <rkumar@novell.com>
2705
2706         * Pen.cs: Modified exception message. Fixed Transform, DashPattern,
2707         and DashCap properties. Implementing CoumpoundArray, StartCap, EndCap
2708         properties and SetLineCap method. In constructors use IntPtr instead
2709         of int.
2710         * SolidBrush.cs: Modified exception message.
2711         * TextureBrush.cs: Fixed Transform property.
2712         * gdipFunctions.cs: Fixed P/Invokes for Pen.cs, TextureBrush.cs and
2713         LinearGradientBrush.cs.
2714
2715 2004-04-30  Sanjay Gupta <gsanjay@novell.com>
2716
2717         * Image.cs: Implemented FrameDimensionsList property.
2718
2719 2004-04-30  Ravindra <rkumar@novell.com>
2720
2721         * gdipFunctions.cs: Added few more P/Invoke calls for
2722         lineargradient brush and added one case statement in 
2723         CheckStatus method.
2724
2725 2004-04-30  Jordi Mas i Hernandez <jordi@ximian.com>
2726
2727         * Image.cs: takes into account MemoryBmp format when saving
2728
2729 2004-04-30  Ravindra <rkumar@novell.com>
2730
2731         * StringFormat.cs: Added checks for status.
2732
2733 2004-04-30  Sanjay Gupta <gsanjay@novell.com>
2734
2735         * Image.cs: Removed calls which passes byte[] for Guid parameter.
2736         * gdipFunctions.cs: Removed unwanted unix specific function calls.
2737
2738 2004-04-30  Ravindra <rkumar@novell.com>
2739
2740         * Graphics.cs: Added checks for status.
2741         * Image.cs: Added a check for status.
2742         * FontFamily.cs: Added checks for status.
2743
2744 2004-04-29  Peter Bartok <pbartok@novell.com>
2745
2746         * Brushes.cs: Fixed bug #52695. No longer creates a new
2747         brush for every request and behaves Microsoft compatible
2748
2749 2004-04-29  Jordi Mas i Hernandez <jordi@ximian.com>
2750
2751         * Image.cs: fixes Save method. It now retrieves the proper encoder and uses
2752         its ClsID instead of the formatID (as GDI+ expects)
2753
2754 2004-04-29  Ravindra <rkumar@novell.com>
2755
2756         * Font.cs: Added checks for status.
2757         * Bitmap.cs: Added checks for status.
2758         * Pen.cs: Added checks for status.
2759
2760 2004-04-28  Sanjay Gupta  <gsanjay@novell.com>
2761
2762         * ColorTranslator.cs, StringFormat.cs, SystemIcons.cs, ToolBoxBitmapAttributes.cs:
2763         Converted to unix format from dos format.
2764
2765 2004-04-28  Sanjay Gupta  <gsanjay@novell.com>
2766
2767         * ImageConverter.cs: Implemented GetProperties() and GetPropertiesSupported () methods.
2768
2769 2004-04-28  Jordi Mas i Hernandez <jordi@ximian.com>
2770
2771         * gdipStructs.cs: added GdipImageCodecInfo struct
2772
2773 2004-04-28  Sanjay Gupta  <gsanjay@novell.com>
2774
2775         * ImageFormatConverter.cs: Corrected ConvertFrom method.
2776
2777 2004-04-27  Sanjay Gupta  <gsanjay@novell.com>
2778
2779         * ImageConverter.cs: Added exception message.
2780         * IconConverter.cs: Added exception message.
2781         * ImageFormatConverter.cs: Implemented first version.
2782
2783 2004-04-27  Sanjay Gupta  <gsanjay@novell.com>
2784
2785         * ImageConverter.cs: Implemented first version.
2786
2787 2004-04-27  Sanjay Gupta  <gsanjay@novell.com>
2788
2789         * IconConverter.cs: Implemented first version.
2790
2791 2004-04-26  Sanjay Gupta  <gsanjay@novell.com>
2792
2793         * Image.cs: Corrected implementation of Property RawFormat.
2794         * gdipFunctions.cs: Corrected declaration of GdipGetImageRawFormat.
2795
2796 2004-04-25  Sanjay Gupta  <gsanjay@novell.com>
2797
2798         * Bitmap.cs: Resolved a compile time error.
2799         * Image.cs: Changed the implementation of few methods to progress
2800           with ImageAnimator class.
2801         * gdipFunctions.cs: Added few linux only function calls.
2802         * Icon.cs: Removed unused variable from code.
2803
2804 2004-04-25  Vladimir Vukicevic  <vladimir@pobox.com>
2805
2806         * Graphics.cs, gdipFunctions.cs: Added CreateFromXDrawable_linux.
2807
2808 2004-04-23  Vladimir Vukicevic  <vladimir@pobox.com>
2809
2810         * Commited patch from pcgod@gmx.net (Bnehamin Jemlich) for
2811         serialization for Bitmaps.  (Bugzilla #52568)
2812
2813 2004-04-23  Ravindra <rkumar@novell.com>
2814
2815         * RectangleConverter.cs: Fixed ConvertTo () method.
2816         * SizeConverter.cs: Fixed ConvertTo () method.
2817         * PointConverter.cs: Fixed ConvertTo () method.
2818
2819 2004-04-23 Sanjay Gupta <gsanjay@novell.com>
2820         * ImageAnimator.cs: Implemented CanAnimate() method.
2821
2822 2004-04-22 Jordi Mas i Hernandez <jordi@ximian.com>
2823         * Image.cs: added RotateFlip and RemovePropertyItem calls
2824         
2825 2004-04-22  Ravindra <rkumar@novell.com>
2826
2827         * RectangleConverter.cs: Implemented. Also changed file format
2828         dos2unix.
2829         * Rectangle.cs: Fixed ToString method.
2830         * RectangleF.cs: Fixed ToString method.
2831
2832 2004-04-22  Ravindra <rkumar@novell.com>
2833
2834         * SizeConverter.cs: Implemented some of the functions.
2835         * PointConveter.cs: Implemented.
2836         * gdipFunctions.cs: Corrected one typo.
2837         * Brushes.cs: Added a comment.
2838
2839 2004-04-22  Vladimir Vukicevic  <vladimir@pobox.com>
2840
2841         * gdipFunctions.cs: Fix StreamGetBytesImpl to handle
2842         returning portions of the peek buffer back.  Fixes #57379.
2843
2844 2004-04-21 Peter Bartok <pbartok@novell.com>
2845    * Font.cs: Implemented Font.FromHfont method
2846    * gdipStructs.cs: fixed sign for LOGFONTA lfHeight member
2847    * gdipFunctions.cs: Added imports for functions required to support
2848    Font.FromHfont method
2849
2850 2004-04-21 Jordi Mas i Hernandez <jordi@ximian.com>
2851         * RectangleConverter.cs: stubbed out
2852         * Font.cs : added missing members
2853
2854 2004-04-19  Sanjay Gupta <gsanjay@novell.com>
2855         * Icon.cs: Fixed problem in extracting bitmap from Icon.
2856
2857 2004-04-16  Ravindra <rkumar@novell.com>
2858
2859         * Pen.cs: GC should be allowed to collect any pen including
2860         system pens.
2861         * SolidBrush.cs: GC should be allowed to collect any SolidBrush
2862         including system brushes.
2863         * Brushes.cs: Coding style.
2864         * Pens.cs: Objects created by Pens are not modifiable on
2865         MS.NET, so we are now. Also, coding style fixes.
2866         * SystemPens.cs: Removed static constructor and changed file
2867         format dos2unix.
2868         * SystemBrushes.cs: Some cosmetic changes.
2869
2870 2004-04-15  Sanjay Gupta <gsanjay@novell.com>
2871         * Icon.cs: Implemented more missing bits and fixed the problem
2872                 of icon not getting saved in proper format
2873
2874 2004-04-14  Sanjay Gupta <gsanjay@novell.com>
2875         * Icon.cs: Implemented more missing bits
2876
2877 2004-04-13  Sanjay Gupta <gsanjay@novell.com>
2878         * Icon.cs: Implemented few more missing bits
2879
2880 2004-04-12  Sanjay Gupta <gsanjay@novell.com>
2881         * Icon.cs: Implemented first version
2882
2883 2004-04-11  Peter Bartok <pbartok@novell.com>
2884    * Font.cs: Implemented Font.ToHfont method; used Jordi's suggestion of splitting
2885    the code and using our own private gdiplus function when on Unix and using Win32
2886    functions when running on Windows
2887    * gdipStructs.cs: Added LOGFONTA structure
2888    * gdipFunctions.cs: Added various DllImports required for Font.ToHfont
2889
2890 2004-04-10  Vladimir Vukicevic  <vladimir@pobox.com>
2891
2892         * Image.cs: Save should use encoder.FormatID, not Clsid
2893
2894 2004-04-06  Jordi Mas i Hernandez <jordi@ximian.com>
2895         * Region.cs: fixes GdipCombineRegionRect and GdipCombineRegionRectI signature
2896         * gdipFunctions.cs: fixes GdipCombineRegionRect and GdipCombineRegionRectI signature
2897
2898 2004-04-06  Duncan Mak  <duncan@ximian.com>
2899
2900         * gdipFunctions.cs (GdipCreatePath2): Fixed signature.
2901
2902 2004-04-06  Jordi Mas i Hernandez <jordi@ximian.com>
2903         * Region.cs: fixes GetRegionScans
2904         * gdipFunctions.cs: fixes GetRegionScans
2905
2906 2004-04-06  Vladimir Vukicevic  <vladimir@pobox.com>
2907
2908         * gdipFunctions.cs: Added stream delegate helpers for
2909         stream loading/saving on linux
2910
2911         * Image.cs, Bitmap.cs: Converted to call into GDIPlus for
2912         loading/saving image data.
2913
2914 2004-04-05  Jordi Mas i Hernandez <jordi@ximian.com>
2915         * Region.cs: implemented new methods
2916         * Graphics.cs: implemented new methods
2917
2918 2004-04-02  Jordi Mas i Hernandez <jordi@ximian.com>
2919         * Region.cs: implemented
2920
2921 2004-04-01  Duncan Mak  <duncan@ximian.com>
2922
2923         * Graphics.cs (DrawCurve): Call the correct GDI+ wrappers.
2924
2925         * gdipFunctions.cs (GdipAddPathCurveI):
2926         (GdipAddPathCurve2, GdipAddPathCurve2I):
2927         (GdipAddPathCurve3, GdipAddPathCurve3I):
2928         (GdipAddPathClosedCurve, GdipAddPathClosedCurveI):
2929         (GdipAddPathClosedCurve2, GdipAddPathClosedCurve2I): Added new
2930         wrappers from GDI+.
2931
2932 2004-03-30  Jordi Mas i Hernandez <jordi@ximian.com>    
2933         * Image.cs: implemented a few GDI+ wrapper calls
2934
2935 2004-03-30  Jordi Mas i Hernandez <jordi@ximian.com>
2936         * Bitmap.cs: remove redundant data already present at Image.cs
2937         * Image.cs: use GDI+ functions to get image details
2938         * StringFormat.cs: missing constructor and property
2939
2940 2004-03-24  Jordi Mas i Hernandez <jordi@ximian.com>
2941         * FontFamily.cs: added missing members and style clean
2942         * Graphics.cs: fixed signature of DrawArc and DrawPie
2943         * Image.cs: added missing members, fixes
2944         * StringFormat.cs: missing constructor and property
2945
2946 2004-03-24  Jordi Mas i Hernandez <jordi@ximian.com>
2947         * Graphics.cs: Added missing DrawImage GDI+ calls
2948         * gdipFunctions.cs: Added missing DrawImage GDI+ calls  
2949
2950 2004-03-23  Ravindra <rkumar@novell.com>
2951         * gdipFunctions.cs: Added few more P/Invoke calls for
2952         LinearGradientBrush.
2953
2954 2004-03-22  Ravindra <rkumar@novell.com>
2955         * gdipFunctions.cs: Added P/Invoke calls for LinearGradientBrush
2956         and did few coding style fixes.
2957
2958 2004-03-18  Ravindra <rkumar@novell.com>
2959         * Brush.cs: Fixed Dispose method.
2960         * SolidBrush.cs: Fixed clone method.
2961         * TextureBrush.cs: Fixed clone method.
2962         * gdipFunctions.cs: Fixed P/Invokes for PathGradientBrush.
2963
2964 2004-03-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2965
2966         * SizeConverter.cs: fixd typo in ConvertFrom that made height be wrong.
2967
2968 2004-03-10  Ravindra  <rkumar@novell.com>
2969         * Pen.cs: Implemented PenType property.
2970         * Brush.cs: Coding style.
2971
2972 2004-03-06  Ravindra  <rkumar@novell.com>
2973         * gdipFunctions.cs: Added few more GDI+ P/Invoke calls
2974         for PathGradientBrush.
2975
2976 2004-03-06  Ravindra  <rkumar@novell.com>
2977         * gdipFunctions.cs: Added GDI+ P/Invoke calls for
2978         PathGradientBrush.
2979
2980 2004-03-04  Duncan Mak  <duncan@ximian.com>
2981
2982         * Region.cs: Indentation.
2983
2984         * RectangleF.cs: Changed the internal structure from a PointF,
2985         SizeF to floats in order to match the layout from the C API.
2986
2987 2004-03-04  Jordi Mas i Hernandez <jordi@ximian.com>
2988         * StringFormat.cs: DigitSubstitution and TabStob methods, coding-style
2989
2990 2004-03-03  Sanjay Gupta <gsanjay@novell.com>
2991         * gdipFunctions.cs: Added functions for ImageAttributes
2992
2993 2004-03-03  Sanjay Gupta <gsanjay@novell.com>
2994         * Icon.cs: Missing function stubs added
2995         * Icon.cs: Missing function stubs added
2996         * IconConverter.cs: Missing function stubs added
2997         * ImageAnimator.cs: Missing function stubs added
2998         * ImageConverter.cs: Missing function stubs added
2999         * ImageFormatConverter.cs: Missing function stubs added
3000
3001 2004-03-02  Jordi Mas i Hernandez <jordi@ximian.com>
3002         * Font.cs: Allow multiple styles
3003         
3004 2004-02-25  Jordi Mas i Hernandez <jordi@ximian.com>
3005         * StringFormat.cs: Clone method
3006         
3007 2004-02-24  Jordi Mas i Hernandez <jordi@ximian.com>
3008         * font.cs: fixes, Clone, and ToString   
3009         
3010 2004-02-21  Jordi Mas i Hernandez <jordi@ximian.com>
3011         * gdipFunctions.cs: MeasureString 
3012         * Graphics.cs : MeasureString
3013         
3014 2004-02-17  Jordi Mas i Hernandez <jordi@ximian.com>
3015         * Font.cs: destructor and unit conversion 
3016         * Graphics.cs : system dpi support
3017
3018 2004-02-13  Ravindra <rkumar@novell.com>
3019         * Pen.cs: Fixed some bugs.
3020         * TextureBrush.cs: Fixed some bugs.
3021
3022 2004-02-13  Sanjay Gupta <gsanjay@novell.com>
3023         * gdipFunctions.cs: Added ImageCodecInfo functions
3024         * Image.cs: Added few methods 
3025
3026 2004-02-13  Jordi Mas i Hernandez <jordi@ximian.com>
3027         * FontFamily.cs: remove hardcoded font names, a few bug fixes
3028         
3029 2004-02-12  Sanjay Gupta <gsanjay@novell.com>
3030         * gdipFunctions.cs: Added Image class functions
3031         * Image.cs: Added few methods 
3032
3033 2004-02-10  Jordi Mas i Hernandez <jordi@ximian.com>
3034         * graphics.cs: fixes parameters for DrawStrings functions
3035
3036 2004-02-07  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3037
3038         * SRDescriptionAttribute.cs: Added and implemented
3039         * ToolboxBitmapAttribute.cs: Implemented a few members
3040         * SystemIcons.cs: Stubbed
3041         * StringFormat.cs: Implemented method
3042         * Region.cs: Added Todo, fixed attribute
3043         * Size.cs: Added attribute
3044         * SizeF.cs: Added attribute
3045         * RectangleF.cs: Added attributes
3046         * Rectangle.cs: Added attributes
3047         * PointF.cs: Added attribute
3048         * Point.cs: Added attribute
3049
3050 2004-02-06  Ravindra  <rkumar@novell.com>
3051
3052         * Brush.cs: Renamed GetException method to CheckStatus
3053         and moved it to gdipFunctions.cs.
3054         * gdipFunctions.cs: Added CheckStatus method.
3055         * SolidBrush.cs: Using CheckStatus method.
3056         * TextureBrush.cs: Using CheckStatus method.
3057         * gdipEnums.cs: Added a missing value.
3058
3059 2004-02-05  Ravindra  <rkumar@novell.com>
3060
3061         * Brush.cs: Added a missing namespace.
3062
3063 2004-02-05  Ravindra  <rkumar@novell.com>
3064
3065         * gdipFunctions.cs: Added methods for HatchBrush and 
3066         SolidBrush.
3067         * SolidBrush.cs: Added checks for status.
3068         * Brush.cs: Added support for HatchBrush and TextureBrush 
3069         types in internal CreateBrush() method.
3070
3071 2004-02-03  Jordi Mas  <jordi@ximian.com>
3072         * Font.cs: Setup font properties
3073
3074 2004-02-03  Ravindra  <rkumar@novell.com>
3075
3076         * TextureBrush.cs and Brush.cs: Moved GetException (Status)
3077         method from TextureBrush.cs to Brush.cs.
3078         * Brush.cs: Made GetException (Status) method internal.
3079
3080 2004-02-03  Sanjay Gupta <gsanjay@novell.com>
3081         
3082         * gdipFunctions.cs: Added methods for Image class.
3083
3084 2004-01-30  Ravindra  <rkumar@novell.com>
3085
3086         * TextureBrush.cs: Added more methods to complete it.
3087         * gdipFunctions.cs: Added methods for TextureBrush class.
3088
3089 2004-01-30  Ravindra  <rkumar@novell.com>
3090
3091         * gdipFunctions.cs: Added methods for TextureBrush class.
3092
3093 2004-01-30  Ravindra  <rkumar@novell.com>
3094
3095         * Pen.cs: Modified to handle TextureBrush also.
3096         * Bitmap.cs: Added one internal constructor.
3097         * TextureBrush.cs: Implemented.
3098
3099 2004-01-29  Duncan Mak  <duncan@ximian.com>
3100
3101         * gdipFunctions.cs
3102         * Graphics.cs: Indentation fixes, removed long dangling lines and
3103         extra spaces. 
3104
3105         * Graphics.cs (IsVisible): Renamed variable to not use hungarian
3106         notation.
3107
3108 2004-01-29  Sanjay Gupta <gsanjay@novell.com>
3109         
3110         * FontFamily.cs: Implemented few methods and a constructor
3111
3112 2004-01-28  Sanjay Gupta <gsanjay@novell.com>
3113
3114         * gdipFunctions.cs: Added FontFamily and FontCollection functions.
3115         * FontFamily.cs: Implemented missing functionalities.
3116
3117 2004-01-24  Duncan Mak  <duncan@ximian.com>
3118
3119         * Graphics.cs (DrawPath): Implemented.
3120
3121 2004-01-23  Ravindra  <rkumar@novell.com>
3122
3123         * Point.cs: ToString modified.
3124         * PointF.cs: ToString modified.
3125         * Size.cs: ToString modified.
3126         * SizeF.cs: ToString modified. ToPoint and ToSize methods
3127         are added.
3128
3129 2004-01-21  Jordi Mas i Hernàndez
3130         * Bitmap.cs: Several new methods added.
3131                 
3132 2004-01-21  Duncan Mak  <duncan@ximian.com>
3133
3134         * gdipFunctions.cs (GdipGetPathTypes, GdipGetPathPoints): Add
3135         OutAttribute to the array argument. This fixes the PathPoints
3136         property in System.Drawing.Drawing2D.GraphicsPath.
3137
3138 2004-01-20  Ravindra  <rkumar@novell.com>
3139
3140         * Pen.cs: Fixed bug #52811 in Pen.Transform property. Setting
3141         this property was hanging and getting was throwing a NullRef
3142         Exception. Earlier we were passing Matrix object to and fro
3143         which was causing the problem. Now, we are using IntPtr.
3144         Thanks to Duncan for helping me.
3145         Also, .NET behavior is to maintain Pen.Color and Pen.Brush
3146         together. If color is set, a SolidBrush automatically gets
3147         set with the same color, Pen loses the old brush object.
3148         If a SolidBrush is set, Pen.Color gets the value same as that
3149         of brush color losing the old value. Pen shows this behavior
3150         now.
3151         * gdipFunctions.cs: Changed the signature of GdipGetPenTransform
3152         and GdipSetPenTransform methods to use IntPtr instead of Matrix.
3153
3154 2004-01-19  Duncan Mak  <duncan@ximian.com>
3155
3156         * gdipFunctions.cs: Import functions for GraphicsPath.
3157
3158 2004-01-14  Ravindra <rkumar@novell.com>
3159                                                                                 
3160         * SolidBrush.cs: Made SolidBrush to initialize its color
3161         from IntPtr.
3162                                                                                 
3163         * gdipFunctions.cs: Added call to GdipGetSolidFillColor GDI+ API.
3164
3165 2004-01-11  Duncan Mak  <duncan@ximian.com>
3166
3167         * Bitmap.cs (LockBits): 
3168         * Graphics.cs (DrawString): Removed reference to GpRectF.
3169
3170 2004-01-09  Duncan Mak  <duncan@ximian.com>
3171
3172         * gdipStructs.cs (GpRectF, GpRect, GpPointF, GpPoint):
3173         Removed. Didn't know that structs are laid out sequentially by
3174         default. We don't need these anymore.
3175
3176 2004-01-12 Ben Maurer  <bmaurer@users.sourceforge.net>
3177
3178         * Color.cs: Keep KnownColors in an array so that we avoid ht lookup.
3179
3180 2004-01-11  Daniel Morgan <danielmorgan@verizon.net>
3181
3182         * Graphics.cs: fix compile error on Windows builds for out 
3183         parameter state in call to GdipSaveGraphics
3184
3185 2004-01-10  Ravindra  <rkumar@novell.com>
3186
3187         * All Enums: Made serializable.
3188
3189         * Image.cs: Corrected signature of Dispose(bool) method.
3190
3191         * Pen.cs, SolidBrush.cs, SystemPens.cs, SystemBrushes.cs: 
3192         Corrected coding style mistakes of my previous commit.
3193
3194         * PointConverter.cs, RectangleConverter.cs: Inherit TypeConverter.
3195
3196         * PointF.cs, RectangleF.cs, SizeF.cs: Made serializable.
3197
3198         * StringFormat.cs: Inherits MarshalByRefObject.
3199
3200         * ToolboxBitmapAttribute.cs: Added missing attribute [AttributeUsage].
3201
3202 2004-01-08  Ravindra  <rkumar@novell.com>
3203
3204         * Pen.cs: Added isModifiable (bool) variable. It is required to
3205         make Pens created by SystemPens.cs unmodifiable. All property
3206         setters are modified for this.
3207
3208         * SolidBrush.cs: Added isModifiable variable (bool). It is
3209         required to make Brushes created by SystemBrushes.cs unmodifiable.
3210         All property setters are modified for this.
3211
3212         * SystemBrushes.cs: Modified all the properties as per the .NET
3213         specs, so that Brushes are not created every time. Also, missing
3214         properties are added.
3215
3216         * SystemPens.cs: Modified all the properties as per the .NET
3217         specs, so that Brushes are not created every time. Also, missing
3218         properties are added.
3219
3220 2003-12-12  Miguel de Icaza  <miguel@ximian.com>
3221
3222         * Rectangle.cs: Patch from Bryan Bulten, fixes Inflate and makes
3223         it serializable
3224
3225 2004-01-06  Duncan Mak  <duncan@ximian.com>
3226
3227         * gdipFunctions.cs: Import GraphicsPath functions from GDI+.
3228
3229 2003-12-21  Duncan Mak  <duncan@ximian.com>
3230
3231         * Graphics.cs (DrawArc): Fixed the method signature and hooked it
3232         up to the GDI+ implementation.
3233         (RotateTransform): Uncommented.
3234
3235         * gdipFunctions.cs (DrawArc, DrawArcI): Import from
3236         libgdiplus.so.dll.
3237
3238 2003-12-13  Todd Berman  <tberman@sevenl.net>
3239
3240         * Font.cs: Implementing a couple things for porting purposes
3241         * SystemBrushes.cs: ^
3242         * StringFormat.cs: ^^
3243
3244 2003-11-28  Duncan Mak  <duncan@ximian.com>
3245
3246         * Pen.cs (CompoundArray): Hide this for now.
3247
3248 2003-11-28  Duncan Mak  <duncan@ximian.com>     
3249
3250         * Brush.cs (CreateBrush): new internal factory method for creating
3251         specific brushes based on the internal (GDI+ C API) BrushType
3252         enum.
3253         (Brush (IntPtr)): new internal constructor.
3254
3255         * Pen.cs: Removed all the C# fields. We are using GDI+ completely
3256         now.
3257         (Pen (IntPtr)): new internal constructor.
3258         (Pen (Brush, float)): Use GdipCreateBrush2.
3259         (Clone): Implemented using GdipClonePen.
3260         (Alignment, Brush, Color, Width): Use GDI+ implementations
3261         instead.
3262         (CompoundArray, DashCap, DashOffset, DashPattern, DashStyle):
3263         Implemented these properties.
3264         (CustomStartCap, CustomEndCap, StartCap, EndCap, SetLineCap): Stubbed.
3265         (MultiplyTransform, ResetTransform, RotateTransform):
3266         (ScaleTransform, TranslateTransform): Implemented these methods.
3267
3268         * SolidBrush.cs (SolidBrush (IntPtr)): new internal constructor.
3269
3270         * gdipEnums.cs (BrushType): Added new GDI+ enum.
3271
3272         * gdipFunctions.cs: Imported new Brush and Pen functions.
3273
3274 2003-11-22  Duncan Mak  <duncan@ximian.com>
3275
3276         * gdipFunctions.cs
3277         (GdipResetWorldTransform, GdipSetWorldTransform):
3278         (GdipGetWorldTransform, GdipScaleWorldTransform): Imported.
3279
3280         * Graphics.cs: Remove unnecessary TODO, and reformatted the code.
3281         (transform): Removed this field. Always use the
3282         matrix associated in the GpGraphics ptr.
3283         (DrawBeziers): Implemented.
3284         (DrawLine): Don't need to manually invoke the transform now.
3285         (MultiplyTransform, ResetTransform): 
3286         (ScaleTransform, TranslateTransform): Use GDI+ implementation.
3287         (Transform): Instead of storing a Matrix in managed code, use
3288         equivalent GDI+ functions.
3289
3290 2003-11-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3291
3292         * SizeConverter.cs: fixed class signature and implemented some methods.
3293
3294 2003-11-17  Duncan Mak  <duncan@ximian.com>
3295
3296         * gdipFunctions.cs (GdipGetMatrixElements): Fix signature.
3297         
3298         * Graphics.cs (MultiplyTransform): Commented out until my Matrix commit.
3299
3300 2003-11-17  Duncan Mak  <duncan@ximian.com>
3301         
3302         * Bitmap.cs (LockBits):
3303         * Graphics.cs (DrawString): Use GpRectF.
3304
3305         * gdipFunctions.cs: Updated method signatures.  
3306
3307         * Graphics.cs (MultiplyTransform): Implemented using
3308         GdipMultiplyWorldTransform from GDI+.
3309
3310         * gdipStructs.cs (GdipRectF, GdipRect): Renamed to GpRectF and
3311         GpRect, to be more consistent with the C naming.
3312
3313 2003-11-16  Miguel de Icaza  <miguel@ximian.com>
3314
3315         * Graphics.cs: Implement the other DrawString overloads .
3316
3317 2003-11-16  Miguel de Icaza  <miguel@ximian.com>
3318
3319         * gdipStructs.cs (GdipRectF): Added utility constructor
3320
3321 2003-11-15  Duncan Mak  <duncan@ximian.com>
3322
3323         * gdipFunctions.cs: Imported matrix functions.
3324
3325 2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3326
3327         * Bitmap.cs: Added Attributes
3328         * ColorTranslator.cs: Added private constructor
3329         * Font.cs: Added Attributes
3330         * FontFamily.cs: sealed
3331         * Icon.cs: Added Attributes
3332         * IconConverter.cs: Fixed signature
3333         * Image.cs: Added attributes
3334         * ImageAnimator.cs: 
3335         * ImageConverter.cs:
3336         * ImageFormatConverter.cs:
3337         * SolidBrush.cs:
3338         * StringFormat.cs:
3339         * SystemBrushes.cs:
3340         * SystemColors.cs:
3341         * SystemIcons.cs:
3342         * SystemPens.cs:
3343         * TextureBrush.cs: Fixed signature
3344         * Color.cs: Added attributes
3345         * Point.cs:
3346         * PointF.cs:
3347         * Rectangle.cs:
3348         * Size.cs:
3349         * SizeF.cs: Added attributes
3350         * ContentAlignment.cs: Added attribute
3351
3352 2003-11-13  Duncan Mak  <duncan@ximian.com>
3353
3354         * Pen.cs (LineCap, LineJoin, MiterLimit, Transform): implemented.
3355
3356         * gdipFunctions.cs
3357         (GdipSetPenMiterLimit, GdipGetPenMiterLimit):
3358         (GdipSetPenLineJoin, GdipGetPenLineJoin): 
3359         (GdipSetPenLineJoin, GdipGetPenTransform): imported.
3360
3361 2003-11-12  Alexandre Pigolkine <pigolkine@gmx.de>
3362         * Bitmap.cs
3363         * gdipFunctions.cs              copy image in Bitmap constructor
3364         
3365 2003-11-06  Duncan Mak  <duncan@ximian.com>
3366         * Graphics.cs (DrawPie): Use DrawPieI instead of DrawPie and fix
3367         angle parameters for the integer case.
3368         (DrawBezier): Hook it up with GdipDrawBezier.
3369         (DrawEllipse): Fix Width, Height ordering.
3370
3371 2003-11-05  Duncan Mak  <duncan@ximian.com>
3372
3373         * Graphics.cs (DrawPie): 
3374         * gdipFunctions.cs (GdipDrawPie): Add hooks to the implementation
3375         in graphics.c.
3376         
3377 2003-10-28  Duncan Mak  <duncan@ximian.com>
3378
3379         * Graphics.cs (DrawEllipse, DrawLine, DrawPolygon):
3380         (FillEllipse, FillPolygon): implemented.
3381         (RenderingOrigin): implemented.
3382
3383         * gdipFunctions.cs: Added new GDI+ equivalents.
3384
3385 2003-10-25  Alexandre Pigolkine <pigolkine@gmx.de>
3386         * Bitmap.cs
3387         * Image.cs                      small fixes
3388         
3389 2003-10-25  Atsushi Enomoto  <ginga@kit.hi-ho.ne.jp>
3390
3391         * Image.cs : renamed 'pallete' to 'colorPallete' for CLS compliance.
3392
3393 2003-10-24  Miguel de Icaza  <miguel@ximian.com>
3394
3395         * SystemBrushes.cs: Some more brushe3s.
3396
3397         * SystemPens.cs: More pens.
3398
3399         * Pen.cs: Implement IDisposable, ICloneable.
3400
3401         * Region.cs: Add some more stubs here.
3402
3403         * StringFormat.cs: Add some more code here.
3404
3405 2003-10-23  Miguel de Icaza  <miguel@ximian.com>
3406
3407         * Image.cs: Kill the InternalImageInfo, everything is now done in
3408         terms of Image and BitmapData.
3409
3410         * Rectangle.cs: Make this one also sequential, change from using
3411         Point + Size to use x, y, width, height;  So we can use GdiPlus.
3412
3413         * gdipFunctions.cs (GdipBitmapLockBits): Remove the ref from the
3414         BitmapData class argument, and instead use the [In,Out]
3415         attributes, which will do struct marshalling on the fields.   Now
3416         we can use C#'s BitmapData directly to talk to Gdiplus.
3417
3418         * gdipStructs.cs: Every internal structure that has to talk to
3419         Gdi+ is properly prefixed, to minimize the confussion.
3420
3421         * Bitmap.cs Bitmap (int width, int height, PixelFormat format):
3422         Compute the stride here where we have the BPP information,
3423         allocate a buffer of the proper size, and pass this to
3424         GdipCreateBitmapFromScan0 
3425
3426         * Image.cs: Implement Dispose pattern.
3427
3428 2003-10-14  Alexandre Pigolkine <pigolkine@gmx.de>
3429         * Graphics.cs
3430         * gdipFunctioncs.cs             
3431         * gdipStructs.cs                DrawString function added
3432
3433 2003-10-12  Alexandre Pigolkine <pigolkine@gmx.de>
3434         * gdipEnums.cs 
3435         * gdipFunctions.cs 
3436         * gdipStructs.cs                added 
3437                                                 
3438
3439 2003-10-12  Alexandre Pigolkine <pigolkine@gmx.de>
3440         * Bitmap.cs
3441         * Brush.cs
3442         * Font.cs
3443         * FontFamily.cs
3444         * Graphics.cs
3445         * Image.cs
3446         * Pen.cs
3447         * SolidBrush.cs
3448                                                 implementation changed to gdi+
3449
3450 2003-09-08  Duncan Mak  <duncan@ximian.com>
3451
3452         * Factories.cs (DefaultImplementationNamespace): Change it from
3453         "XrImpl" to "Cairo".
3454
3455 2003-08-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3456
3457         * Color.cs: fixed FromArgb to handle alpha value correctly. Closes
3458         bug #47727.
3459
3460 2003-08-08  Duncan Mak  <duncan@ximian.com>
3461
3462         * Graphics.cs (DrawBezier): Fixed.
3463
3464 2003-08-03  Alexandre Pigolkine <pigolkine@gmx.de>
3465         * Graphics.cs  delegate Dispose to implementation
3466
3467 2003-08-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3468
3469         * FontConverter.cs: stub it out so that system.web compiles.
3470
3471 2003-07-30 Alexandre Pigolkine <pigolkine@gmx.de>
3472         * Image.cs      InternalImageInfo class improved
3473
3474 2003-07-23  Miguel de Icaza  <miguel@ximian.com>
3475
3476         * Factories.cs: If the AppDomain key `Mono.Running.Windows.Forms'
3477         is set, default to Win32Impl 
3478
3479 2003-07-22 Alexandre Pigolkine <pigolkine@gmx.de>
3480         * Image.cs      implementation added
3481         
3482 2003-07-21  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3483
3484         * Icon.cs: Stubed out (fix for System.Drawing.Design)
3485
3486 2003-07-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
3487
3488         * StringFormat.cs: Changes to become CLS-compliant
3489
3490 2003-07-14  Miguel de Icaza  <miguel@ximian.com>
3491
3492         * Factories.cs: Remove debugging message.
3493
3494 2003-07-01 Alexandre Pigolkine <pigolkine@gmx.de>
3495         * Color.cs      code generation program modified
3496
3497 2003-06-29 Alexandre Pigolkine
3498         * Graphics.cs   image drawing
3499
3500 2003-06-28 Alexandre Pigolkine <pigolkine@gmx.de>
3501         * Color.cs                      
3502         * SystemColors.cs       
3503                 supply KnowColor enum value to save Enum.Parse at runtime
3504
3505 2003-06-26 Alexandre Pigolkine <pigolkine@gmx.de>
3506         * Graphics.cs           coordinate transformations
3507         * Image.cs                      small fix
3508
3509 2003-06-22 Alexandre Pigolkine <pigolkine@gmx.de>
3510         * Factories.cs
3511         * FontFamily.cs         more implementation
3512
3513 2003-06-20 Alexandre Pigolkine <pigolkine@gmx.de>
3514         * Font.cs
3515         * FontFamily.cs         more implementation
3516
3517 2003-06-18 Alexandre Pigolkine <pigolkine@gmx.de>
3518         * Graphics.cs           few more calls to implementation
3519
3520 2003-06-15 Alexandre Pigolkine <pigolkine@gmx.de>
3521     * Bitmap.cs                 BITMAP declaration removed
3522         * Graphics.cs           few more calls to implementation
3523         * Image.cs                      InternalImageInfo structure, image read/write functions
3524                         
3525                         
3526 2003-05-26 Alexandre Pigolkine <pigolkine@gmx.de>
3527         * Factories.cs  analyse environment variable and machine.config to select implementation
3528         * Image.cs              PixelFormat property added
3529
3530 2003-04-30  Nick Drochak <ndrochak@gol.com>
3531
3532         * Factories.cs: Change weird characters that broke build on windows.
3533
3534 2003-04-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3535
3536         * ColorConverter.cs:
3537         (ConvertFrom): return a system or named color if there's one that fits
3538         teh values parsed with Color.FromArgb.
3539
3540 2003-04-26  Alexandre Pigolkine <pigolkine@gmx.de>
3541         * Bitmap.cs
3542         * Brush.cs
3543         * Font.cs
3544         * Graphics.cs
3545         * Image.cs
3546         * Pen.cs
3547         * SolidBrush.cs
3548         * SystemBrushes.cs
3549         * Factories.cs
3550                         delegate function calls to implementation
3551
3552 2003-04-26  Alexandre Pigolkine <pigolkine@gmx.de>
3553         * Bitmap.cs
3554         * ChangeLog
3555         * Image.cs
3556         * SystemBrushes.cs              switch to Linux style line terminators
3557
3558 2003-03-29 Alan Tam <Tam@SiuLung.com>
3559         * ToolboxBitmapAttribute
3560                 stubbed more constructors and fixed base class
3561
3562 2003-03-01 Alexandre Pigolkine <pigolkine@gmx.de>
3563         * SystemBrushes.cs
3564                         added stubs to compile SWF
3565
3566
3567 2003-02-21  Alexandre Pigolkine <pigolkine@gmx.de>
3568         * Font.cs
3569         * Graphics.cs
3570         * Image.cs
3571         * SystemBrushes.cs
3572                         small changes to be able to run SWF apps
3573
3574 2003-02-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3575
3576         * Graphics.cs: stubbed out all the methods.
3577
3578 2003-02-08 Piers Haken <piersh@friskit.com>
3579
3580         * fixed case of pens.cs and font.cs
3581
3582 2003-02-07 Alexandre Pigolkine <pigolkine@gmx.de>
3583         * Font.cs Added
3584         * Graphics.cs
3585         * StringFormat.cs 
3586         * SystemBrushes.cs
3587                 stubs added
3588
3589 2002-11-21 Dennis Hayes (dennish@raytek.com)
3590         * checkin for Matt Stump (mstump@swfo.arizona.edu)
3591         * Pens.cs
3592         * Added file
3593
3594 2002-10-19  Rachel Hestilow <hestilow@ximian.com>
3595
3596         * ColorTranslator.cs (FromHtml): Implement.
3597         
3598 2002-10-14 Dennis Hayes (dennish@raytek.com)
3599         * Region.cs
3600         * changed using namespace from Drawing2d to Drawing2D
3601
3602  2002-9-15 Asier Llano <asierllano@infonegocio.com>
3603         
3604         * Fixes the enum values in the following enums
3605         * ContentAlignment.cs:
3606         * FontStyle.cs:
3607         * GraphicsUnit.cs:
3608         * KnownColor.cs:
3609         * RotateFlipType.cs:
3610         * StringAligment.cs:
3611         * StringDigitSubstitute.cs:
3612         * StringFormatFlags.cs:
3613         * StringTrimming.cs:
3614         * StringUnit.cs: 
3615         * SolidBrush.cs: Easy implementation
3616         * Brushes.cs:    Implementation based on SolidBrush and Color class.
3617         * Brush.cs:      Fixes based on the status web).
3618         * CharacterRange.cs: Implemented the missing Lenth property.
3619
3620 2002-9-14 Dennis Hayes (dennish@raytek.com)
3621         
3622         * sample.cs
3623         * removed personal template that should not have been checked in
3624
3625 2002-09-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3626
3627         * ColorConverter.cs: readded MonoTODOs and implemented a couple of
3628         methods.
3629
3630 2002-9-14  DennisHayes <dennish@raytek.com>
3631
3632         * FontConverter.cs
3633         * FontFamily.cs
3634         * Icon.cs
3635         * IconConverter.cs
3636         * ImageAnimator.cs
3637         * ImageConverter.cs
3638         * ImageFormatConverter.cs
3639         * PointConverter.cs
3640         * RectangleConverter.cs
3641         * Sample.cs
3642         * SizeConverter.cs
3643         * SolidBrush.cs
3644         * StringFormat.cs
3645         * SystemBrushes.cs
3646         * SystemIcons.cs
3647         * SystemPens.cs
3648         * TextureBrush.cs
3649         * ToolboxBitmapAttribute.cs
3650         * Added null classes for most/all classes, Many stubs, and some implmentation
3651
3652 2002-9-2  DennisHayes <dennish@raytek.com>
3653
3654         * Bitmap.cs
3655         * Color.cs
3656         * ColorConverter.cs
3657         * Image.cs
3658         * Pen.cs
3659         * Added stubs, implmentation
3660
3661 2002-9-2  DennisHayes <dennish@raytek.com>
3662
3663         * Brushes.cs : stubbed, added colors. Not sure how to implement,
3664                                  but this should at least save someone some typing.
3665         * CharacterRange.cs :Implmented
3666         * Region.cs : stub needed for system.windows.forms
3667
3668 2002-07-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3669
3670         * ColorTranslator.cs: use Color.Name.
3671
3672 2002-07-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3673
3674         * Color.cs: implemented SystemColors and NamedColors properties that
3675         are used by ColorConverter, removed public constructor, use
3676         SystemColors, and misc. fixes to make it behave as MS (ToString,
3677         parsing names, FromKnownColor,...).
3678
3679         * ColorConverter.cs: use NamedColors and SystemColors from Color when
3680         trying to get the color from its name.
3681
3682         * SystemColors.cs: new file.
3683
3684 2002-07-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3685
3686         * Color.cs: changed static properties to use FromArgbNamed. Also
3687         modified the program included in comments that get the values for
3688         static properties.
3689
3690         (FromArgbNamed): build named colors.
3691         (FromKnownColor): fixed.
3692         (FromName): use a hash to look up colors by name.
3693         (FillColorNames): create the hash of colors.
3694         (Equals): compare values and name.
3695         (ToString): improved.
3696
3697         * ColorTranslator.cs: implemented ToHtml.
3698
3699 2002-06-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3700
3701         * Color.cs: added TypeConverter attribute.
3702         
3703         * ColorConverter.cs: added constructor.
3704
3705 2002-06-15  Gonzalo Paniagua Javier <gonzalo@ximian.com>
3706
3707         * ColorConverter.cs: implemented minimal set of features needed by xsp.
3708
3709 2002-05-03  Mike Kestner <mkestner@speakeasy.net>
3710
3711         * Bitmap.cs : using System.IO
3712         * ColorTranslator.cs : Stubbed off build breakers.
3713         * Image.cs : Stub off IDisposable and ICloneable.
3714         
3715 2002-04-27  Christian Meyer  <Christian.Meyer@cs.tum.edu>
3716
3717         * Bitmap.cs: Ximian is the new copyright holder now.
3718         * Image.cs: ditto
3719
3720 2002-04-05  Christian Meyer  <Christian.Meyer@cs.tum.edu>
3721
3722         * Uppercased several files.
3723
3724 2002-04-05  Christian Meyer  <Christian.Meyer@cs.tum.edu>
3725
3726         * color.cs: Fixed a typo in GetSaturation ().
3727
3728 2002-02-26  Christian Meyer  <Christian.Meyer@cs.tum.edu>
3729
3730         * Bitmap.cs: Added method headers.
3731
3732 2002-02-25  Christian Meyer  <Christian.Meyer@cs.tum.edu>
3733
3734         * Bitmap.cs: Added, no implementation's done, yet.
3735
3736 2001-12-15  Mike Kestner <mkestner@speakeasy.net>
3737
3738         * Rectangle.cs : Add a doc comment.
3739         * RectangleF.cs : New struct implementation.
3740
3741 2001-12-15  Mike Kestner <mkestner@speakeasy.net>
3742
3743         * Rectangle.cs : New struct implementation.
3744
3745 2001-08-17  Mike Kestner <mkestner@speakeasy.net>
3746
3747         * PointF.cs, Size.cs, SizeF.cs : New struct implementations.
3748
3749 2001-08-16  Mike Kestner <mkestner@speakeasy.net>
3750
3751         * Point.cs : New. Implementation of System.Drawing.Point struct.
3752