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