#include "ev-attachment.h"
#include "ev-image.h"
-#if (defined (HAVE_POPPLER_PAGE_RENDER) || defined (HAVE_POPPLER_PAGE_RENDER_FOR_PRINTING)) && (defined (HAVE_CAIRO_PDF) || defined (HAVE_CAIRO_PS))
+#if (defined (HAVE_POPPLER_PAGE_RENDER)) && (defined (HAVE_CAIRO_PDF) || defined (HAVE_CAIRO_PS))
#define HAVE_CAIRO_PRINT
#endif
-#if POPPLER_MAJOR_VERSION <= 6 || (POPPLER_MAJOR_VERSION == 7 && POPPLER_MINOR_VERSION < 2)
-#define POPPLER_HAS_GDK
-#else
-#ifdef POPPLER_WITH_GDK
-#define POPPLER_HAS_GDK
-#endif
-#endif
-
typedef struct {
PdfDocument *document;
char *text;
}
if (unimplemented_dest) {
- g_warning ("Unimplemented named action: %s, please post a "
+ g_warning ("Unimplemented destination: %s, please post a "
"bug report in Evince bugzilla "
"(http://bugzilla.gnome.org) with a testcase.",
unimplemented_dest);
const char *unimplemented_action = NULL;
switch (action->type) {
+ case POPPLER_ACTION_NONE:
+ break;
case POPPLER_ACTION_GOTO_DEST: {
EvLinkDest *dest;
}
if (unimplemented_action) {
- g_warning ("Unimplemented action: %s, please post a bug report with a testcase.",
- unimplemented_action);
+ g_warning ("Unimplemented action: %s, please post a bug report "
+ "in Evince bugzilla (http://bugzilla.gnome.org) "
+ "with a testcase.", unimplemented_action);
}
link = ev_link_new (action->any.title, ev_action);
image_mapping = (PopplerImageMapping *)list->data;
ev_image_mapping = g_new (EvImageMapping, 1);
-#ifdef HAVE_POPPLER_PAGE_GET_IMAGE
+
ev_image_mapping->image = ev_image_new (page, image_mapping->image_id);
-#elif POPPLER_HAS_CAIRO
- ev_image_mapping->image = ev_image_new_from_pixbuf (image_mapping->image);
-#endif
ev_image_mapping->x1 = image_mapping->area.x1;
ev_image_mapping->x2 = image_mapping->area.x2;
ev_image_mapping->y1 = image_mapping->area.y1;
pdf_document_thumbnails_get_dimensions (EV_DOCUMENT_THUMBNAILS (pdf_document),
rc, &width, &height);
-#ifdef POPPLER_HAS_GDK
+#ifdef POPPLER_WITH_GDK
pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8,
width, height);
gdk_pixbuf_fill (pixbuf, 0xffffffff);
pixbuf = ev_document_misc_pixbuf_from_surface (surface);
cairo_surface_destroy (surface);
-#endif /* POPPLER_HAS_GDK */
+#endif /* POPPLER_WITH_GDK */
return pixbuf;
}
poppler_page = poppler_document_get_page (pdf_document->document, rc->page);
g_return_val_if_fail (poppler_page != NULL, NULL);
-#if POPPLER_MAJOR_VERSION <= 6 || (POPPLER_MAJOR_VERSION == 7 && POPPLER_MINOR_VERSION < 2)
- pixbuf = poppler_page_get_thumbnail (poppler_page);
-#else
-#ifdef POPPLER_HAS_GDK
+#ifdef POPPLER_WITH_GDK
pixbuf = poppler_page_get_thumbnail_pixbuf (poppler_page);
#else
cairo_surface_t *surface;
pixbuf = ev_document_misc_pixbuf_from_surface (surface);
cairo_surface_destroy (surface);
}
-#endif
-#endif
+#endif /* POPPLER_WITH_GDK */
+
if (pixbuf) {
/* Rotate provided thumbnail if needed */
#ifdef HAVE_CAIRO_PRINT
gdouble page_width, page_height;
gint x, y;
- gboolean rotate, landscape;
+ gboolean rotate;
gdouble width, height;
gdouble pwidth, pheight;
gdouble xscale, yscale;
rotate = FALSE;
}
- landscape = (ctx->paper_width > ctx->paper_height);
-
/* Use always portrait mode and rotate when necessary */
if (ctx->paper_width > ctx->paper_height) {
width = ctx->paper_height;
if (rotate) {
cairo_matrix_t matrix;
- cairo_translate (ctx->cr, width, 0);
+ cairo_translate (ctx->cr, (2 * y + 1) * pwidth, 0);
cairo_matrix_init (&matrix,
0, 1,
-1, 0,
y * (rotate ? pwidth : pheight));
cairo_scale (ctx->cr, xscale, yscale);
-#ifdef HAVE_POPPLER_PAGE_RENDER_FOR_PRINTING
poppler_page_render_for_printing (poppler_page, ctx->cr);
-#else
-#ifdef HAVE_POPPLER_PAGE_RENDER
- poppler_page_render (poppler_page, ctx->cr);
-#endif
-#endif
ctx->pages_printed++;
#ifdef HAVE_POPPLER_PAGE_RENDER
cairo_t *cr;
-
-#if POPPLER_MAJOR_VERSION <= 6 || (POPPLER_MAJOR_VERSION == 7 && POPPLER_MINOR_VERSION < 2)
- GdkColor text_color, base_color;
-
- text_color = *text;
- base_color = *base;
-#else
PopplerColor text_color, base_color;
text_color.red = text->red;
base_color.red = base->red;
base_color.green = base->green;
base_color.blue = base->blue;
-#endif
if (*surface == NULL) {
*surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
{
PdfDocument *pdf_document;
GdkRegion *retval;
+ GList *region;
pdf_document = PDF_DOCUMENT (selection);
set_rc_data (pdf_document, rc);
-#if POPPLER_MAJOR_VERSION <= 6 || (POPPLER_MAJOR_VERSION == 7 && POPPLER_MINOR_VERSION < 2)
- retval = poppler_page_get_selection_region (POPPLER_PAGE (rc->data),
- rc->scale,
- (PopplerSelectionStyle)style,
- (PopplerRectangle *) points);
-#else
- GList *region;
-
region = poppler_page_get_selection_region (POPPLER_PAGE (rc->data),
rc->scale,
(PopplerSelectionStyle)style,
(PopplerRectangle *) points);
retval = create_gdk_region_from_poppler_region (region);
g_list_free (region);
-#endif
return retval;
}
points.y1 = 0.0;
poppler_page_get_size (poppler_page, &(points.x2), &(points.y2));
-#if POPPLER_MAJOR_VERSION <= 6 || (POPPLER_MAJOR_VERSION == 7 && POPPLER_MINOR_VERSION < 2)
- retval = poppler_page_get_selection_region (poppler_page, 1.0,
- POPPLER_SELECTION_GLYPH,
- &points);
-#else
region = poppler_page_get_selection_region (poppler_page, 1.0,
POPPLER_SELECTION_GLYPH,
&points);
retval = create_gdk_region_from_poppler_region (region);
g_list_free (region);
-#endif
g_object_unref (poppler_page);
return retval;