]> www.fi.muni.cz Git - evince.git/blobdiff - backend/pdf/ev-poppler.cc
Remove gs stuff from ps backend.
[evince.git] / backend / pdf / ev-poppler.cc
index e44a76958f1968d59d3bc2d5c337ab3258b108ff..01c9a698f8cf96ace3c47f4f66ae12815e8f7ccc 100644 (file)
 #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;
@@ -939,7 +931,7 @@ ev_link_dest_from_dest (PdfDocument *pdf_document,
        }
 
        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);
@@ -960,6 +952,8 @@ ev_link_from_action (PdfDocument   *pdf_document,
        const char   *unimplemented_action = NULL;
 
        switch (action->type) {
+               case POPPLER_ACTION_NONE:
+                       break;
                case POPPLER_ACTION_GOTO_DEST: {
                        EvLinkDest *dest;
                        
@@ -994,8 +988,9 @@ ev_link_from_action (PdfDocument   *pdf_document,
        }
        
        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);
@@ -1196,11 +1191,8 @@ pdf_document_images_get_image_mapping (EvDocumentImages *document_images,
                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;
@@ -1260,7 +1252,7 @@ make_thumbnail_for_page (PdfDocument     *pdf_document,
 
        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);
@@ -1279,7 +1271,7 @@ make_thumbnail_for_page (PdfDocument     *pdf_document,
        
        pixbuf = ev_document_misc_pixbuf_from_surface (surface);
        cairo_surface_destroy (surface);
-#endif /* POPPLER_HAS_GDK */
+#endif /* POPPLER_WITH_GDK */
 
        return pixbuf;
 }
@@ -1299,10 +1291,7 @@ pdf_document_thumbnails_get_thumbnail (EvDocumentThumbnails *document_thumbnails
        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;
@@ -1312,8 +1301,8 @@ pdf_document_thumbnails_get_thumbnail (EvDocumentThumbnails *document_thumbnails
                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 */
@@ -1712,7 +1701,7 @@ pdf_document_file_exporter_do_page (EvFileExporter  *exporter,
 #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;
@@ -1733,8 +1722,6 @@ pdf_document_file_exporter_do_page (EvFileExporter  *exporter,
                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;
@@ -1786,7 +1773,7 @@ pdf_document_file_exporter_do_page (EvFileExporter  *exporter,
        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,
@@ -1799,13 +1786,7 @@ pdf_document_file_exporter_do_page (EvFileExporter  *exporter,
                         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++;
                        
@@ -1900,13 +1881,6 @@ pdf_selection_render_selection (EvSelection      *selection,
 
 #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;
@@ -1916,7 +1890,6 @@ pdf_selection_render_selection (EvSelection      *selection,
        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,
@@ -2023,26 +1996,18 @@ pdf_selection_get_selection_region (EvSelection     *selection,
 {
        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;
 }
@@ -2065,17 +2030,11 @@ pdf_selection_get_selection_map (EvSelection     *selection,
        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;