summaryrefslogtreecommitdiff
path: root/librsvg
diff options
context:
space:
mode:
authorSven Neumann <sven@svenfoo.org>2020-09-18 08:09:52 +0200
committerSven Neumann <sven@svenfoo.org>2020-09-18 09:13:01 +0200
commit4936d8fb83d83f97cf040b912e3d225e659ba202 (patch)
tree3f6a8cb501a2983992ea28d6f9e353be6af96119 /librsvg
parent47a89e0e11c615b01236084fdb61d4d8b65ccd59 (diff)
downloadlibrsvg-4936d8fb83d83f97cf040b912e3d225e659ba202.tar.gz
Port obsolete C stub functions to Rust
Closes #625
Diffstat (limited to 'librsvg')
-rw-r--r--librsvg/c_api.rs46
-rw-r--r--librsvg/rsvg-base.c8
-rw-r--r--librsvg/rsvg-handle.c30
3 files changed, 67 insertions, 17 deletions
diff --git a/librsvg/c_api.rs b/librsvg/c_api.rs
index 5985f3c6..2a11a710 100644
--- a/librsvg/c_api.rs
+++ b/librsvg/c_api.rs
@@ -1927,6 +1927,52 @@ pub unsafe extern "C" fn rsvg_rust_handle_render_element(
}
}
+#[no_mangle]
+pub unsafe extern "C" fn rsvg_rust_handle_get_desc(handle: *const RsvgHandle) -> *mut libc::c_char {
+ rsvg_return_val_if_fail! {
+ rsvg_handle_get_desc => ptr::null_mut();
+
+ is_rsvg_handle(handle),
+ }
+
+ ptr::null_mut()
+}
+
+#[no_mangle]
+pub unsafe extern "C" fn rsvg_rust_handle_get_metadata(
+ handle: *const RsvgHandle,
+) -> *mut libc::c_char {
+ rsvg_return_val_if_fail! {
+ rsvg_handle_get_metadata => ptr::null_mut();
+
+ is_rsvg_handle(handle),
+ }
+
+ ptr::null_mut()
+}
+
+#[no_mangle]
+pub unsafe extern "C" fn rsvg_rust_handle_get_title(
+ handle: *const RsvgHandle,
+) -> *mut libc::c_char {
+ rsvg_return_val_if_fail! {
+ rsvg_handle_get_title => ptr::null_mut();
+
+ is_rsvg_handle(handle),
+ }
+
+ ptr::null_mut()
+}
+
+#[no_mangle]
+pub unsafe extern "C" fn rsvg_rust_init() {}
+
+#[no_mangle]
+pub unsafe extern "C" fn rsvg_rust_term() {}
+
+#[no_mangle]
+pub unsafe extern "C" fn rsvg_rust_cleanup() {}
+
/// Detects whether a `*const libc::c_char` is a path or a URI
///
/// `rsvg_handle_new_from_file()` takes a `filename` argument, and advertises
diff --git a/librsvg/rsvg-base.c b/librsvg/rsvg-base.c
index 1f7d9208..b2280695 100644
--- a/librsvg/rsvg-base.c
+++ b/librsvg/rsvg-base.c
@@ -34,6 +34,11 @@ extern void rsvg_rust_set_default_dpi_x_y(double dpi_x, double dpi_y);
/* Implemented in rsvg_internals/src/error.rs */
extern GQuark rsvg_rust_error_quark (void);
+/* Implemented in librsvg/c_api.rs */
+extern void rsvg_rust_init (void);
+extern void rsvg_rust_term (void);
+extern void rsvg_rust_cleanup (void);
+
/**
* rsvg_error_quark:
*
@@ -99,6 +104,7 @@ rsvg_set_default_dpi_x_y (double dpi_x, double dpi_y)
void
rsvg_init (void)
{
+ rsvg_rust_init ();
}
/**
@@ -112,6 +118,7 @@ rsvg_init (void)
void
rsvg_term (void)
{
+ rsvg_rust_term ();
}
/**
@@ -124,6 +131,7 @@ rsvg_term (void)
void
rsvg_cleanup (void)
{
+ rsvg_rust_cleanup ();
}
/* This is defined like this so that we can export the Rust function... just for
diff --git a/librsvg/rsvg-handle.c b/librsvg/rsvg-handle.c
index bc06d4a2..95364db3 100644
--- a/librsvg/rsvg-handle.c
+++ b/librsvg/rsvg-handle.c
@@ -323,12 +323,12 @@
#include "rsvg.h"
/* Implemented in rsvg_internals/src/handle.rs */
-extern void rsvg_rust_handle_set_dpi (RsvgHandle *raw_handle, double dpi);
-extern void rsvg_rust_handle_set_dpi_x_y (RsvgHandle *raw_handle, double dpi_x, double dpi_y);
-extern void rsvg_rust_handle_set_base_url (RsvgHandle *raw_handle, const char *uri);
-extern void rsvg_rust_handle_set_base_gfile (RsvgHandle *raw_handle, GFile *file);
-extern const char *rsvg_rust_handle_get_base_url (RsvgHandle *raw_handle);
-extern guint rsvg_rust_handle_set_testing (RsvgHandle *raw_handle, gboolean testing);
+extern void rsvg_rust_handle_set_dpi (RsvgHandle *handle, double dpi);
+extern void rsvg_rust_handle_set_dpi_x_y (RsvgHandle *handle, double dpi_x, double dpi_y);
+extern void rsvg_rust_handle_set_base_url (RsvgHandle *handle, const char *uri);
+extern void rsvg_rust_handle_set_base_gfile (RsvgHandle *handle, GFile *file);
+extern const char *rsvg_rust_handle_get_base_url (RsvgHandle *handle);
+extern guint rsvg_rust_handle_set_testing (RsvgHandle *handle, gboolean testing);
extern gboolean rsvg_rust_handle_read_stream_sync (RsvgHandle *handle,
GInputStream *stream,
GCancellable *cancellable,
@@ -350,7 +350,7 @@ extern gboolean rsvg_rust_handle_get_dimensions_sub (RsvgHandle *handle,
extern gboolean rsvg_rust_handle_get_position_sub (RsvgHandle *handle,
RsvgPositionData *dimension_data,
const char *id);
-extern void rsvg_rust_handle_set_size_callback (RsvgHandle *raw_handle,
+extern void rsvg_rust_handle_set_size_callback (RsvgHandle *handle,
RsvgSizeFunc size_func,
gpointer user_data,
GDestroyNotify destroy_notify);
@@ -408,7 +408,9 @@ extern gboolean rsvg_rust_handle_render_element (RsvgHandle *handle,
const char *id,
const RsvgRectangle *element_viewport,
GError **error);
-
+extern const char *rsvg_rust_handle_get_desc (RsvgHandle *handle);
+extern const char *rsvg_rust_handle_get_metadata (RsvgHandle *handle);
+extern const char *rsvg_rust_handle_get_title (RsvgHandle *handle);
/* Implemented in librsvg/c_api.rs */
@@ -777,9 +779,7 @@ rsvg_handle_set_stylesheet (RsvgHandle *handle,
const char *
rsvg_handle_get_metadata (RsvgHandle * handle)
{
- g_return_val_if_fail (handle, NULL);
-
- return NULL;
+ return rsvg_rust_handle_get_metadata (handle);
}
/**
@@ -796,9 +796,7 @@ rsvg_handle_get_metadata (RsvgHandle * handle)
const char *
rsvg_handle_get_title (RsvgHandle *handle)
{
- g_return_val_if_fail (handle, NULL);
-
- return NULL;
+ return rsvg_rust_handle_get_title (handle);
}
/**
@@ -815,9 +813,7 @@ rsvg_handle_get_title (RsvgHandle *handle)
const char *
rsvg_handle_get_desc (RsvgHandle *handle)
{
- g_return_val_if_fail (handle, NULL);
-
- return NULL;
+ return rsvg_rust_handle_get_desc (handle);
}
/**