From f03b70d2cd8ea6099af7b24fe2f7c024e9fdd323 Mon Sep 17 00:00:00 2001 From: Antia Puentes Date: Fri, 20 Sep 2013 11:14:50 +0200 Subject: libdocument: Added ev_mapping_list_get returns the EvMapping in the EvMappingList at coordinates (x,y). origin commit: https://git.gnome.org/browse/evince/commit/?id=2de7a65 --- libdocument/ev-mapping-list.c | 36 +++++++++++++++++++++++++++++------- libdocument/ev-mapping-list.h | 5 ++++- 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/libdocument/ev-mapping-list.c b/libdocument/ev-mapping-list.c index 672d5297..8c639e8e 100644 --- a/libdocument/ev-mapping-list.c +++ b/libdocument/ev-mapping-list.c @@ -94,17 +94,17 @@ ev_mapping_list_nth (EvMappingList *mapping_list, } /** - * ev_mapping_list_get_data: + * ev_mapping_list_get: * @mapping_list: an #EvMappingList * @x: X coordinate * @y: Y coordinate * - * Returns: (transfer none): the data of a mapping in the list at coordinates (x, y) + * Returns: (transfer none): the #EvMapping in the list at coordinates (x, y) */ -gpointer -ev_mapping_list_get_data (EvMappingList *mapping_list, - gdouble x, - gdouble y) +EvMapping * +ev_mapping_list_get (EvMappingList *mapping_list, + gdouble x, + gdouble y) { GList *list; @@ -115,13 +115,35 @@ ev_mapping_list_get_data (EvMappingList *mapping_list, (y >= mapping->area.y1) && (x <= mapping->area.x2) && (y <= mapping->area.y2)) { - return mapping->data; + return mapping; } } return NULL; } +/** + * ev_mapping_list_get_data: + * @mapping_list: an #EvMappingList + * @x: X coordinate + * @y: Y coordinate + * + * Returns: (transfer none): the data of a mapping in the list at coordinates (x, y) + */ +gpointer +ev_mapping_list_get_data (EvMappingList *mapping_list, + gdouble x, + gdouble y) +{ + EvMapping *mapping; + + mapping = ev_mapping_list_get (mapping_list, x, y); + if (mapping) + return mapping->data; + + return NULL; +} + /** * ev_mapping_list_get_list: * @mapping_list: an #EvMappingList diff --git a/libdocument/ev-mapping-list.h b/libdocument/ev-mapping-list.h index ad509674..e4cb5a80 100644 --- a/libdocument/ev-mapping-list.h +++ b/libdocument/ev-mapping-list.h @@ -47,9 +47,12 @@ EvMapping *ev_mapping_list_find (EvMappingList *mapping_list, EvMapping *ev_mapping_list_find_custom (EvMappingList *mapping_list, gconstpointer data, GCompareFunc func); -gpointer ev_mapping_list_get_data (EvMappingList *mapping_list, +EvMapping *ev_mapping_list_get (EvMappingList *mapping_list, gdouble x, gdouble y); +gpointer ev_mapping_list_get_data (EvMappingList *mapping_list, + gdouble x, + gdouble y); EvMapping *ev_mapping_list_nth (EvMappingList *mapping_list, guint n); guint ev_mapping_list_length (EvMappingList *mapping_list); -- cgit v1.2.1