2008-05-14 Sebastien Pouliot * Mono.Cairo/Context.cs, * Mono.Cairo/Glyph.cs: Don't downcast an IntPtr to an Int32. [Found using Gendarme] 2008-04-08 Jordi Mas i Hernandez * Context.cs: New ReferenceCount property * FontFace.cs: New FontFace.cs method * LinearGradient.cs: New LinearPoints property * Surface.cs: New ReferenceCount property * SolidPattern.cs: New Color property * Gradient.cs: New ColorStopCount property * NativeMethods.cs: Update new methods and remove CAIRO_1_4 define 2008-04-05 Jordi Mas i Hernandez * ScaledFont.cs: Adds class to encapsulate scaled font API * Mono.Cairo.dll.sources: Adds new class * Context.cs: Access to Scaled Fonts * NativeMethods.cs: Add some missing scale_font APIs and fixes 2007-07-07 Miguel de Icaza * Mono.Cairo/Context.cs: Integrate Alp's patch for looking up Patterns and add the unmanaged to managed mapping engine (as the various patterns can be derived, we need to ensure unique managed instances for the same object). * Mono.Cairo/Gradient.cs: Made Gradient protected, although it is an API change, there was no way any existing instances would have ever worked. From Alp. * Mono.Cairo/Context.cs: Fix leak of the surface if set with Target . From Alp Toker: new SetSourceOveload with no x, y parameters. From Alp Toker: Add new API call IdentityMatrix. * Mono.Cairo/Surface.cs: Integrate another cleanup from Alp. * Mono.Cairo/SolidPattern.cs: Add helper APIs based on Alp's patch based on F-Spot code. Integrated various patches from Alp Toker: * Mono.Cairo/FontFace.cs: Add to the build. * Mono.Cairo/Context.cs: Add a number of methods that are compatible with the public Cairo API, and add commented out Obsoletes for the names that we had. (MaskSurface): More descriptive parameters (SetSourceRGB, SetSourceRGBA): Removed [Obsoletes] from as those are the public Cairo names. Use the API directly without creating a helper Color. (FontFace): New property. * Mono.Cairo/FontFace.cs: Partial integration of Alp's work for FontFace. There are two differences: no support for owns flag, and no automatic unreffing on the finalizer thread. Instead we display an error message. * NativeMethods.cs: Split the native methods into its own file. * Mono.Cairo/Context.cs: Integrate Alp's patch to not use ref in the call to cairo_font_extents, but use out instead. * Integrate Alp's patch to rename CairoAPI NativeMethod, in accordance to 2.7.1 framework guidelines. * Removed the ifdef CAIRO_1_2, the documentation already reflects that things are only available on Cairo 1.2. * Add new API calls to query Cairo for its version 2007-05-26 John Luke * Mono.Cairo/Cairo.cs: * Mono.Cairo/Context.cs: fix call to cairo_get_font_matrix, reported by patperry@stanford.edu (Patrick Perry) in bug#81626 2007-01-15 Alp Toker * Mono.Cairo/Surface.cs: * Makefile: Disable CAIRO_1_2. Patches to make the 1.2 binding work are being developed out-of-tree but not ready yet. 2007-01-08 Alp Toker * Mono.Cairo/Context.cs: Implement Context.GlyphExtents(). * Mono.Cairo/Cairo.cs: Change other TextExtents refs to outs. 2007-01-08 Alp Toker * Mono.Cairo/Context.cs: Restore Obsolete markings for old glyph methods. It is fair to assume nobody was able to use these broken methods, and Obsolete is important for the ongoing API review process. 2007-01-08 Alp Toker * Mono.Cairo/Context.cs: * Mono.Cairo/Surface.cs: Introduce Context.SetSource(). The old method also oddly took ints instead of doubles. Obsolete Context.SetSourceSurface() and Surface.Show(). 2007-01-08 Alp Toker * Mono.Cairo/Format.cs: Obsolete Format.ARGB32/RGB24 in favour of lower caps enum members. 2007-01-05 Alp Toker * Mono.Cairo/Pattern.cs: Obsolete Pattern(Surface) ctor in favour of SurfacePattern(Surface). 2007-01-05 Alp Toker * Mono.Cairo/Context.cs: * Mono.Cairo/Surface.cs: Generalize to Surface.LookupSurface() This method will be useful elsewhere. 2007-01-04 Miguel de Icaza * Mono.Cairo/Context.cs (FromGlyphToUnManagedMemory): Deal with an API limitation, the Glyph structure in Cairo is defined as taking a `long' which would be 4 or 8 bytes depending on the operating system. We now cope with this by using the proper structure to the unmanaged code. 2006-12-30 Alp Toker * Makefile: Enable CAIRO_1_2. 2006-12-28 Alp Toker * Mono.Cairo/DirectFBSurface.cs: Confusion between the DirectFB surface handle and Cairo surface handle was making the public constructor unusable. 2006-12-27 Alp Toker * Mono.Cairo.dll.sources: * Mono.Cairo/Context.cs: * Mono.Cairo/GlitzSurface.cs: Add new surface. 2006-12-27 Alp Toker * Mono.Cairo/Cairo.cs: * Mono.Cairo/Status.cs: Add new API for 1.4 2006-12-07 Alp Toker * Mono.Cairo/Context.cs: Add GroupTarget cases for Xcb and DirectFB surfaces. 2006-09-19 Jordi Mas * Surface.cs, Cairo.cs: the parameters for Show are X,Y not witdh and height and also double not int. 2006-07-21 Alp Toker * Mono.Cairo.dll.sources: * Mono.Cairo/DirectFBSurface.cs: * Mono.Cairo/XcbSurface.cs: Add new surfaces. 2006-07-06 John Luke * Mono.Cairo/Cairo.cs: * Mono.Cairo/ImageSurface.cs: Marshal data correctly 2006-07-01 John Luke * Mono.Cairo/Context.cs: * Mono.Cairo/PdfSurface.cs: * Mono.Cairo/PSSurface.cs: * Mono.Cairo/Cairo.cs: * Mono.Cairo/XlibSurface.cs: * Mono.Cairo/SvgSurface.cs: add some new surface API I missed 2006-07-01 John Luke * Mono.Cairo/Status.cs: * Mono.Cairo/Context.cs: * Mono.Cairo/FontFace.cs: * Mono.Cairo/Surface.cs: * Mono.Cairo/Format.cs: * Mono.Cairo/LinearGradient.cs: * Mono.Cairo/SolidPattern.cs: * Mono.Cairo/Win32Surface.cs: * Mono.Cairo/Pattern.cs: * Mono.Cairo/SurfacePattern.cs: * Mono.Cairo/ImageSurface.cs: * Mono.Cairo/Cairo.cs: * Mono.Cairo/Gradient.cs: * Mono.Cairo/XlibSurface.cs: * Mono.Cairo/RadialGradient.cs: add remaining new API for cairo 1.2 2006-07-01 John Luke * Mono.Cairo/FontType.cs: * Mono.Cairo/PatternType.cs: add new enums for cairo 1.2 2006-06-25 John Luke * Mono.Cairo/Surface.cs: make Destroy() call Dispose() so all the Disposable stuff happens correctly and only once 2006-06-23 John Luke * Mono.Cairo/Pattern.cs: * Mono.Cairo/SolidPattern.cs: * Mono.Cairo/SurfacePattern.cs: * Mono.Cairo/Gradient.cs: * Mono.Cairo/LinearGradient.cs: * Mono.Cairo/RadialGradient.cs: split the pattern/gradients into their own files 2006-06-23 John Luke #if CAIRO_1_2 changes * Mono.Cairo/Surface.cs: add SetFallbackResolution * Mono.Cairo/CairoAPI.cs: remove old pdf/ps api and add some of the new API * Mono.Cairo/SurfaceType.cs: * Mono.Cairo/SvgSurface.cs: * Mono.Cairo/SvgVersion.cs: add these 2006-06-23 John Luke * Mono.Cairo/Surface.cs: * Mono.Cairo/ImageSurface.cs: * Mono.Cairo/PDFSurface.cs: * Mono.Cairo/PSSurface.cs: * Mono.Cairo/Win32Surface.cs: * Mono.Cairo/XlibSurface.cs: split the surfaces into their own files, make pdf and ps reflect what will be in the cairo 1.2 api 2006-06-23 John Luke * snippets/*.cs: use Cairo.Context instead of Cairo.Graphics * Samples/*/Makefile: add to ease building of samples 2006-05-02 Zac Bowling * Mono.Cairo/Surface.cs: string should be byte[] * Mono.Cairo/Cairo.cs: string should be byte[] (Patch from Philipp Baer ) 2006-01-17 Alp Toker * Samples/x11/compile.sh: Remove unused gtk-sharp reference 2005-12-19 Wade Berrier * Mono.Cairo/Makefile: Fix EXTRA_DIST to include samples 2005-12-19 Peter Dennis Bartok * Mono.Cairo/Format.cs: Removed fixme, added names in .Net format * Mono.Cairo/Surface.cs: Removed fixme, added static method FromBitmap() to allow creating a surface from a bitmap * Mono.Cairo/Pattern.cs: Removed fixme to not tempt anyone to change the name down the road 2005-12-16 John Luke * Mono.Cairo/FontOptions.cs: fix bug with fontOptions == null, check parameter to Merge against null * Mono.Cairo/Glyph.cs: add setters to properties 2005-12-16 John Luke * Mono.Cairo/Cairo.cs: organize and add missing API split out enums and structs * Mono.Cairo/*.cs: add enums and structs as seperate files implement ==, !=, Equals, and GetHashCode for the structs move public fields to properties 2005-12-16 John Luke * Mono.Cairo/Cairo.cs: * Mono.Cairo/Context.cs: * Mono.Cairo/Pattern.cs: * Mono.Cairo/Surface.cs: add MarkDirty and Flush, mark Surface.Pointer obsolete in favor of Handle 2005-12-16 John Luke * Mono.Cairo.dll.sources: * Mono.Cairo/Rectangle.cs: add * Mono.Cairo/Cairo.cs: mark fill_extents and stroke extents with out modifiers * Mono.Cairo/Context.cs: FillExtents, and StrokeExtents return a Rectangle (actually 2 points), remove previously unusable versions, add an overload to Rectangle that takes a Rectangle 2005-12-12 Mike Kestner * Mono.Cairo/Context.cs: renamed from Graphics.cs. renamed Graphics to Context and added an Obsolete subclass to minimize the pain. * Mono.Cairo/Surface.cs : s/Graphics/Context. Thanks to jluke for pointing out this change was needed. 2005-12-06 John Luke * Mono.Cairo/Cairo.cs: fix Content and Format values, fixes the knockout/circles sample * Samples/png/circles.cs: * Samples/png/knockout.cs: replace circles with knockout, which uses the newer style api and works 2005-12-02 Ben Maurer * Mono.Cairo/Graphics.cs: Api fixups - Make Point, et al. structs like all other apis - Use properties rather than public fields - Obsolete the plurality of ways to set the color. 2005-11-27 John Luke * Mono.Cairo/Graphics.cs: add back FontSetSize, FontSize setter, and FontFace as obsolete API 2005-11-25 John Luke * Mono.Cairo/Cairo.cs: add font_options* api add cairo_get_font_matrix * Mono.Cairo/FontOptions.cs: add * Mono.Cairo/Graphics.cs: add FontOptions property, remove FontSize setter and FontSetSize(), remove FontFace() method as SelectFontFace already exists remove non-existant TransformFont() and Font property 2005-11-16 John Luke * snippets/*.cs: add snippets port 2005-11-10 John Luke * Mono.Cairo/Graphics.cs: * Mono.Cairo/Surface.cs: remove debugging output 2005-10-09 Miguel de Icaza * Samples/gtk/sysdraw.cs: Fix the sample 2005-09-19 John Luke * Mono.Cairo/Graphics.cs: add SelectFontFace and SetFontSize 2005-09-12 Hisham Mardam Bey * Samples/: Fix all samples to work with new API changes. 2005-09-12 John Luke * Mono.Cairo/Surface.cs: add two ImageSurface ctors Obsolete Surface CreateForImage methods in favor of the new ImageSurface ctors * Mono.Cairo/Cairo.cs: add cairo_text_extents * Mono.Cairo/Graphics.cs: add TextExtents () 2005-09-07 John Luke * Mono.Cairo/Graphics.cs: the Relative path methods should use a Distance not a PointD, and update some parameter names for better documentation purposes remove SetTargetImage (), and SetTargetDrawable () use Graphics.Target = Surface instead * Mono.Cairo/Surface.cs: don't reference the surface after we create it as it is not necessary add the new surfaces to the surfaces hashtable on instantiation * Mono.Cairo/Pattern.cs: don't reference the pattern after we create it as it is not necessary 2005-09-07 Hisham Mardam Bey * Samples/png: Fixed samples with new changes. * Samples/x11: Fixed samples with new changes. * Samples/gtk: Fixed samples with new changes. 2005-09-06 John Luke * Samples/gtk/circles.cs: fix partially broken sample 2005-09-06 John Luke * Mono.Cairo/Surface.cs: make CreateSimilar non-static and use Content instead of Format, add Surface.Status * Mono.Cairo/Graphics.cs: add convenience ctor to Color with an alpha of 1.0 add Tolerance getter, Change SetDash to compute the length automatically, rename TargetSurface to Target, add SetSourceRGB, SetSourceRGBA, and SetSourceSurface (), add Paint, PaintWithAlpha, Mask, and MaskSurface (), add StrokeExtents, FillExtents, ClipPreserve (), and CopyPage () * Mono.Cairo/Cairo.cs: add new imports: cairo_stroke_extents, cairo_fill_extents, cairo_clip_preserve, cairo_mask, cairo_mask_surface, cairo_paint_with_alpha, cairo_surface_status add Content enum and fix cairo_surface_create_similar to use Content not Format 2005-09-05 John Luke * Mono.Cairo/Samples/gtk/Graphics.cs: add gtk-cairo helper that will work on win32 and x11 based on gtk-dotnet in gtk#, not yet tested on windows 2005-09-05 John Luke * Mono.Cairo/Samples/win32/compile.sh: add this 2005-09-04 John Luke * Mono.Cairo/Cairo.cs: remove symbols not in cairo 1.0: cairo_copy, cairo_current_path, cairo_arc_to, cairo_transform_font, cairo_font_set_transform, cairo_font_current_transform, cairo_font_reference, cairo_font_destroy, cairo_status_string, cairo_surface_create_similar_solid rename cairo_current_line_cap to cairo_get_line_cap, remove now unused delegates * Mono.Cairo/Graphics.cs: * Mono.Cairo/Surface.cs: update for above all found with help of mono-shlib-cop 2005-09-04 John Luke * Mono.Cairo/Cairo.cs: add new values to Cairo.Status 2005-09-02 John Luke * Mono.Cairo/Cairo.cs: only use operators in cairo_operator_t 2005-09-01 John Luke * Mono.Cairo/Cairo.cs: add some imports used by the extra surface types * Mono.Cairo/Surface.cs: add XlibSurface and Win32Surface remove Surface.CreateForXlib () add PdfSurface and PsSurface for future use (#if'ed out) * Mono.Cairo/Graphics.cs: add ShowPage() method * Samples/win32/arc.cs: add win32 sample * Samples/gtk/sysdraw.cs: use XlibSurface instead of Surface.CreateForXlib () * Samples/x11/*.cs: use XlibSurface instead of Surface.CreateForXlib () 2005-09-01 John Luke * Mono.Cairo/Cairo.cs: p/invoke the windows dll name (libcairo-2.dll) so that we can work on .net also * Mono.Cairo/Cairo.cs: add cairo_set_antialias and cairo_get_antialias and Cairo.Antialias enum * Mono.Cairo/Graphics.cs: add Cairo.Graphics.Antialias property 2005-09-01 Hisham Mardam Bey * Samples: Added png and x11 samples and cleaned up gtk 2005-08-30 John Luke * Mono.Cairo/Cairo.cs: mark CairoAPI internal, and move some callback delegates outside the CairoAPI class * Mono.Cairo.Matrix.cs: mark Matrix_T internal * Mono.Cairo/*.cs: remove using System.Drawing; * Mono.Cairo.Graphics.cs: fix IDisposable implementation add overloads to MoveTo () and similar functions for passing the parameters individually * Makefile: remove -r:System.Drawing 2005-08-30 John Luke * Mono.Cairo/Cairo.cs: add import for cairo_surface_write_to_png * Mono.Cairo/Surface.cs: add WriteToPng method 2005-08-12 Hisham Mardam Bey * Added xlib surface size / font size functions * Added font matrix setting 2005-08-5 Hisham Mardam Bey * Cleanup all old methods, remove deprecated classes 2005-07-12 Hisham Mardam Bey * General fixups, this is becoming ready for SVN 2005-07-09 Hisham Mardam Bey * Cairo.cs / Graphics.cs: Binded font functions for Cairo 0.5.x * More cleanups to fonts and Graphics.cs 2005-07-08 Hisham Mardam Bey * Matrix.cs: binded all functions from Cairo 0.5.x * Surface.cs: binded all functions from Cairo 0.5.x * Pattern.cs: binded all functions from Cairo 0.5.x 2005-07-07 Hisham Mardam Bey * Removed dependency on GTK 2.7.x in Samples * Added more Matrix constructors * Fixed typo in enum Extend * Cairo.cs: fixed matrix_init* methods (dont use ref) * Matrix.cs: moved to 0.5.x API, needs more work 2005-07-06 Hisham Mardam Bey * Moved a major part of the API to follow Cairo 0.5.x * *_current_* are being replaced by *_get_* * move *_set_* function to new API * Add SurfaceImage type * Matrix operations are somehow broken right now 2005-07-05 Hisham Mardam Bey * Graphics.cs: added get for Pattern property * Cairo.cs: added FontExtents / TextExtents structs * Cairo.cs: added several other functions from C API cairo_text_extents * Started move to Cairo 0.5.x 2005-07-04 Hisham Mardam Bey * Graphics.cs: Added helper types (PointD, Point, Distance) * Incorporated Reference() into some constructors * Pattern.cs: Split patter into 3 object types * Use double precision for sub-pixel rendering all over * Use IntPtr.Zero instead of (IntPtr) 0 * Graphics.cs: Remove SetRGBColor and use Color type * Matrix.cs: add Affine type as a subclass. 2005-04-24 Jordi Mas i Hernandez * Graphics.cs: Adds InStroke/InFill (patch from Pedro Kiefer) * Cairo.cs Adds InStroke/InFill (patch from Pedro Kiefer) 2004-04-25 Jordi Mas i Hernandez * Cairo.cs: fixes cairo_current_matrix signature * Font.cs: fixes internal _create method always returning null * Graphics.cs: fixes Graphics.Matrix * Matrix.cs: does not allow matrix objects without a wrapped handle * Surface.cs: implements Surface.Show 2004-05-26 Miguel de Icaza * Mono.Cairo/Cairo.cs: Do not use `extern string' here, as the return value is owned by Cairo. 2004-05-10 Radek Doulik * Mono.Cairo/Graphics.cs: fixed typo, pass x2, y2 to cairo_curve_to instead of passing x2, x2 2004-04-25 Jordi Mas i Hernandez * Mono.Cairo/Pattern.cs: implemented all the new pattern API introduced in Cairo 0.1.20 * Font.cs: created class that encapsulates a font object creation and managment. * Cairo.cs: new dllexports, structs, and enums. * Graphics.cs: added all the font functions, fixed the signature of the methods that have changed, added new methods 2003-11-28 Miguel de Icaza * Mono.Cairo/Object.cs: * Mono.Cairo/Surface.cs (LookupSurface): New method, it took me a while to find out why Cairo applications would crash sometimes. The problem was that Cairo.Object:TargetSurface get property would create a Surface from an IntPtr, leading to having two managed objects owning the same unmanaged Surface. (Surface..ctor): Make private, so only this module can create surfaces. (Surface.Dispose): Add disposable pattern, finalizer. * Mono.Cairo/Object.cs: Add disposable pattern, finalizer. 2003-10-11 Duncan Mak * Mono.Cairo/Cairo.cs (cairo_set_target_drawable): Not available anymore, removed. (cairo_reference, cairo_arc, cairo_arc_negative): New API, added. (cairo_current_matrix): Signature changed, updated. (cairo_surface_reference): New API. (cairo_surface_get_matrix): Use 'out' instead of 'ref' param. * Mono.Cairo/Surface.cs: * Mono.Cairo/Object.cs: Added binding for new APIs listed in Cairo.cs. (Destroy): It's supposed to return void, not IntPtr. 2003-09-08 Duncan Mak * Mono.Cairo/Surface.cs (PutImage): Removed. * Mono.Cairo/Object.cs (Copy): Wrapper for cairo_copy. * Mono.Cairo/Cairo.cs (cairo_copy): New API (cairo_surface_put_image): Removed. 2003-09-05 Duncan Mak * Mono.Cairo/Object.cs (Tolerance): Fix typo. 2003-09-04 Duncan Mak * Mono.Cairo/Cairo.cs: Update to the new API in CVS. Change all *_get_* to *_current_*. (cairo_set_target_drawable): (cairo_surface_create_for_drawable): Add CLSCompliantAttribute. (cairo_current_tolerance): (cairo_set_tolerance): Fix typo. Thanks Alp. * Mono.Cairo/Object.cs: Update binding to reflect changes in the API. 2003-08-12 Duncan Mak * Mono.Cairo/Cairo.cs: csc was having trouble resolving the type name because the namespace name (Cairo) is the same as the class name (also Cairo). To resolve this ambiguity while keeping the code looking decent, the Cairo.Cairo class is now Cairo.CairoAPI. 2003-08-12 Duncan Mak * Mono.Cairo/Cairo.cs: Now that the namespace is called 'Cairo', the enums no longer need to be nested inside the Cairo class. * Mono.Cairo/Matrix.cs: * Mono.Cairo/Object.cs: * Mono.Cairo/Surface.cs: I never liked having the word 'Object' in the name of a class, esp. now that we have namespaces. So I have decided to rename them. CairoObject -> Cairo.Object CairoMatrixObject -> Cairo.Matrix CairoSurfaceObject -> Cairo.Surface I didn't like the Mono.Cairo namespace either, so they're just in the Cairo namespace now. I know it's icky that the directory is called Mono.Cairo, and the dll we write to is called 'Mono.Cairo.dll', and yet the namespace now gonna just be 'Cairo' and not 'Mono.Cairo'. C'est la vie. 2003-08-12 Duncan Mak * Mono.Cairo/CairoObject.cs (Pattern): Re-enable this. This is actually a CairoSurfaceObject (a C cairo_surface_t); the CairoPatternObject is just something I made up... 2003-08-12 Nick Drochak * Makefile: put .dll on System.Drawing reference. Fix CSC build. 2003-08-11 Duncan Mak * makefile: * Mono.Cairo.dll.sources: Added. * Mono.Cairo/Cairo.cs: * Mono.Cairo/CairoObject.cs: * Mono.Cairo/CairoMatrixObject.cs: * Mono.Cairo/CairoSurfaceObject.cs: Made them build properly. 2003-08-09 Duncan Mak * Mono.Cairo/Cairo.cs: * Mono.Cairo/CairoObject.cs: * Mono.Cairo/CairoMatrixObject.cs: * Mono.Cairo/CairoSurfaceObject.cs: Added Cairo binding.