diff options
Diffstat (limited to 'xfa_test/pdf/pdfium/pdfium_range.cc')
-rw-r--r-- | xfa_test/pdf/pdfium/pdfium_range.cc | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/xfa_test/pdf/pdfium/pdfium_range.cc b/xfa_test/pdf/pdfium/pdfium_range.cc deleted file mode 100644 index c77d5906dd..0000000000 --- a/xfa_test/pdf/pdfium/pdfium_range.cc +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "pdf/pdfium/pdfium_range.h" - -#include "base/logging.h" -#include "base/strings/string_util.h" - -namespace chrome_pdf { - -PDFiumRange::PDFiumRange(PDFiumPage* page, int char_index, int char_count) - : page_(page), - char_index_(char_index), - char_count_(char_count), - cached_screen_rects_zoom_(0) { -} - -PDFiumRange::~PDFiumRange() { -} - -void PDFiumRange::SetCharCount(int char_count) { - char_count_ = char_count; - - cached_screen_rects_offset_ = pp::Point(); - cached_screen_rects_zoom_ = 0; -} - -std::vector<pp::Rect> PDFiumRange::GetScreenRects(const pp::Point& offset, - double zoom, - int rotation) { - if (offset == cached_screen_rects_offset_ && - zoom == cached_screen_rects_zoom_) { - return cached_screen_rects_; - } - - cached_screen_rects_.clear(); - cached_screen_rects_offset_ = offset; - cached_screen_rects_zoom_ = zoom; - - int char_index = char_index_; - int char_count = char_count_; - if (char_count < 0) { - char_count *= -1; - char_index -= char_count - 1; - } - - int count = FPDFText_CountRects(page_->GetTextPage(), char_index, char_count); - for (int i = 0; i < count; ++i) { - double left, top, right, bottom; - FPDFText_GetRect(page_->GetTextPage(), i, &left, &top, &right, &bottom); - cached_screen_rects_.push_back( - page_->PageToScreen(offset, zoom, left, top, right, bottom, rotation)); - } - - return cached_screen_rects_; -} - -base::string16 PDFiumRange::GetText() { - int index = char_index_; - int count = char_count_; - if (!count) - return base::string16(); - if (count < 0) { - count *= -1; - index -= count - 1; - } - - base::string16 rv; - unsigned short* data = - reinterpret_cast<unsigned short*>(WriteInto(&rv, count + 1)); - if (data) { - int written = FPDFText_GetText(page_->GetTextPage(), index, count, data); - rv.reserve(written); - } - return rv; -} - -} // namespace chrome_pdf |