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