From 9c1e6ba4d99cb7f937b2b3998814a7486b88c4ce Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Wed, 05 Jan 2005 15:10:04 +0000 Subject: Beginnings of clipboard support. Incomplete but primary sort of work. 2005-01-05 Marco Pesenti Gritti * backend/ev-document.c: (ev_document_get_text): * backend/ev-document.h: * pdf/xpdf/pdf-document.cc: * shell/ev-view.c: (ev_view_realize), (expose_bin_window), (ev_view_primary_get_cb), (ev_view_primary_clear_cb), (ev_view_update_primary_selection), (ev_view_button_press_event), (ev_view_motion_notify_event), (ev_view_button_release_event): Beginnings of clipboard support. Incomplete but primary sort of work. --- (limited to 'pdf') diff --git a/pdf/xpdf/pdf-document.cc b/pdf/xpdf/pdf-document.cc index ed3b505..2293841 100644 --- a/pdf/xpdf/pdf-document.cc +++ b/pdf/xpdf/pdf-document.cc @@ -959,6 +959,25 @@ pdf_document_get_title (PdfDocument *pdf_document) return title; } +static char * +pdf_document_get_text (EvDocument *document, GdkRectangle *rect) +{ + PdfDocument *pdf_document = PDF_DOCUMENT (document); + GString *sel_text = new GString; + const char *text; + int x1, y1, x2, y2; + + x1 = rect->x; + y1 = rect->y; + x2 = x1 + rect->width; + y2 = y1 + rect->height; + + sel_text = pdf_document->out->getText (x1, y1, x2, y2); + text = sel_text->getCString (); + + return text ? g_strdup (text) : NULL; +} + static void pdf_document_get_property (GObject *object, guint prop_id, @@ -995,6 +1014,7 @@ pdf_document_document_iface_init (EvDocumentIface *iface) { iface->load = pdf_document_load; iface->save = pdf_document_save; + iface->get_text = pdf_document_get_text; iface->get_n_pages = pdf_document_get_n_pages; iface->set_page = pdf_document_set_page; iface->get_page = pdf_document_get_page; -- cgit v0.9.1