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