#include "ev-poppler.h"
#include "ev-file-exporter.h"
+#include "ev-mapping.h"
#include "ev-document-find.h"
#include "ev-document-misc.h"
#include "ev-document-links.h"
for (list = mapping_list; list; list = list->next) {
PopplerLinkMapping *link_mapping;
- EvLinkMapping *ev_link_mapping;
+ EvMapping *ev_link_mapping;
link_mapping = (PopplerLinkMapping *)list->data;
- ev_link_mapping = g_new (EvLinkMapping, 1);
- ev_link_mapping->link = ev_link_from_action (pdf_document,
+ ev_link_mapping = g_new (EvMapping, 1);
+ ev_link_mapping->data = ev_link_from_action (pdf_document,
link_mapping->action);
- ev_link_mapping->x1 = link_mapping->area.x1;
- ev_link_mapping->x2 = link_mapping->area.x2;
+ ev_link_mapping->area.x1 = link_mapping->area.x1;
+ ev_link_mapping->area.x2 = link_mapping->area.x2;
/* Invert this for X-style coordinates */
- ev_link_mapping->y1 = height - link_mapping->area.y2;
- ev_link_mapping->y2 = height - link_mapping->area.y1;
+ ev_link_mapping->area.y1 = height - link_mapping->area.y2;
+ ev_link_mapping->area.y2 = height - link_mapping->area.y1;
retval = g_list_prepend (retval, ev_link_mapping);
}
for (list = mapping_list; list; list = list->next) {
PopplerImageMapping *image_mapping;
- EvImageMapping *ev_image_mapping;
+ EvMapping *ev_image_mapping;
image_mapping = (PopplerImageMapping *)list->data;
- ev_image_mapping = g_new (EvImageMapping, 1);
+ ev_image_mapping = g_new (EvMapping, 1);
- ev_image_mapping->image = ev_image_new (page, image_mapping->image_id);
- ev_image_mapping->x1 = image_mapping->area.x1;
- ev_image_mapping->x2 = image_mapping->area.x2;
- ev_image_mapping->y1 = image_mapping->area.y1;
- ev_image_mapping->y2 = image_mapping->area.y2;
+ ev_image_mapping->data = ev_image_new (page, image_mapping->image_id);
+ ev_image_mapping->area.x1 = image_mapping->area.x1;
+ ev_image_mapping->area.y1 = image_mapping->area.y1;
+ ev_image_mapping->area.x2 = image_mapping->area.x2;
+ ev_image_mapping->area.y2 = image_mapping->area.y2;
retval = g_list_prepend (retval, ev_image_mapping);
}
for (list = fields; list; list = list->next) {
PopplerFormFieldMapping *mapping;
- EvFormFieldMapping *field_mapping;
+ EvMapping *field_mapping;
EvFormField *ev_field;
mapping = (PopplerFormFieldMapping *)list->data;
if (!ev_field)
continue;
- field_mapping = g_new0 (EvFormFieldMapping, 1);
- field_mapping->x1 = mapping->area.x1;
- field_mapping->x2 = mapping->area.x2;
- field_mapping->y1 = height - mapping->area.y2;
- field_mapping->y2 = height - mapping->area.y1;
- field_mapping->field = ev_field;
- field_mapping->field->page = EV_PAGE (g_object_ref (page));
+ field_mapping = g_new0 (EvMapping, 1);
+ field_mapping->area.x1 = mapping->area.x1;
+ field_mapping->area.x2 = mapping->area.x2;
+ field_mapping->area.y1 = height - mapping->area.y2;
+ field_mapping->area.y2 = height - mapping->area.y1;
+ field_mapping->data = ev_field;
+ ev_field->page = EV_PAGE (g_object_ref (page));
g_object_set_data_full (G_OBJECT (ev_field),
"poppler-field",
PopplerAnnotMarkup *markup;
gchar *label;
gdouble opacity;
- gboolean is_open;
PopplerRectangle poppler_rect;
markup = POPPLER_ANNOT_MARKUP (poppler_annot);
if (poppler_annot_markup_get_popup_rectangle (markup, &poppler_rect)) {
EvRectangle ev_rect;
+ gboolean is_open;
gdouble height;
poppler_page_get_size (POPPLER_PAGE (page->backend_page),
ev_rect.y1 = height - poppler_rect.y2;
ev_rect.y2 = height - poppler_rect.y1;
- g_object_set (ev_annot, "rectangle", &ev_rect, NULL);
+ is_open = poppler_annot_markup_get_popup_is_open (markup);
+
+ g_object_set (ev_annot,
+ "rectangle", &ev_rect,
+ "is_open", is_open,
+ "has_popup", TRUE,
+ NULL);
+ } else {
+ /* FIXME: Use poppler_annot_markup_has_popup() when
+ * new poppler is released.
+ */
+ g_object_set (ev_annot,
+ "has_popup", FALSE,
+ NULL);
}
label = poppler_annot_markup_get_label (markup);
opacity = poppler_annot_markup_get_opacity (markup);
- is_open = poppler_annot_markup_get_popup_is_open (markup);
g_object_set (ev_annot,
"label", label,
"opacity", opacity,
- "is_open", is_open,
NULL);
g_free (label);
for (list = annots; list; list = list->next) {
PopplerAnnotMapping *mapping;
- EvAnnotationMapping *annot_mapping;
+ EvMapping *annot_mapping;
EvAnnotation *ev_annot;
mapping = (PopplerAnnotMapping *)list->data;
if (!ev_annot->name)
ev_annot->name = g_strdup_printf ("annot-%d-%d", page->index, i);
- annot_mapping = g_new0 (EvAnnotationMapping, 1);
- annot_mapping->x1 = mapping->area.x1;
- annot_mapping->x2 = mapping->area.x2;
- annot_mapping->y1 = height - mapping->area.y2;
- annot_mapping->y2 = height - mapping->area.y1;
- annot_mapping->annotation = ev_annot;
+ annot_mapping = g_new (EvMapping, 1);
+ annot_mapping->area.x1 = mapping->area.x1;
+ annot_mapping->area.x2 = mapping->area.x2;
+ annot_mapping->area.y1 = height - mapping->area.y2;
+ annot_mapping->area.y2 = height - mapping->area.y1;
+ annot_mapping->data = ev_annot;
g_object_set_data_full (G_OBJECT (ev_annot),
"poppler-annot",