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