summaryrefslogtreecommitdiff
path: root/app-text/poppler/files/cairo-qt-experimental/0001-Cairo-backend-added-to-Qt4-wrapper.patch
diff options
context:
space:
mode:
Diffstat (limited to 'app-text/poppler/files/cairo-qt-experimental/0001-Cairo-backend-added-to-Qt4-wrapper.patch')
-rw-r--r--app-text/poppler/files/cairo-qt-experimental/0001-Cairo-backend-added-to-Qt4-wrapper.patch199
1 files changed, 0 insertions, 199 deletions
diff --git a/app-text/poppler/files/cairo-qt-experimental/0001-Cairo-backend-added-to-Qt4-wrapper.patch b/app-text/poppler/files/cairo-qt-experimental/0001-Cairo-backend-added-to-Qt4-wrapper.patch
deleted file mode 100644
index 2246b29b1340..000000000000
--- a/app-text/poppler/files/cairo-qt-experimental/0001-Cairo-backend-added-to-Qt4-wrapper.patch
+++ /dev/null
@@ -1,199 +0,0 @@
-From e8fcbaca23878f0edd2015440eec55aaba0e8f9f Mon Sep 17 00:00:00 2001
-From: Paul Gideon Dann <pdgiddie@gmail.com>
-Date: Wed, 20 May 2009 11:42:28 +0100
-Subject: [PATCH 1/4] Cairo backend added to Qt4 wrapper
-
----
- qt4/src/CMakeLists.txt | 15 ++++++++++
- qt4/src/poppler-document.cc | 3 ++
- qt4/src/poppler-page.cc | 70 +++++++++++++++++++++++++++++++++++++++++++++
- qt4/src/poppler-qt4.h | 3 +-
- qt4/tests/CMakeLists.txt | 5 ++++
- 5 files changed, 95 insertions(+), 1 deletion(-)
-
-diff --git a/qt4/src/CMakeLists.txt b/qt4/src/CMakeLists.txt
-index 189eca2..5338b55 100644
---- a/qt4/src/CMakeLists.txt
-+++ b/qt4/src/CMakeLists.txt
-@@ -6,6 +6,11 @@ include_directories(
- ${CMAKE_CURRENT_BINARY_DIR}
- )
-
-+if (HAVE_CAIRO)
-+ include_directories(${CAIRO_INCLUDE_DIRS})
-+ add_definitions(${CAIRO_CFLAGS})
-+endif (HAVE_CAIRO)
-+
- set(poppler_qt4_SRCS
- poppler-annotation.cc
- poppler-document.cc
-@@ -28,10 +33,20 @@ set(poppler_qt4_SRCS
- poppler-media.cc
- ArthurOutputDev.cc
- )
-+if (HAVE_CAIRO)
-+ set(poppler_qt4_SRCS ${poppler_qt4_SRCS}
-+ ${CMAKE_SOURCE_DIR}/poppler/CairoOutputDev.cc
-+ ${CMAKE_SOURCE_DIR}/poppler/CairoRescaleBox.cc
-+ ${CMAKE_SOURCE_DIR}/poppler/CairoFontEngine.cc
-+ )
-+endif(HAVE_CAIRO)
- qt4_automoc(${poppler_qt4_SRCS})
- add_library(poppler-qt4 SHARED ${poppler_qt4_SRCS})
- set_target_properties(poppler-qt4 PROPERTIES VERSION 4.9.0 SOVERSION 4)
- target_link_libraries(poppler-qt4 poppler ${QT4_QTCORE_LIBRARY} ${QT4_QTGUI_LIBRARY} ${QT4_QTXML_LIBRARY})
-+if (HAVE_CAIRO)
-+ target_link_libraries(poppler-qt4 ${CAIRO_LIBRARIES})
-+endif (HAVE_CAIRO)
- if(MSVC)
- target_link_libraries(poppler-qt4 poppler ${poppler_LIBS})
- endif(MSVC)
-diff --git a/qt4/src/poppler-document.cc b/qt4/src/poppler-document.cc
-index 94f997d..6decaaf 100644
---- a/qt4/src/poppler-document.cc
-+++ b/qt4/src/poppler-document.cc
-@@ -547,6 +547,9 @@ namespace Poppler {
- ret << Document::SplashBackend;
- #endif
- ret << Document::ArthurBackend;
-+#if defined(HAVE_CAIRO)
-+ ret << Document::CairoBackend;
-+#endif
- return ret;
- }
-
-diff --git a/qt4/src/poppler-page.cc b/qt4/src/poppler-page.cc
-index 83bcf4a..df1d344 100644
---- a/qt4/src/poppler-page.cc
-+++ b/qt4/src/poppler-page.cc
-@@ -40,6 +40,7 @@
- #include <QtGui/QPainter>
-
- #include <config.h>
-+#include <math.h>
- #include <PDFDoc.h>
- #include <Catalog.h>
- #include <Form.h>
-@@ -53,6 +54,9 @@
- #include <SplashOutputDev.h>
- #include <splash/SplashBitmap.h>
- #endif
-+#if defined(HAVE_CAIRO)
-+#include <CairoOutputDev.h>
-+#endif
-
- #include "poppler-private.h"
- #include "poppler-page-transition-private.h"
-@@ -405,6 +409,70 @@ QImage Page::renderToImage(double xres, double yres, int x, int y, int w, int h,
- img = tmpimg;
- break;
- }
-+ case Poppler::Document::CairoBackend:
-+ {
-+#if defined(HAVE_CAIRO)
-+ CairoOutputDev *output_dev = new CairoOutputDev();
-+ output_dev->startDoc(m_page->parentDoc->doc);
-+ int buffer_width, buffer_height, rotate;
-+ cairo_surface_t *surface;
-+ cairo_t *cairo;
-+
-+ // If w or h are -1, that indicates the whole page, so we need to
-+ // calculate how many pixels that corresponds to. Otherwise, we can use w
-+ // or h directly for our buffer size.
-+ const QSize pageSize = this->pageSize();
-+ if (w == -1) {
-+ const double xscale = xres / 72.0;
-+ const double width = pageSize.width();;
-+ buffer_width = (int) ceil(width * xscale);
-+ } else {
-+ buffer_width = w;
-+ }
-+ if (h == -1) {
-+ const double yscale = yres / 72.0;
-+ const double height = pageSize.height();
-+ buffer_height = (int) ceil(height * yscale);
-+ } else {
-+ buffer_height = h;
-+ }
-+
-+ rotate = rotation + m_page->page->getRotate();
-+
-+ // FIXME: Okular never provides a rotation value, so I don't have any way
-+ // of testing this right now. The result is that subpixels are ordered
-+ // incorrectly when the page is rotated.
-+
-+ //if (rotate == 90 || rotate == 270) {
-+ // const double temp = height;
-+ // height = width;
-+ // width = temp;
-+ //}
-+
-+ img = QImage(buffer_width, buffer_height, QImage::Format_ARGB32);
-+ img.fill(Qt::white); // Never transparent
-+
-+ surface = cairo_image_surface_create_for_data(
-+ img.bits(),
-+ CAIRO_FORMAT_ARGB32,
-+ buffer_width, buffer_height,
-+ img.bytesPerLine());
-+
-+ cairo = cairo_create(surface);
-+ output_dev->setCairo(cairo);
-+
-+ m_page->parentDoc->doc->displayPageSlice(
-+ output_dev, m_page->index + 1, xres, yres, rotation, false, true,
-+ false, x, y, w, h);
-+
-+ // Clean up
-+ output_dev->setCairo(NULL);
-+ cairo_destroy(cairo);
-+ cairo_surface_destroy(surface);
-+ delete output_dev;
-+#endif
-+ break;
-+ }
- }
-
- return img;
-@@ -447,6 +515,8 @@ bool Page::renderToPainter(QPainter* painter, double xres, double yres, int x, i
- painter->restore();
- return true;
- }
-+ case Poppler::Document::CairoBackend:
-+ return false;
- }
- return false;
- }
-diff --git a/qt4/src/poppler-qt4.h b/qt4/src/poppler-qt4.h
-index c0340a4..118f8ba 100644
---- a/qt4/src/poppler-qt4.h
-+++ b/qt4/src/poppler-qt4.h
-@@ -886,7 +886,8 @@ delete it;
- */
- enum RenderBackend {
- SplashBackend, ///< Splash backend
-- ArthurBackend ///< Arthur (Qt4) backend
-+ ArthurBackend, ///< Arthur (Qt4) backend
-+ CairoBackend ///< Cairo backend
- };
-
- /**
-diff --git a/qt4/tests/CMakeLists.txt b/qt4/tests/CMakeLists.txt
-index bba868f..8c40471 100644
---- a/qt4/tests/CMakeLists.txt
-+++ b/qt4/tests/CMakeLists.txt
-@@ -8,6 +8,11 @@ include_directories(
- ${QT4_INCLUDE_DIR}
- )
-
-+if (HAVE_CAIRO)
-+ include_directories(${CAIRO_INCLUDE_DIRS})
-+ add_definitions(${CAIRO_CFLAGS})
-+endif (HAVE_CAIRO)
-+
- macro(QT4_ADD_SIMPLETEST exe source)
- string(REPLACE "-" "" test_name ${exe})
- set(${test_name}_SOURCES
---
-2.7.3
-