#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;
const char *unimplemented_action = NULL;
switch (action->type) {
+ case POPPLER_ACTION_NONE:
+ break;
case POPPLER_ACTION_GOTO_DEST: {
EvLinkDest *dest;
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 */
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;
[AC_HELP_STRING([--enable-pdf], [Compile with pdf support])],enable_pdf="$enableval",enable_pdf=yes)
if test "x$enable_pdf" = "xyes"; then
- POPPLER_REQUIRED=0.6
+ POPPLER_REQUIRED=0.8.0
PKG_CHECK_MODULES(POPPLER, poppler-glib >= $POPPLER_REQUIRED,enable_pdf=yes,enable_pdf=no)
if test "x$enable_pdf" = "xyes"; then
evince_save_LIBS=$LIBS
LIBS="$LIBS $POPPLER_LIBS"
AC_CHECK_FUNCS(poppler_page_render)
- AC_CHECK_FUNCS(poppler_page_render_for_printing)
- AC_CHECK_FUNCS(poppler_page_get_image)
LIBS=$evince_save_LIBS
- poppler_version=`$PKG_CONFIG --modversion poppler-glib`
- if test x$poppler_version = x0.6; then
- poppler_version=0.6.0
- fi
- POPPLER_MAJOR_VERSION=`echo $poppler_version | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\).*/\2 /'`
- POPPLER_MINOR_VERSION=`echo $poppler_version | sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\).*/\3 /'`
-
- AC_DEFINE_UNQUOTED([POPPLER_MAJOR_VERSION], $POPPLER_MAJOR_VERSION, [Poppler major version number])
- AC_DEFINE_UNQUOTED([POPPLER_MINOR_VERSION], $POPPLER_MINOR_VERSION, [Poppler minor version number])
-
PKG_CHECK_MODULES(CAIRO_PDF, cairo-pdf, enable_cairo_pdf=yes, enable_cairo_pdf=no)
if test x$enable_cairo_pdf = xyes; then
AC_DEFINE([HAVE_CAIRO_PDF], [1], [defined if cairo-pdf is available])