2006-12-30 Alp Toker <alp@atoker.com>
[mono.git] / mcs / class / Mono.Cairo / ChangeLog
1 2006-12-30  Alp Toker  <alp@atoker.com>
2
3         * Makefile: Enable CAIRO_1_2.
4
5 2006-12-28  Alp Toker  <alp@atoker.com>
6
7         * Mono.Cairo/DirectFBSurface.cs: Confusion between the DirectFB
8         surface handle and Cairo surface handle was making the public
9         constructor unusable.
10
11 2006-12-27  Alp Toker  <alp@atoker.com>
12
13         * Mono.Cairo.dll.sources:
14         * Mono.Cairo/Context.cs:
15         * Mono.Cairo/GlitzSurface.cs: Add new surface.
16
17 2006-12-27  Alp Toker  <alp@atoker.com>
18
19         * Mono.Cairo/Cairo.cs:
20         * Mono.Cairo/Status.cs: Add new API for 1.4
21
22 2006-12-07  Alp Toker  <alp@atoker.com>
23
24         * Mono.Cairo/Context.cs: Add GroupTarget cases for Xcb and DirectFB
25         surfaces.
26
27 2006-09-19 Jordi Mas <jordimash@gmail.com>
28
29         * Surface.cs, Cairo.cs: the parameters for Show are X,Y not witdh 
30         and height and also double not int.
31
32 2006-07-21  Alp Toker  <alp@atoker.com>
33
34         * Mono.Cairo.dll.sources:
35         * Mono.Cairo/DirectFBSurface.cs:
36         * Mono.Cairo/XcbSurface.cs: Add new surfaces.
37
38 2006-07-06  John Luke  <john.luke@gmail.com>
39
40         * Mono.Cairo/Cairo.cs:
41         * Mono.Cairo/ImageSurface.cs: Marshal data correctly
42
43 2006-07-01  John Luke  <john.luke@gmail.com>
44
45         * Mono.Cairo/Context.cs:
46         * Mono.Cairo/PdfSurface.cs:
47         * Mono.Cairo/PSSurface.cs:
48         * Mono.Cairo/Cairo.cs:
49         * Mono.Cairo/XlibSurface.cs:
50         * Mono.Cairo/SvgSurface.cs: add some new surface API I missed
51
52 2006-07-01  John Luke  <john.luke@gmail.com>
53
54         * Mono.Cairo/Status.cs:
55         * Mono.Cairo/Context.cs:
56         * Mono.Cairo/FontFace.cs:
57         * Mono.Cairo/Surface.cs:
58         * Mono.Cairo/Format.cs:
59         * Mono.Cairo/LinearGradient.cs:
60         * Mono.Cairo/SolidPattern.cs:
61         * Mono.Cairo/Win32Surface.cs:
62         * Mono.Cairo/Pattern.cs:
63         * Mono.Cairo/SurfacePattern.cs:
64         * Mono.Cairo/ImageSurface.cs:
65         * Mono.Cairo/Cairo.cs:
66         * Mono.Cairo/Gradient.cs:
67         * Mono.Cairo/XlibSurface.cs:
68         * Mono.Cairo/RadialGradient.cs: add remaining new API for cairo 1.2
69         
70 2006-07-01  John Luke  <john.luke@gmail.com>
71
72         * Mono.Cairo/FontType.cs:
73         * Mono.Cairo/PatternType.cs: add new enums for cairo 1.2
74
75 2006-06-25  John Luke  <john.luke@gmail.com>
76
77         * Mono.Cairo/Surface.cs: make Destroy() call Dispose()
78         so all the Disposable stuff happens correctly and only once
79         
80 2006-06-23  John Luke  <john.luke@gmail.com>
81
82         * Mono.Cairo/Pattern.cs:
83         * Mono.Cairo/SolidPattern.cs:
84         * Mono.Cairo/SurfacePattern.cs:
85         * Mono.Cairo/Gradient.cs:
86         * Mono.Cairo/LinearGradient.cs:
87         * Mono.Cairo/RadialGradient.cs: split the pattern/gradients
88         into their own files
89         
90 2006-06-23  John Luke  <john.luke@gmail.com>
91
92         #if CAIRO_1_2 changes
93         
94         * Mono.Cairo/Surface.cs: add SetFallbackResolution
95         * Mono.Cairo/CairoAPI.cs: remove old pdf/ps api and
96         add some of the new API
97         * Mono.Cairo/SurfaceType.cs:
98         * Mono.Cairo/SvgSurface.cs:
99         * Mono.Cairo/SvgVersion.cs: add these
100         
101 2006-06-23  John Luke  <john.luke@gmail.com>
102
103         * Mono.Cairo/Surface.cs:
104         * Mono.Cairo/ImageSurface.cs:
105         * Mono.Cairo/PDFSurface.cs:
106         * Mono.Cairo/PSSurface.cs:
107         * Mono.Cairo/Win32Surface.cs:
108         * Mono.Cairo/XlibSurface.cs: split the surfaces into
109         their own files, make pdf and ps reflect what will be
110         in the cairo 1.2 api
111
112 2006-06-23  John Luke  <john.luke@gmail.com>
113
114         * snippets/*.cs: use Cairo.Context instead of Cairo.Graphics
115         * Samples/*/Makefile: add to ease building of samples
116         
117 2006-05-02  Zac Bowling  <zac@zacbowling.com>
118         
119         * Mono.Cairo/Surface.cs: string should be byte[]
120         * Mono.Cairo/Cairo.cs: string should be byte[]
121         (Patch from Philipp Baer <phbaer@npw.net>)
122
123 2006-01-17  Alp Toker  <alp@atoker.com>
124
125         * Samples/x11/compile.sh: Remove unused gtk-sharp reference
126
127 2005-12-19  Wade Berrier <wberrier@novell.com>
128
129         * Mono.Cairo/Makefile: Fix EXTRA_DIST to include samples
130
131 2005-12-19  Peter Dennis Bartok  <pbartok@novell.com>
132
133         * Mono.Cairo/Format.cs: Removed fixme, added names in .Net format
134         * Mono.Cairo/Surface.cs: Removed fixme, added static method 
135           FromBitmap() to allow creating a surface from a bitmap
136         * Mono.Cairo/Pattern.cs: Removed fixme to not tempt anyone to change
137           the name down the road
138
139 2005-12-16  John Luke  <john.luke@gmail.com>
140
141         * Mono.Cairo/FontOptions.cs: fix bug with
142         fontOptions == null, check parameter to Merge
143         against null
144         * Mono.Cairo/Glyph.cs: add setters to properties
145         
146 2005-12-16  John Luke  <john.luke@gmail.com>
147
148         * Mono.Cairo/Cairo.cs: organize and add missing API
149         split out enums and structs
150         * Mono.Cairo/*.cs: add enums and structs as seperate files
151         implement ==, !=, Equals, and GetHashCode for the structs
152         move public fields to properties
153
154 2005-12-16  John Luke  <john.luke@gmail.com>
155
156         * Mono.Cairo/Cairo.cs:
157         * Mono.Cairo/Context.cs:
158         * Mono.Cairo/Pattern.cs:
159         * Mono.Cairo/Surface.cs: add MarkDirty and Flush,
160         mark Surface.Pointer obsolete in favor of Handle
161
162 2005-12-16  John Luke  <john.luke@gmail.com>
163
164         * Mono.Cairo.dll.sources:
165         * Mono.Cairo/Rectangle.cs: add
166         * Mono.Cairo/Cairo.cs: mark fill_extents and stroke extents
167         with out modifiers
168         * Mono.Cairo/Context.cs: FillExtents, and StrokeExtents return
169         a Rectangle (actually 2 points), remove previously unusable
170         versions, add an overload to Rectangle that takes a Rectangle
171         
172 2005-12-12  Mike Kestner  <mkestner@novell.com>
173
174         * Mono.Cairo/Context.cs: renamed from Graphics.cs. renamed Graphics to
175         Context and added an Obsolete subclass to minimize the pain.
176         * Mono.Cairo/Surface.cs : s/Graphics/Context.  
177         Thanks to jluke for pointing out this change was needed.
178
179 2005-12-06  John Luke  <john.luke@gmail.com>
180
181         * Mono.Cairo/Cairo.cs: fix Content and  Format values,
182         fixes the knockout/circles sample
183         * Samples/png/circles.cs:
184         * Samples/png/knockout.cs: replace circles with knockout,
185         which uses the newer style api and works
186
187 2005-12-02  Ben Maurer  <bmaurer@ximian.com>
188
189         * Mono.Cairo/Graphics.cs: Api fixups
190                 - Make Point, et al. structs like all other apis
191                 - Use properties rather than public fields
192                 - Obsolete the plurality of ways to set the color.
193
194 2005-11-27  John Luke  <john.luke@gmail.com>
195
196         * Mono.Cairo/Graphics.cs: add back FontSetSize,
197         FontSize setter, and FontFace as obsolete API
198
199 2005-11-25  John Luke  <john.luke@gmail.com>
200
201         * Mono.Cairo/Cairo.cs: add font_options* api
202         add cairo_get_font_matrix
203         * Mono.Cairo/FontOptions.cs: add
204         * Mono.Cairo/Graphics.cs: add FontOptions property,
205         remove FontSize setter and FontSetSize(),
206         remove FontFace() method as SelectFontFace already exists
207         remove non-existant TransformFont() and Font property
208         
209 2005-11-16  John Luke  <john.luke@gmail.com>
210
211         * snippets/*.cs: add snippets port
212         
213 2005-11-10  John Luke  <john.luke@gmail.com>
214
215         * Mono.Cairo/Graphics.cs:
216         * Mono.Cairo/Surface.cs: remove debugging output
217         
218 2005-10-09  Miguel de Icaza  <miguel@novell.com>
219
220         * Samples/gtk/sysdraw.cs: Fix the sample
221         
222
223 2005-09-19  John Luke  <john.luke@gmail.com>
224
225         * Mono.Cairo/Graphics.cs: add SelectFontFace and SetFontSize
226
227 2005-09-12  Hisham Mardam Bey  <hisham.mardambey@gmail.com>
228
229         * Samples/: Fix all samples to work with new API changes.
230
231 2005-09-12  John Luke  <john.luke@gmail.com>
232
233         * Mono.Cairo/Surface.cs: add two ImageSurface ctors
234         Obsolete Surface CreateForImage methods in favor of
235         the new ImageSurface ctors
236         * Mono.Cairo/Cairo.cs: add cairo_text_extents
237         * Mono.Cairo/Graphics.cs: add TextExtents ()
238         
239         
240 2005-09-07  John Luke  <john.luke@gmail.com>
241
242         * Mono.Cairo/Graphics.cs: the Relative path methods
243         should use a Distance not a PointD, and update some
244         parameter names for better documentation purposes
245         remove SetTargetImage (), and SetTargetDrawable ()
246         use Graphics.Target = Surface instead
247         * Mono.Cairo/Surface.cs: don't reference the surface after
248         we create it as it is not necessary
249         add the new surfaces to the surfaces hashtable on instantiation 
250         * Mono.Cairo/Pattern.cs: don't reference the pattern after
251         we create it as it is not necessary
252         
253 2005-09-07 Hisham Mardam Bey <hisham.mardambey@gmail.com>
254
255         * Samples/png: Fixed samples with new changes.
256         * Samples/x11: Fixed samples with new changes.
257         * Samples/gtk: Fixed samples with new changes.  
258
259 2005-09-06  John Luke  <john.luke@gmail.com>
260
261         * Samples/gtk/circles.cs: fix partially broken sample
262
263 2005-09-06  John Luke  <john.luke@gmail.com>
264
265         * Mono.Cairo/Surface.cs: make CreateSimilar non-static
266         and use Content instead of Format, add Surface.Status
267         * Mono.Cairo/Graphics.cs: add convenience
268         ctor to Color with an alpha of 1.0
269         add Tolerance getter, Change SetDash to compute
270         the length automatically, rename TargetSurface to Target,
271         add SetSourceRGB, SetSourceRGBA, and SetSourceSurface (),
272         add Paint, PaintWithAlpha, Mask, and MaskSurface (),
273         add StrokeExtents, FillExtents, ClipPreserve (), and CopyPage ()
274         * Mono.Cairo/Cairo.cs: add new imports:
275         cairo_stroke_extents, cairo_fill_extents,
276         cairo_clip_preserve, cairo_mask, cairo_mask_surface,
277         cairo_paint_with_alpha, cairo_surface_status
278         add Content enum and fix cairo_surface_create_similar to use
279         Content not Format
280         
281 2005-09-05  John Luke  <john.luke@gmail.com>
282
283         * Mono.Cairo/Samples/gtk/Graphics.cs:
284         add gtk-cairo helper that will work on win32 and
285         x11 based on gtk-dotnet in gtk#, not yet tested on
286         windows
287
288 2005-09-05  John Luke  <john.luke@gmail.com>
289
290         * Mono.Cairo/Samples/win32/compile.sh: add this
291         
292 2005-09-04  John Luke  <john.luke@gmail.com>
293
294         * Mono.Cairo/Cairo.cs: remove symbols not in cairo 1.0:
295           cairo_copy, cairo_current_path, cairo_arc_to, cairo_transform_font,
296           cairo_font_set_transform, cairo_font_current_transform,
297           cairo_font_reference, cairo_font_destroy, cairo_status_string,
298           cairo_surface_create_similar_solid
299           rename cairo_current_line_cap to cairo_get_line_cap,
300           remove now unused delegates
301         * Mono.Cairo/Graphics.cs:
302         * Mono.Cairo/Surface.cs: update for above all found 
303           with help of mono-shlib-cop
304
305
306 2005-09-04  John Luke  <john.luke@gmail.com>
307
308         * Mono.Cairo/Cairo.cs: add new values to Cairo.Status
309         
310 2005-09-02  John Luke  <john.luke@gmail.com>
311
312         * Mono.Cairo/Cairo.cs: only use operators in cairo_operator_t
313         
314 2005-09-01  John Luke  <john.luke@gmail.com>
315
316         * Mono.Cairo/Cairo.cs: add some imports used by
317         the extra surface types
318         * Mono.Cairo/Surface.cs: add XlibSurface and Win32Surface
319         remove Surface.CreateForXlib () 
320         add PdfSurface and PsSurface for future use (#if'ed out)
321         * Mono.Cairo/Graphics.cs: add ShowPage() method
322         * Samples/win32/arc.cs: add win32 sample
323         * Samples/gtk/sysdraw.cs: use XlibSurface instead of
324         Surface.CreateForXlib ()
325         * Samples/x11/*.cs: use XlibSurface instead of
326         Surface.CreateForXlib ()
327
328 2005-09-01  John Luke  <john.luke@gmail.com>
329
330         * Mono.Cairo/Cairo.cs: p/invoke the windows dll name
331           (libcairo-2.dll) so that we can work on .net also 
332         * Mono.Cairo/Cairo.cs: add cairo_set_antialias and
333           cairo_get_antialias and Cairo.Antialias enum
334         * Mono.Cairo/Graphics.cs: add Cairo.Graphics.Antialias
335           property
336          
337
338 2005-09-01 Hisham Mardam Bey <hisham.mardambey@gmail.com>
339
340          * Samples: Added png and x11 samples and cleaned up gtk
341
342 2005-08-30  John Luke  <john.luke@gmail.com>
343
344         * Mono.Cairo/Cairo.cs: mark CairoAPI internal, and move
345           some callback delegates outside the CairoAPI class
346         * Mono.Cairo.Matrix.cs: mark Matrix_T internal
347         * Mono.Cairo/*.cs: remove using System.Drawing;
348         * Mono.Cairo.Graphics.cs: fix IDisposable implementation
349           add overloads to MoveTo () and similar functions
350           for passing the parameters individually
351         * Makefile: remove -r:System.Drawing
352
353 2005-08-30  John Luke  <john.luke@gmail.com>
354
355         * Mono.Cairo/Cairo.cs: add import for
356         cairo_surface_write_to_png
357         * Mono.Cairo/Surface.cs: add WriteToPng method
358
359 2005-08-12 Hisham Mardam Bey <hisham.mardambey@gmail.com>
360         * Added xlib surface size / font size functions
361         * Added font matrix setting
362         
363 2005-08-5 Hisham Mardam Bey <hisham.mardambey@gmail.com>
364         * Cleanup all old methods, remove deprecated classes
365         
366 2005-07-12 Hisham Mardam Bey <hisham.mardambey@gmail.com>
367         * General fixups, this is becoming ready for SVN
368
369 2005-07-09 Hisham Mardam Bey <hisham.mardambey@gmail.com>
370         * Cairo.cs / Graphics.cs: Binded font functions for Cairo 0.5.x
371         * More cleanups to fonts and Graphics.cs
372
373 2005-07-08 Hisham Mardam Bey <hisham.mardambey@gmail.com>
374         * Matrix.cs: binded all functions from Cairo 0.5.x
375         * Surface.cs: binded all functions from Cairo 0.5.x
376         * Pattern.cs: binded all functions from Cairo 0.5.x
377         
378 2005-07-07 Hisham Mardam Bey <hisham.mardambey@gmail.com>
379         * Removed dependency on GTK 2.7.x in Samples
380         * Added more Matrix constructors
381         * Fixed typo in enum Extend
382         * Cairo.cs: fixed matrix_init* methods (dont use ref)
383         * Matrix.cs: moved to 0.5.x API, needs more work
384         
385 2005-07-06 Hisham Mardam Bey <hisham.mardambey@gmail.com>
386         * Moved a major part of the API to follow Cairo 0.5.x
387         * *_current_* are being replaced by *_get_*
388         * move *_set_* function to new API
389         * Add SurfaceImage type
390         * Matrix operations are somehow broken right now
391         
392 2005-07-05 Hisham Mardam Bey <hisham.mardambey@gmail.com>
393         * Graphics.cs: added get for Pattern property
394         * Cairo.cs: added FontExtents / TextExtents structs
395         * Cairo.cs: added several other functions from C API
396           cairo_text_extents
397         * Started move to Cairo 0.5.x
398
399 2005-07-04 Hisham Mardam Bey <hisham.mardambey@gmail.com>
400         * Graphics.cs: Added helper types (PointD, Point, Distance)
401         * Incorporated Reference() into some constructors
402         * Pattern.cs: Split patter into 3 object types
403         * Use double precision for sub-pixel rendering all over
404         * Use IntPtr.Zero instead of (IntPtr) 0
405         * Graphics.cs: Remove SetRGBColor and use Color type
406         * Matrix.cs: add Affine type as a subclass.
407
408 2005-04-24  Jordi Mas i Hernandez <jordi@ximian.com>
409         * Graphics.cs: Adds InStroke/InFill (patch from Pedro Kiefer)
410         * Cairo.cs  Adds InStroke/InFill (patch from Pedro Kiefer)
411
412 2004-04-25  Jordi Mas i Hernandez <jordi@ximian.com>
413
414         * Cairo.cs: fixes cairo_current_matrix signature
415         * Font.cs: fixes internal _create method always returning null
416         * Graphics.cs: fixes Graphics.Matrix
417         * Matrix.cs: does not allow matrix objects without a wrapped handle
418         * Surface.cs: implements Surface.Show 
419
420 2004-05-26  Miguel de Icaza  <miguel@ximian.com>
421
422         * Mono.Cairo/Cairo.cs: Do not use `extern string' here, as the
423         return value is owned by Cairo.
424
425 2004-05-10  Radek Doulik  <rodo@ximian.com>
426
427         * Mono.Cairo/Graphics.cs: fixed typo, pass x2, y2 to
428         cairo_curve_to instead of passing x2, x2
429
430 2004-04-25  Jordi Mas i Hernandez <jordi@ximian.com>
431         * Mono.Cairo/Pattern.cs: implemented all the new pattern API 
432         introduced in Cairo 0.1.20
433         * Font.cs: created class that encapsulates a font object creation
434         and managment.
435         * Cairo.cs: new dllexports, structs, and enums.
436         * Graphics.cs: added all the font functions, fixed the signature
437         of the methods that have changed, added new methods
438
439 2003-11-28  Miguel de Icaza  <miguel@ximian.com>
440
441         * Mono.Cairo/Object.cs: 
442
443         * Mono.Cairo/Surface.cs (LookupSurface): New method, it took me a
444         while to find out why Cairo applications would crash sometimes.
445         The problem was that Cairo.Object:TargetSurface get property would
446         create a Surface from an IntPtr, leading to having two managed
447         objects owning the same unmanaged Surface.
448
449         (Surface..ctor): Make private, so only this module can create
450         surfaces. 
451
452         (Surface.Dispose): Add disposable pattern, finalizer.
453
454         * Mono.Cairo/Object.cs: Add disposable pattern, finalizer.
455
456 2003-10-11  Duncan Mak  <duncan@ximian.com>
457
458         * Mono.Cairo/Cairo.cs (cairo_set_target_drawable): Not available anymore, removed.
459         (cairo_reference, cairo_arc, cairo_arc_negative): New API, added.
460         (cairo_current_matrix): Signature changed, updated.
461         (cairo_surface_reference): New API.
462         (cairo_surface_get_matrix): Use 'out' instead of 'ref' param.
463
464         * Mono.Cairo/Surface.cs:        
465         * Mono.Cairo/Object.cs: Added binding for new APIs listed in Cairo.cs.
466         (Destroy): It's supposed to return void, not IntPtr.
467
468 2003-09-08  Duncan Mak  <duncan@ximian.com>
469
470         * Mono.Cairo/Surface.cs (PutImage): Removed.
471
472         * Mono.Cairo/Object.cs (Copy): Wrapper for cairo_copy.
473
474         * Mono.Cairo/Cairo.cs (cairo_copy): New API
475         (cairo_surface_put_image): Removed.
476
477 2003-09-05  Duncan Mak  <duncan@ximian.com>
478
479         * Mono.Cairo/Object.cs (Tolerance): Fix typo.
480
481 2003-09-04  Duncan Mak  <duncan@ximian.com>
482
483         * Mono.Cairo/Cairo.cs: Update to the new API in CVS. Change all
484         *_get_* to *_current_*. 
485         (cairo_set_target_drawable): 
486         (cairo_surface_create_for_drawable): Add CLSCompliantAttribute.
487         (cairo_current_tolerance):
488         (cairo_set_tolerance): Fix typo. Thanks Alp.
489
490         * Mono.Cairo/Object.cs: Update binding to reflect changes in the
491         API.
492
493 2003-08-12  Duncan Mak  <duncan@ximian.com>
494
495         * Mono.Cairo/Cairo.cs: csc was having trouble resolving the type
496         name because the namespace name (Cairo) is the same as the class
497         name (also Cairo). To resolve this ambiguity while keeping the
498         code looking decent, the Cairo.Cairo class is now Cairo.CairoAPI.
499
500 2003-08-12  Duncan Mak  <duncan@ximian.com>
501
502         * Mono.Cairo/Cairo.cs: Now that the namespace is called 'Cairo',
503         the enums no longer need to be nested inside the Cairo class.
504
505         * Mono.Cairo/Matrix.cs:
506         * Mono.Cairo/Object.cs:
507         * Mono.Cairo/Surface.cs: I never liked having the word 'Object' in
508         the name of a class, esp. now that we have namespaces. So I have
509         decided to rename them.
510
511                 CairoObject        -> Cairo.Object
512                 CairoMatrixObject  -> Cairo.Matrix
513                 CairoSurfaceObject -> Cairo.Surface
514
515         I didn't like the Mono.Cairo namespace either, so they're just in
516         the Cairo namespace now. I know it's icky that the directory is
517         called Mono.Cairo, and the dll we write to is called
518         'Mono.Cairo.dll', and yet the namespace now gonna just be 'Cairo'
519         and not 'Mono.Cairo'. C'est la vie.
520         
521 2003-08-12  Duncan Mak  <duncan@ximian.com>
522
523         * Mono.Cairo/CairoObject.cs (Pattern): Re-enable this. This
524         is actually a CairoSurfaceObject (a C cairo_surface_t); the
525         CairoPatternObject is just something I made up...
526
527 2003-08-12  Nick Drochak <ndrochak@gol.com>
528
529         * Makefile: put .dll on System.Drawing reference. Fix CSC build.
530
531 2003-08-11  Duncan Mak  <duncan@ximian.com>
532
533         * makefile:
534         * Mono.Cairo.dll.sources: Added.
535
536         * Mono.Cairo/Cairo.cs:
537         * Mono.Cairo/CairoObject.cs:
538         * Mono.Cairo/CairoMatrixObject.cs: 
539         * Mono.Cairo/CairoSurfaceObject.cs: Made them build properly.
540
541 2003-08-09  Duncan Mak  <duncan@ximian.com>
542
543         * Mono.Cairo/Cairo.cs:
544         * Mono.Cairo/CairoObject.cs:
545         * Mono.Cairo/CairoMatrixObject.cs: 
546         * Mono.Cairo/CairoSurfaceObject.cs: Added Cairo binding.