From bc9f4e2cc8e46d5f452fabea472ebc99a909a992 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jean-Philippe=20Bruy=C3=A8re?= Date: Wed, 20 May 2020 15:58:18 +0200 Subject: [PATCH] update rsvg --- Crow/src/rsvg/Global.cs | 41 ------------- Crow/src/rsvg/Handle.cs | 128 +++++++++++++++------------------------- 2 files changed, 47 insertions(+), 122 deletions(-) delete mode 100644 Crow/src/rsvg/Global.cs diff --git a/Crow/src/rsvg/Global.cs b/Crow/src/rsvg/Global.cs deleted file mode 100644 index 65917012..00000000 --- a/Crow/src/rsvg/Global.cs +++ /dev/null @@ -1,41 +0,0 @@ -// This file was generated by the Gtk# code generator. -// Any changes made will be lost if regenerated. - -namespace Rsvg { - - using System; - using System.Runtime.InteropServices; - -#region Autogenerated code - public class Global { - - [DllImport("rsvg-2")] - static extern void rsvg_set_default_dpi_x_y(double dpi_x, double dpi_y); - - public static void SetDefaultDpiXY(double dpi_x, double dpi_y) { - rsvg_set_default_dpi_x_y(dpi_x, dpi_y); - } - - [DllImport("rsvg-2")] - static extern int rsvg_error_quark(); - - public static int ErrorQuark { - get { - int raw_ret = rsvg_error_quark(); - int ret = raw_ret; - return ret; - } - } - - [DllImport("rsvg-2")] - static extern void rsvg_set_default_dpi(double dpi); - - public static double DefaultDpi { - set { - rsvg_set_default_dpi(value); - } - } - -#endregion - } -} diff --git a/Crow/src/rsvg/Handle.cs b/Crow/src/rsvg/Handle.cs index d33f244d..ca06ad25 100644 --- a/Crow/src/rsvg/Handle.cs +++ b/Crow/src/rsvg/Handle.cs @@ -8,116 +8,82 @@ namespace Rsvg { using System.Collections; using System.Runtime.InteropServices; - public class Handle { + public sealed class Handle { + const string lib = "rsvg-2.40"; public IntPtr Raw; - [DllImport("rsvg-2")] + [DllImport (lib)] static extern IntPtr rsvg_handle_new(); + [DllImport (lib)] + static extern IntPtr rsvg_handle_new_from_data (byte[] data, UIntPtr n_data, out IntPtr error); + [DllImport (lib)] + static extern IntPtr rsvg_handle_new_from_file (string file_name, out IntPtr error); + [DllImport (lib)] + static extern IntPtr rsvg_handle_get_base_uri (IntPtr raw); + [DllImport (lib)] + static extern void rsvg_handle_set_dpi (IntPtr raw, double dpi); + [DllImport (lib)] + static extern void rsvg_handle_set_dpi_x_y (IntPtr raw, double dpi_x, double dpi_y); + + [DllImport (lib)] + static extern void rsvg_handle_render_cairo (IntPtr raw, IntPtr cr); + [DllImport (lib)] + static extern void rsvg_handle_render_cairo_sub (IntPtr raw, IntPtr cr, string id); + + [DllImport (lib)] + static extern void rsvg_handle_get_dimensions (IntPtr raw, IntPtr dimension_data); + [DllImport (lib)] + static extern bool rsvg_handle_close (IntPtr raw, out IntPtr error); + [DllImport (lib)] + static extern IntPtr rsvg_handle_get_title (IntPtr raw); + [DllImport (lib)] + static extern IntPtr rsvg_handle_get_metadata (IntPtr raw); public Handle () { Raw = rsvg_handle_new(); } - - [DllImport("rsvg-2")] - static extern IntPtr rsvg_handle_new_from_data(byte[] data, UIntPtr n_data, out IntPtr error); - - public Handle (byte[] data) - { - if (GetType () != typeof (Handle)) { - throw new InvalidOperationException ("Can't override this constructor."); - } - IntPtr error = IntPtr.Zero; - Raw = rsvg_handle_new_from_data(data, new UIntPtr ((ulong) (data == null ? 0 : data.Length)), out error); + public Handle (byte[] data) + { + Raw = rsvg_handle_new_from_data(data, new UIntPtr ((ulong) (data == null ? 0 : data.Length)), out IntPtr error); if (error != IntPtr.Zero) throw new Exception (error.ToString()); } - - [DllImport("rsvg-2")] - static extern IntPtr rsvg_handle_new_from_file(string file_name, out IntPtr error); - public Handle (string file_name) - { - IntPtr error = IntPtr.Zero; - Raw = rsvg_handle_new_from_file(file_name, out error); + { + Raw = rsvg_handle_new_from_file(file_name, out IntPtr error); if (error != IntPtr.Zero) throw new Exception (error.ToString()); } - [DllImport("rsvg-2")] - static extern IntPtr rsvg_handle_get_base_uri(IntPtr raw); - [DllImport("rsvg-2")] - static extern void rsvg_handle_set_dpi(IntPtr raw, double dpi); + public double Dpi { set => rsvg_handle_set_dpi (Raw, value); } + public void SetDpiXY (double dpi_x, double dpi_y) => rsvg_handle_set_dpi_x_y (Raw, dpi_x, dpi_y); - public double Dpi { - set { - rsvg_handle_set_dpi(Raw, value); - } - } - - [DllImport("rsvg-2")] - static extern void rsvg_handle_render_cairo(IntPtr raw, IntPtr cr); - public void RenderCairo(Context cr) { + public void RenderCairo(Context cr) => rsvg_handle_render_cairo (Raw, cr == null ? IntPtr.Zero : cr.Handle); - } - - [DllImport("rsvg-2")] - static extern void rsvg_handle_set_dpi_x_y(IntPtr raw, double dpi_x, double dpi_y); - - public void SetDpiXY(double dpi_x, double dpi_y) { - rsvg_handle_set_dpi_x_y(Raw, dpi_x, dpi_y); - } - - [DllImport("rsvg-2")] - static extern void rsvg_handle_get_dimensions(IntPtr raw, IntPtr dimension_data); - - public Rsvg.DimensionData Dimensions { + + public void RenderCairoSub (Context cr, string id) => + rsvg_handle_render_cairo_sub (Raw, cr == null ? IntPtr.Zero : cr.Handle, id); + + public DimensionData Dimensions { get { - Rsvg.DimensionData dimension_data; - IntPtr native_dimension_data = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Rsvg.DimensionData))); + DimensionData dimension_data; + IntPtr native_dimension_data = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (DimensionData))); rsvg_handle_get_dimensions(Raw, native_dimension_data); - dimension_data = Rsvg.DimensionData.New (native_dimension_data); + dimension_data = DimensionData.New (native_dimension_data); Marshal.FreeHGlobal (native_dimension_data); return dimension_data; } } - [DllImport("rsvg-2")] - static extern bool rsvg_handle_close(IntPtr raw, out IntPtr error); - - public bool Close() { - IntPtr error = IntPtr.Zero; - bool raw_ret = rsvg_handle_close(Raw, out error); + public bool Close() { + bool raw_ret = rsvg_handle_close(Raw, out IntPtr error); if (error != IntPtr.Zero) throw new Exception (error.ToString()); return raw_ret; } - [DllImport("rsvg-2")] - static extern IntPtr rsvg_handle_get_title(IntPtr raw); - - public string Title { - get { - IntPtr raw_ret = rsvg_handle_get_title(Raw); - return "not supported"; - } - } - - [DllImport("rsvg-2")] - static extern void rsvg_handle_render_cairo_sub(IntPtr raw, IntPtr cr, string id); - - public void RenderCairoSub(Crow.Cairo.Context cr, string id) { - rsvg_handle_render_cairo_sub(Raw, cr == null ? IntPtr.Zero : cr.Handle, id); - } - - [DllImport("rsvg-2")] - static extern IntPtr rsvg_handle_get_metadata(IntPtr raw); - - public string Metadata { - get { - IntPtr raw_ret = rsvg_handle_get_metadata(Raw); - return "not supported"; - } - } + public string Title => throw new NotSupportedException (); + public string Metadata => throw new NotSupportedException (); } } -- 2.47.3