Author: alp
Date: 2007-01-05 02:01:16 -0500 (Fri, 05 Jan 2007)
New Revision: 70524

Modified:
   trunk/mcs/class/Mono.Cairo/ChangeLog
   trunk/mcs/class/Mono.Cairo/Mono.Cairo/Context.cs
   trunk/mcs/class/Mono.Cairo/Mono.Cairo/Surface.cs
Log:
2007-01-05  Alp Toker  <[EMAIL PROTECTED]>

        * Mono.Cairo/Context.cs:
        * Mono.Cairo/Surface.cs: Generalize to Surface.LookupSurface()
        This method will be useful elsewhere.


Modified: trunk/mcs/class/Mono.Cairo/ChangeLog
===================================================================
--- trunk/mcs/class/Mono.Cairo/ChangeLog        2007-01-05 06:37:39 UTC (rev 
70523)
+++ trunk/mcs/class/Mono.Cairo/ChangeLog        2007-01-05 07:01:16 UTC (rev 
70524)
@@ -1,3 +1,9 @@
+2007-01-05  Alp Toker  <[EMAIL PROTECTED]>
+
+       * Mono.Cairo/Context.cs:
+       * Mono.Cairo/Surface.cs: Generalize to Surface.LookupSurface()
+       This method will be useful elsewhere.
+
 2007-01-04  Miguel de Icaza  <[EMAIL PROTECTED]>
 
        * Mono.Cairo/Context.cs (FromGlyphToUnManagedMemory): Deal with

Modified: trunk/mcs/class/Mono.Cairo/Mono.Cairo/Context.cs
===================================================================
--- trunk/mcs/class/Mono.Cairo/Mono.Cairo/Context.cs    2007-01-05 06:37:39 UTC 
(rev 70523)
+++ trunk/mcs/class/Mono.Cairo/Mono.Cairo/Context.cs    2007-01-05 07:01:16 UTC 
(rev 70524)
@@ -609,31 +609,7 @@
                public Surface GroupTarget {
                        get {
                                IntPtr surface = 
CairoAPI.cairo_get_group_target (state);
-                               SurfaceType st = 
CairoAPI.cairo_surface_get_type (surface);
-                               switch (st) {
-                                       case SurfaceType.Image:
-                                               return new ImageSurface 
(surface, true);
-                                       case SurfaceType.XLib:
-                                               return new XlibSurface 
(surface, true);
-                                       case SurfaceType.Xcb:
-                                               return new XcbSurface (surface, 
true);
-                                       case SurfaceType.Glitz:
-                                               return new GlitzSurface 
(surface, true);
-                                       case SurfaceType.Win32:
-                                               return new Win32Surface 
(surface, true);
-#if CAIRO_1_2
-                                       case SurfaceType.Pdf:
-                                               return new PdfSurface (surface, 
true);
-                                       case SurfaceType.PS:
-                                               return new PSSurface (surface, 
true);
-                                       case SurfaceType.DirectFB:
-                                               return new DirectFBSurface 
(surface, true);
-                                       case SurfaceType.Svg:
-                                               return new SvgSurface (surface, 
true);
-#endif
-                                       default:
-                                               return 
Surface.LookupExternalSurface (surface);
-                               }
+                               return Surface.LookupSurface (surface);
                        }
                }
 #endif

Modified: trunk/mcs/class/Mono.Cairo/Mono.Cairo/Surface.cs
===================================================================
--- trunk/mcs/class/Mono.Cairo/Mono.Cairo/Surface.cs    2007-01-05 06:37:39 UTC 
(rev 70523)
+++ trunk/mcs/class/Mono.Cairo/Mono.Cairo/Surface.cs    2007-01-05 07:01:16 UTC 
(rev 70524)
@@ -66,7 +66,36 @@
                                return (Surface) o;
                        }
                }               
-               
+
+               static internal Surface LookupSurface (IntPtr surface)
+               {
+                               SurfaceType st = 
CairoAPI.cairo_surface_get_type (surface);
+                               switch (st) {
+                                       case SurfaceType.Image:
+                                               return new ImageSurface 
(surface, true);
+                                       case SurfaceType.XLib:
+                                               return new XlibSurface 
(surface, true);
+                                       case SurfaceType.Xcb:
+                                               return new XcbSurface (surface, 
true);
+                                       case SurfaceType.Glitz:
+                                               return new GlitzSurface 
(surface, true);
+                                       case SurfaceType.Win32:
+                                               return new Win32Surface 
(surface, true);
+#if CAIRO_1_2
+                                       case SurfaceType.Pdf:
+                                               return new PdfSurface (surface, 
true);
+                                       case SurfaceType.PS:
+                                               return new PSSurface (surface, 
true);
+                                       case SurfaceType.DirectFB:
+                                               return new DirectFBSurface 
(surface, true);
+                                       case SurfaceType.Svg:
+                                               return new SvgSurface (surface, 
true);
+#endif
+                                       default:
+                                               return 
Surface.LookupExternalSurface (surface);
+                               }
+               }
+
                [Obsolete ("Use an ImageSurface constructor instead.")]
                 public static Cairo.Surface CreateForImage (
                         ref byte[] data, Cairo.Format format, int width, int 
height, int stride)

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to