예제 #1
0
		public static void SurfaceToPngStream(Surface surface, BinaryWriter writer)
		{
			var obj = new CairoStreamWriter(writer);
			var fn = new cairo_write_func_t(obj.do_write);
			var status = cairo_surface_write_to_png_stream(surface.Handle, fn, IntPtr.Zero);

			if (status != Status.Success)
				throw new InvalidOperationException("Status: " + status);
		}
예제 #2
0
        public static void SurfaceToPngStream(Surface surface, BinaryWriter writer)
        {
            var obj    = new CairoStreamWriter(writer);
            var fn     = new cairo_write_func_t(obj.do_write);
            var status = cairo_surface_write_to_png_stream(surface.Handle, fn, IntPtr.Zero);

            if (status != Status.Success)
            {
                throw new InvalidOperationException("Status: " + status);
            }
        }
예제 #3
0
 public static extern IntPtr cairo_ps_surface_create_for_stream(cairo_write_func_t writefunc, object userdata, double width_in_points, double height_in_points);
예제 #4
0
 private static extern Status cairo_surface_write_to_png_stream(
     IntPtr surface,
     [MarshalAs(UnmanagedType.FunctionPtr)] cairo_write_func_t cb,
     IntPtr closure
     );