Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(448)

Unified Diff: pdf/pdfium/pdfium_engine.cc

Issue 1557423002: Revert of Remove some dead PDF code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pdf/pdfium/pdfium_engine.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pdf/pdfium/pdfium_engine.cc
diff --git a/pdf/pdfium/pdfium_engine.cc b/pdf/pdfium/pdfium_engine.cc
index 3f0b3120edb65b161a2c9aa9c7d0c0151fe831ab..6506d8c96b1038af85ffed479c6b7d05e9dcb8c1 100644
--- a/pdf/pdfium/pdfium_engine.cc
+++ b/pdf/pdfium/pdfium_engine.cc
@@ -527,6 +527,7 @@
fpdf_availability_(NULL),
next_timer_id_(0),
last_page_mouse_down_(-1),
+ first_visible_page_(-1),
most_visible_page_(-1),
called_do_document_action_(false),
render_grayscale_(false),
@@ -2276,6 +2277,10 @@
return url;
}
+bool PDFiumEngine::IsSelecting() {
+ return selecting_;
+}
+
bool PDFiumEngine::HasPermission(DocumentPermission permission) const {
// PDF 1.7 spec, section 3.5.2 says: "If the revision number is 2 or greater,
// the operations to which user access can be controlled are as follows: ..."
@@ -2345,6 +2350,11 @@
return dest ? FPDFDest_GetPageIndex(doc_, dest) : -1;
}
+int PDFiumEngine::GetFirstVisiblePage() {
+ CalculateVisiblePages();
+ return first_visible_page_;
+}
+
int PDFiumEngine::GetMostVisiblePage() {
CalculateVisiblePages();
return most_visible_page_;
@@ -2359,6 +2369,26 @@
pp::Rect PDFiumEngine::GetPageContentsRect(int index) {
return GetScreenRect(pages_[index]->rect());
+}
+
+void PDFiumEngine::PaintThumbnail(pp::ImageData* image_data, int index) {
+ FPDF_BITMAP bitmap = FPDFBitmap_CreateEx(
+ image_data->size().width(), image_data->size().height(),
+ FPDFBitmap_BGRx, image_data->data(), image_data->stride());
+
+ if (pages_[index]->available()) {
+ FPDFBitmap_FillRect(bitmap, 0, 0, image_data->size().width(),
+ image_data->size().height(), 0xFFFFFFFF);
+
+ FPDF_RenderPageBitmap(
+ bitmap, pages_[index]->GetPage(), 0, 0, image_data->size().width(),
+ image_data->size().height(), 0, GetRenderingFlags());
+ } else {
+ FPDFBitmap_FillRect(bitmap, 0, 0, image_data->size().width(),
+ image_data->size().height(), kPendingPageColor);
+ }
+
+ FPDFBitmap_Destroy(bitmap);
}
void PDFiumEngine::SetGrayscale(bool grayscale) {
@@ -2689,10 +2719,15 @@
// screen coordinates.
form_highlights_.clear();
- int most_visible_page = visible_pages_.empty() ? 0 : visible_pages_.front();
- DCHECK_GE(most_visible_page, 0);
+ if (visible_pages_.size() == 0)
+ first_visible_page_ = -1;
+ else
+ first_visible_page_ = visible_pages_.front();
+
+ int most_visible_page = first_visible_page_;
// Check if the next page is more visible than the first one.
- if (!pages_.empty() &&
+ if (most_visible_page != -1 &&
+ pages_.size() > 0 &&
most_visible_page < static_cast<int>(pages_.size()) - 1) {
pp::Rect rc_first =
visible_rect.Intersect(GetPageScreenRect(most_visible_page));
« no previous file with comments | « pdf/pdfium/pdfium_engine.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698