* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*/
+#include <config.h>
#include "ev-link.h"
enum {
NULL));
}
-/* Link Mapping stuff */
-static void
-ev_link_mapping_free_foreach (EvLinkMapping *mapping)
-{
- g_object_unref (G_OBJECT (mapping->link));
- g_free (mapping);
-}
-
-void
-ev_link_mapping_free (GList *link_mapping)
-{
- if (link_mapping == NULL)
- return;
-
- g_list_foreach (link_mapping, (GFunc) (ev_link_mapping_free_foreach), NULL);
- g_list_free (link_mapping);
-}
-
-EvLink *
-ev_link_mapping_find (GList *link_mapping,
- gdouble x,
- gdouble y)
+gint
+ev_link_get_page (EvLink *link)
{
- GList *list;
- EvLink *link = NULL;
- int i;
-
- i = 0;
+ EvLinkAction *action;
+ EvLinkDest *dest;
- for (list = link_mapping; list; list = list->next) {
- EvLinkMapping *mapping = list->data;
+ action = ev_link_get_action (link);
+ if (!action)
+ return -1;
- i++;
- if ((x >= mapping->x1) &&
- (y >= mapping->y1) &&
- (x <= mapping->x2) &&
- (y <= mapping->y2)) {
- link = mapping->link;
- break;
- }
- }
+ if (ev_link_action_get_action_type (action) !=
+ EV_LINK_ACTION_TYPE_GOTO_DEST)
+ return -1;
- return link;
+ dest = ev_link_action_get_dest (action);
+ if (dest)
+ return ev_link_dest_get_page (dest);
+
+ return -1;
}
-