diff options
Diffstat (limited to 'community/epdfview')
-rw-r--r-- | community/epdfview/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch | 60 | ||||
-rw-r--r-- | community/epdfview/PKGBUILD | 11 |
2 files changed, 67 insertions, 4 deletions
diff --git a/community/epdfview/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch b/community/epdfview/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch new file mode 100644 index 000000000..e077a15cf --- /dev/null +++ b/community/epdfview/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch @@ -0,0 +1,60 @@ +From d30496f52b85f82947bd07b9bd60f8482843ece8 Mon Sep 17 00:00:00 2001 +From: jordi <jordi@cb4bfb15-1111-0410-82e2-95233c8f1c7e> +Date: Tue, 5 Jul 2011 09:23:38 +0000 +Subject: [PATCH 1/2] When using Poppler 0.17.0, I needed to swap the blue and + red channels, otherwise the colors (other than black + and white) looked wierd. + +git-svn-id: svn://svn.emma-soft.com/epdfview/trunk@367 cb4bfb15-1111-0410-82e2-95233c8f1c7e +--- + src/PDFDocument.cxx | 20 ++++++++++++++++++++ + 1 files changed, 20 insertions(+), 0 deletions(-) + +diff --git a/src/PDFDocument.cxx b/src/PDFDocument.cxx +index df5d75f..63b3513 100644 +--- a/src/PDFDocument.cxx ++++ b/src/PDFDocument.cxx +@@ -20,6 +20,7 @@ + #include <time.h> + #include <poppler.h> + #include <unistd.h> ++#include <algorithm> + #include "epdfview.h" + + using namespace ePDFView; +@@ -33,6 +34,24 @@ static PageLayout convertPageLayout (gint pageLayout); + static PageMode convertPageMode (gint pageMode); + static gchar *getAbsoluteFileName (const gchar *fileName); + ++namespace ++{ ++ void ++ convert_bgra_to_rgba (guint8 *data, int width, int height) ++ { ++ using std::swap; ++ ++ for (int y = 0; y < height; y++) ++ { ++ for (int x = 0; x < width; x++) ++ { ++ swap(data[0], data[2]); ++ data += 4; ++ } ++ } ++ } ++} ++ + /// + /// @brief Constructs a new PDFDocument object. + /// +@@ -650,6 +669,7 @@ PDFDocument::renderPage (gint pageNum) + poppler_page_render (page, context); + cairo_destroy(context); + cairo_surface_destroy (surface); ++ convert_bgra_to_rgba(renderedPage->getData (), width, height); + #else // !HAVE_POPPLER_0_17_0 + // Create the pixbuf from the data and render to it. + GdkPixbuf *pixbuf = gdk_pixbuf_new_from_data (renderedPage->getData (), +-- +1.7.7 + diff --git a/community/epdfview/PKGBUILD b/community/epdfview/PKGBUILD index fb88c3d81..9beb8974c 100644 --- a/community/epdfview/PKGBUILD +++ b/community/epdfview/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 56941 2011-10-17 08:20:15Z ibiru $ +# $Id: PKGBUILD 57042 2011-10-19 06:13:49Z schuay $ # Maintainer: schuay <jakob.gruber@gmail.com> # Contributor: Tom K <tomk@runbox.com> # Contributor: Thayer Williams <thayer@archlinux.org> pkgname=epdfview pkgver=0.1.8 -pkgrel=2 +pkgrel=3 pkgdesc="A free lightweight PDF document viewer." url="http://www.emma-soft.com/projects/epdfview/" arch=('i686' 'x86_64') @@ -14,14 +14,17 @@ depends=('poppler-glib' 'desktop-file-utils' 'hicolor-icon-theme' 'gtk2') makedepends=('pkgconfig') install='epdfview.install' source=("http://www.emma-soft.com/projects/${pkgname}/chrome/site/releases/${pkgname}-${pkgver}.tar.bz2" - "${pkgname}.desktop.patch") + "${pkgname}.desktop.patch" + "0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch") md5sums=('e50285b01612169b2594fea375f53ae4' - 'fbf22bbabdbb7544db615ac5775d57e2') + 'fbf22bbabdbb7544db615ac5775d57e2' + '7f9ea101a41f5b4e999fd024f423d41f') build() { cd "${srcdir}/${pkgname}-${pkgver}" patch -Np0 -i "${srcdir}/${pkgname}.desktop.patch" + patch -Np1 -i "${srcdir}/0001-When-using-Poppler-0.17.0-I-needed-to-swap-the-blue-.patch" ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var make |