[librsvg] Remove rsvg_handle_get_geometry_sub()
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg] Remove rsvg_handle_get_geometry_sub()
- Date: Thu, 28 Mar 2019 00:30:55 +0000 (UTC)
commit a3c2a6f1e7b9db26c9dd31dfb48bca7bc062e9c5
Author: Federico Mena Quintero <federico gnome org>
Date: Wed Mar 27 11:52:33 2019 -0600
Remove rsvg_handle_get_geometry_sub()
It's replaced with rsvg_handle_get_geometry_for_element(), which has
clear semantics.
doc/rsvg-sections.txt | 1 -
librsvg/rsvg-handle.c | 42 ++++++------------------------------------
librsvg/rsvg.h | 13 ++++---------
rsvg.symbols | 1 -
rsvg_internals/src/c_api.rs | 41 -----------------------------------------
rsvg_internals/src/handle.rs | 2 +-
rsvg_internals/src/lib.rs | 1 -
tests/api.c | 10 ----------
tests/dimensions.c | 42 +++++++-----------------------------------
9 files changed, 18 insertions(+), 135 deletions(-)
---
diff --git a/doc/rsvg-sections.txt b/doc/rsvg-sections.txt
index debad27a..36b0d0f1 100644
--- a/doc/rsvg-sections.txt
+++ b/doc/rsvg-sections.txt
@@ -23,7 +23,6 @@ rsvg_handle_set_base_uri
rsvg_handle_get_dimensions
rsvg_handle_get_dimensions_sub
rsvg_handle_get_position_sub
-rsvg_handle_get_geometry_sub
rsvg_handle_get_geometry_for_element
rsvg_handle_has_sub
rsvg_handle_get_title
diff --git a/librsvg/rsvg-handle.c b/librsvg/rsvg-handle.c
index d7607f4d..371dc628 100644
--- a/librsvg/rsvg-handle.c
+++ b/librsvg/rsvg-handle.c
@@ -208,7 +208,7 @@
* Width, in pixels, of the rendered SVG after calling the size callback
* as specified by rsvg_handle_set_size_callback().
*
- * Deprecated: 2.46. Please use rsvg_handle_get_geometry_sub() instead.
+ * Deprecated: 2.46. FIXME: point to deprecation documentation.
*/
/**
@@ -217,7 +217,7 @@
* Height, in pixels, of the rendered SVG after calling the size callback
* as specified by rsvg_handle_set_size_callback().
*
- * Deprecated: 2.46. Please use rsvg_handle_get_geometry_sub() instead.
+ * Deprecated: 2.46. FIXME: point to deprecation documentation.
*/
/**
@@ -226,7 +226,7 @@
* Exact width, in pixels, of the rendered SVG before calling the size callback
* as specified by rsvg_handle_set_size_callback().
*
- * Deprecated: 2.46. Please use rsvg_handle_get_geometry_sub() instead.
+ * Deprecated: 2.46. FIXME: point to deprecation documentation.
*/
/**
@@ -235,7 +235,7 @@
* Exact height, in pixels, of the rendered SVG before calling the size callback
* as specified by rsvg_handle_set_size_callback().
*
- * Deprecated: 2.46. Please use rsvg_handle_get_geometry_sub() instead.
+ * Deprecated: 2.46. FIXME: point to deprecation documentation.
*/
/**
@@ -295,10 +295,6 @@ extern gboolean rsvg_rust_handle_read_stream_sync (RsvgHandle *handle,
GError **error);
extern void rsvg_rust_handle_write (RsvgHandle *handle, const guchar *buf, gsize count);
extern gboolean rsvg_rust_handle_close (RsvgHandle *handle, GError **error);
-extern gboolean rsvg_rust_handle_get_geometry_sub (RsvgHandle *handle,
- RsvgRectangle *out_ink_rect,
- RsvgRectangle *out_logical_rect,
- const char *id);
extern gboolean rsvg_rust_handle_has_sub (RsvgHandle *handle, const char *id);
extern gboolean rsvg_rust_handle_render_cairo_sub (RsvgHandle *handle,
cairo_t *cr,
@@ -805,7 +801,7 @@ rsvg_handle_get_dimensions (RsvgHandle *handle, RsvgDimensionData *dimension_dat
* Get the size of a subelement of the SVG file. Do not call from within the
* size_func callback, because an infinite loop will occur.
*
- * Deprecated: 2.46. Use rsvg_handle_get_geometry_sub() instead.
+ * Deprecated: 2.46. FIXME: point to deprecation documentation.
*
* Since: 2.22
*/
@@ -820,32 +816,6 @@ rsvg_handle_get_dimensions_sub (RsvgHandle *handle,
return rsvg_rust_handle_get_dimensions_sub (handle, dimension_data, id);
}
-/**
- * rsvg_handle_get_geometry_sub:
- * @handle: A #RsvgHandle
- * @ink_rect: (out)(allow-none): A place to store the SVG fragment's geometry.
- * @logical_rect: (out)(allow-none): A place to store the SVG fragment's logical geometry.
- * @id: (nullable): An element's id within the SVG, starting with "##", for
- * example, "##layer1"; or %NULL to use the whole SVG.
- *
- * Get the geometry of a subelement of the SVG file.
- *
- * Note that unlike rsvg_handle_get_position_sub() and
- * rsvg_handle_get_dimensions_sub(), this function does not call the size_func.
- *
- * Since: 2.46
- */
-gboolean
-rsvg_handle_get_geometry_sub (RsvgHandle *handle,
- RsvgRectangle *ink_rect,
- RsvgRectangle *logical_rect,
- const char *id)
-{
- g_return_val_if_fail (RSVG_IS_HANDLE (handle), FALSE);
-
- return rsvg_rust_handle_get_geometry_sub(handle, ink_rect, logical_rect, id);
-}
-
/**
* rsvg_handle_get_position_sub:
* @handle: A #RsvgHandle
@@ -856,7 +826,7 @@ rsvg_handle_get_geometry_sub (RsvgHandle *handle,
* Get the position of a subelement of the SVG file. Do not call from within
* the size_func callback, because an infinite loop will occur.
*
- * Deprecated: 2.46. Use rsvg_handle_get_geometry_sub() instead.
+ * Deprecated: 2.46. FIXME: point to deprecation documentation.
*
* Since: 2.22
*/
diff --git a/librsvg/rsvg.h b/librsvg/rsvg.h
index f717390d..693d238d 100644
--- a/librsvg/rsvg.h
+++ b/librsvg/rsvg.h
@@ -117,7 +117,7 @@ struct _RsvgHandle {
* individual element from rsvg_handle_get_dimensions_sub(). Please see
* the deprecation documentation for those functions.
*
- * Deprecated: 2.46. Please use rsvg_handle_get_geometry_sub().
+ * Deprecated: 2.46. FIXME: point to deprecation documentation.
*/
struct _RsvgDimensionData {
int width;
@@ -134,7 +134,7 @@ struct _RsvgDimensionData {
* Position of an SVG fragment from rsvg_handle_get_position_sub(). Please
* the deprecation documentation for that function.
*
- * Deprecated: 2.46. Please use rsvg_handle_get_geometry_sub().
+ * Deprecated: 2.46. FIXME: point to deprecation documentation.
*/
struct _RsvgPositionData {
int x;
@@ -190,21 +190,16 @@ void rsvg_handle_set_base_uri (RsvgHandle *handle, const char *base_uri)
void rsvg_handle_get_dimensions (RsvgHandle *handle, RsvgDimensionData *dimension_data);
-RSVG_DEPRECATED_FOR(rsvg_handle_get_geometry_sub)
+RSVG_DEPRECATED
gboolean rsvg_handle_get_dimensions_sub (RsvgHandle *handle,
RsvgDimensionData *dimension_data,
const char *id);
-RSVG_DEPRECATED_FOR(rsvg_handle_get_geometry_sub)
+RSVG_DEPRECATED
gboolean rsvg_handle_get_position_sub (RsvgHandle *handle,
RsvgPositionData *position_data,
const char *id);
-gboolean rsvg_handle_get_geometry_sub (RsvgHandle *handle,
- RsvgRectangle *ink_rect,
- RsvgRectangle *logical_rect,
- const char *id);
-
gboolean rsvg_handle_has_sub (RsvgHandle *handle, const char *id);
typedef enum {
diff --git a/rsvg.symbols b/rsvg.symbols
index bf5a18df..e0ed2c1d 100644
--- a/rsvg.symbols
+++ b/rsvg.symbols
@@ -6,7 +6,6 @@ rsvg_handle_get_base_uri
rsvg_handle_get_dimensions
rsvg_handle_get_dimensions_sub
rsvg_handle_get_position_sub
-rsvg_handle_get_geometry_sub
rsvg_handle_get_pixbuf
rsvg_handle_get_pixbuf_sub
rsvg_handle_get_type
diff --git a/rsvg_internals/src/c_api.rs b/rsvg_internals/src/c_api.rs
index f937faf8..4a9b32d7 100644
--- a/rsvg_internals/src/c_api.rs
+++ b/rsvg_internals/src/c_api.rs
@@ -1,5 +1,4 @@
use std::ffi::CStr;
-use std::mem;
use std::ops;
use std::path::PathBuf;
use std::ptr;
@@ -610,46 +609,6 @@ pub unsafe extern "C" fn rsvg_rust_handle_close(
}
}
}
-
-#[no_mangle]
-pub unsafe extern "C" fn rsvg_rust_handle_get_geometry_sub(
- handle: *const RsvgHandle,
- out_ink_rect: *mut RsvgRectangle,
- out_logical_rect: *mut RsvgRectangle,
- id: *const libc::c_char,
-) -> glib_sys::gboolean {
- let rhandle = get_rust_handle(handle);
-
- let id: Option<String> = from_glib_none(id);
-
- match rhandle.get_geometry_sub(id.as_ref().map(String::as_str)) {
- Ok((ink_r, logical_r)) => {
- if !out_ink_rect.is_null() {
- *out_ink_rect = ink_r;
- }
-
- if !out_logical_rect.is_null() {
- *out_logical_rect = logical_r;
- }
-
- true.to_glib()
- }
-
- Err(_) => {
- if !out_ink_rect.is_null() {
- *out_ink_rect = mem::zeroed();
- }
-
- if !out_logical_rect.is_null() {
- *out_logical_rect = mem::zeroed();
- }
-
- // FIXME: return a proper error code to the public API
- false.to_glib()
- }
- }
-}
-
#[no_mangle]
pub unsafe extern "C" fn rsvg_rust_handle_has_sub(
handle: *const RsvgHandle,
diff --git a/rsvg_internals/src/handle.rs b/rsvg_internals/src/handle.rs
index 39d98b17..74920289 100644
--- a/rsvg_internals/src/handle.rs
+++ b/rsvg_internals/src/handle.rs
@@ -459,7 +459,7 @@ impl Handle {
}
/// Returns (ink_rect, logical_rect)
- pub fn get_geometry_sub(
+ fn get_geometry_sub(
&self,
id: Option<&str>,
) -> Result<(RsvgRectangle, RsvgRectangle), RenderingError> {
diff --git a/rsvg_internals/src/lib.rs b/rsvg_internals/src/lib.rs
index d092e084..ff843b70 100644
--- a/rsvg_internals/src/lib.rs
+++ b/rsvg_internals/src/lib.rs
@@ -25,7 +25,6 @@ pub use crate::c_api::{
rsvg_rust_handle_get_dpi_y,
rsvg_rust_handle_get_flags,
rsvg_rust_handle_get_geometry_for_element,
- rsvg_rust_handle_get_geometry_sub,
rsvg_rust_handle_get_intrinsic_dimensions,
rsvg_rust_handle_get_pixbuf_sub,
rsvg_rust_handle_get_position_sub,
diff --git a/tests/api.c b/tests/api.c
index d26ee4fb..6e8eb230 100644
--- a/tests/api.c
+++ b/tests/api.c
@@ -604,18 +604,8 @@ dimensions_and_position (void)
g_assert_cmpint (pos.x, ==, EXAMPLE_TWO_X);
g_assert_cmpint (pos.y, ==, EXAMPLE_TWO_Y);
- /* TODO: test logical_rect */
- RsvgRectangle ink_rect;
- RsvgRectangle logical_rect;
- g_assert (rsvg_handle_get_geometry_sub (handle, &ink_rect, &logical_rect, EXAMPLE_TWO_ID));
- g_assert_cmpint (ink_rect.x, ==, EXAMPLE_TWO_X);
- g_assert_cmpint (ink_rect.y, ==, EXAMPLE_TWO_Y);
- g_assert_cmpint (ink_rect.width, ==, EXAMPLE_TWO_W);
- g_assert_cmpint (ink_rect.height, ==, EXAMPLE_TWO_H);
-
g_assert (!rsvg_handle_get_position_sub (handle, &pos, EXAMPLE_NONEXISTENT_ID));
g_assert (!rsvg_handle_get_dimensions_sub (handle, &dim, EXAMPLE_NONEXISTENT_ID));
- g_assert (!rsvg_handle_get_geometry_sub (handle, &ink_rect, &logical_rect, EXAMPLE_NONEXISTENT_ID));
g_object_unref (handle);
}
diff --git a/tests/dimensions.c b/tests/dimensions.c
index e76e7c93..b070b22f 100644
--- a/tests/dimensions.c
+++ b/tests/dimensions.c
@@ -17,11 +17,8 @@ typedef struct
gdouble y;
gdouble width;
gdouble height;
- gdouble logical_width;
- gdouble logical_height;
gboolean has_position;
gboolean has_dimensions;
- gboolean has_logical_dimensions;
} FixtureData;
/* The following are stolen from g_assert_cmpfloat_with_epsilon() and
@@ -47,8 +44,6 @@ test_dimensions (FixtureData *fixture)
RsvgHandle *handle;
RsvgPositionData position;
RsvgDimensionData dimension;
- RsvgRectangle ink_rect;
- RsvgRectangle logical_rect;
gchar *target_file;
GError *error = NULL;
@@ -62,33 +57,20 @@ test_dimensions (FixtureData *fixture)
g_assert (rsvg_handle_has_sub (handle, fixture->id));
g_assert (rsvg_handle_get_position_sub (handle, &position, fixture->id));
g_assert (rsvg_handle_get_dimensions_sub (handle, &dimension, fixture->id));
- g_assert (rsvg_handle_get_geometry_sub (handle, &ink_rect, &logical_rect, fixture->id));
g_message ("w=%d h=%d", dimension.width, dimension.height);
} else {
rsvg_handle_get_dimensions (handle, &dimension);
- rsvg_handle_get_geometry_sub (handle, &ink_rect, &logical_rect, NULL);
}
if (fixture->has_position) {
g_assert_cmpint (fixture->x, ==, position.x);
g_assert_cmpint (fixture->y, ==, position.y);
-
- my_assert_cmpfloat_with_epsilon (fixture->x, ink_rect.x, 0.01);
- my_assert_cmpfloat_with_epsilon (fixture->y, ink_rect.y, 0.01);
}
if (fixture->has_dimensions) {
g_assert_cmpint (fixture->width, ==, dimension.width);
g_assert_cmpint (fixture->height, ==, dimension.height);
-
- my_assert_cmpfloat_with_epsilon (fixture->width, ink_rect.width, 0.01);
- my_assert_cmpfloat_with_epsilon (fixture->height, ink_rect.height, 0.01);
- }
-
- if (fixture->has_logical_dimensions) {
- my_assert_cmpfloat_with_epsilon (fixture->logical_width, logical_rect.width, 0.01);
- my_assert_cmpfloat_with_epsilon (fixture->logical_height, logical_rect.height, 0.01);
}
g_object_unref (handle);
@@ -100,47 +82,37 @@ static FixtureData fixtures[] =
"/dimensions/no viewbox, width and height",
"dimensions/bug608102.svg",
NULL,
- 0, 0, 16, 16, 16, 16,
- FALSE, TRUE, TRUE
+ 0, 0, 16, 16,
+ FALSE, TRUE
},
{
"/dimensions/100% width and height",
"dimensions/bug612951.svg",
NULL,
- 0, 0, 47, 47.14, 44.546, 45.44,
- FALSE, TRUE, TRUE
+ 0, 0, 47, 47.14,
+ FALSE, TRUE
},
{
"/dimensions/viewbox only",
"dimensions/bug614018.svg",
NULL,
- 0, 0, 972, 546, 0, 0,
+ 0, 0, 972, 546,
FALSE, TRUE
},
{
"/dimensions/sub/rect no unit",
"dimensions/sub-rect-no-unit.svg",
"#rect-no-unit",
- 0, 0, 44, 45, 0, 0,
+ 0, 0, 44, 45,
FALSE, TRUE
},
{
"/dimensions/sub/text_position",
"dimensions/347-wrapper.svg",
"#LabelA",
- 80, 48.90, 0, 0, 0, 0,
+ 80, 48.90, 0, 0,
TRUE, FALSE
},
- /* FIXME: The wilber test fails, the ink_rect has the wrong size */
- /*{
- "/dimensions/sub/bug760112-wilber",
- "dimensions/bug760112-wilber.svg",
- "#g39819",
- 0, 0, 16, 16, 16, 16,
- FALSE, TRUE, TRUE
- },
- */
- /* {"/dimensions/sub/rect with transform", "dimensions/bug564527.svg", "#back", 0, 0, 144, 203} */
};
static const gint n_fixtures = G_N_ELEMENTS (fixtures);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]