Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/pdf/ev-poppler.cc
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpg@redhat.com>2005-04-05 09:34:03 (GMT)
committer Marco Pesenti Gritti <marco@src.gnome.org>2005-04-05 09:34:03 (GMT)
commit067a8759e04f2c657eb49c26263b75e3ac26a706 (patch)
treeec2ea117f068e84d92da3cf608049ea3feb4291a /pdf/ev-poppler.cc
parenta187e3dfb4f370cfc4cf6c47156b0c6512e4efd5 (diff)
Make clipboard work again
2005-04-05 Marco Pesenti Gritti <mpg@redhat.com> * pdf/ev-poppler.cc: Make clipboard work again
Diffstat (limited to 'pdf/ev-poppler.cc')
-rw-r--r--pdf/ev-poppler.cc23
1 files changed, 22 insertions, 1 deletions
diff --git a/pdf/ev-poppler.cc b/pdf/ev-poppler.cc
index 7fcc9c0..4ca7d01 100644
--- a/pdf/ev-poppler.cc
+++ b/pdf/ev-poppler.cc
@@ -328,7 +328,27 @@ pdf_document_set_password (EvDocumentSecurity *document_security,
document->password = g_strdup (password);
}
+static char *
+pdf_document_get_text (EvDocument *document, int page, EvRectangle *rect)
+{
+ PdfDocument *pdf_document = PDF_DOCUMENT (document);
+ PopplerPage *poppler_page;
+ PopplerRectangle r;
+ double height;
+
+ poppler_page = poppler_document_get_page (pdf_document->document, page);
+ g_return_val_if_fail (poppler_page != NULL, NULL);
+
+ poppler_page_get_size (poppler_page, NULL, &height);
+ r.x1 = rect->x1;
+ r.y1 = height - rect->y2;
+ r.x2 = rect->x2;
+ r.y2 = height - rect->y1;
+ g_print ("%f %f %f %f\n", r.x1, r.y1, r.x2, r.y2);
+
+ return poppler_page_get_text (poppler_page, &r);
+}
static void
pdf_document_document_iface_init (EvDocumentIface *iface)
@@ -340,6 +360,7 @@ pdf_document_document_iface_init (EvDocumentIface *iface)
iface->get_page_label = pdf_document_get_page_label;
iface->get_links = pdf_document_get_links;
iface->render_pixbuf = pdf_document_render_pixbuf;
+ iface->get_text = pdf_document_get_text;
};
static void
@@ -703,7 +724,7 @@ pdf_document_find_get_result (EvDocumentFind *document_find,
PopplerPage *poppler_page;
PopplerRectangle *r;
int current_page;
- double scale, height;
+ double height;
if (search == NULL)
return FALSE;