diff options
author | 2013-07-02 22:42:53 +0000 | |
---|---|---|
committer | 2013-07-02 22:42:53 +0000 | |
commit | 3aac1f9f308192f3787265830fe86ce8874e7382 (patch) | |
tree | 48adbf2c7852196caf259ca434dd77196a0aee0f /experimental/PdfViewer/pdfparser/podofo/SkPodofoParsedPDF.h | |
parent | 53953b457b9a4d1e3e4318a756fd40b5cb7375b0 (diff) |
isolate podofo to prepare for native parser, autogenerate PDF API during build
Review URL: https://codereview.chromium.org/18042005
git-svn-id: http://skia.googlecode.com/svn/trunk@9879 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'experimental/PdfViewer/pdfparser/podofo/SkPodofoParsedPDF.h')
-rw-r--r-- | experimental/PdfViewer/pdfparser/podofo/SkPodofoParsedPDF.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/experimental/PdfViewer/pdfparser/podofo/SkPodofoParsedPDF.h b/experimental/PdfViewer/pdfparser/podofo/SkPodofoParsedPDF.h new file mode 100644 index 0000000000..d694dedb5a --- /dev/null +++ b/experimental/PdfViewer/pdfparser/podofo/SkPodofoParsedPDF.h @@ -0,0 +1,59 @@ +#ifndef EXPERIMENTAL_PDFVIEWER_PDFPARSER_PODOFO_SKPODOFOPARSEDPDF_H_ +#define EXPERIMENTAL_PDFVIEWER_PDFPARSER_PODOFO_SKPODOFOPARSEDPDF_H_ + +#include "SkRect.h" + +class SkCanvas; + +class SkPdfInteger; +class SkPdfMapper; +class SkPdfNumber; +class SkPdfObject; +class SkPdfResourceDictionary; +class SkPdfStream; +class SkPdfString; + +class SkPdfPodofoTokenizer; + +namespace PoDoFo { +class PdfMemDocument; +class PdfObject; +} + +class SkPodofoParsedPDF { +public: + SkPodofoParsedPDF(const char* path); + virtual ~SkPodofoParsedPDF(); + + virtual int pages() const; + virtual double width(int page) const; + virtual double height(int page) const; + const SkPdfResourceDictionary* pageResources(int page) const; + virtual SkRect MediaBox(int n) const; + virtual SkPdfPodofoTokenizer* tokenizerOfPage(int n) const; + + virtual SkPdfPodofoTokenizer* tokenizerOfStream(const SkPdfStream* stream) const; + virtual SkPdfPodofoTokenizer* tokenizerOfBuffer(char* buffer, size_t len) const; + + virtual size_t objects() const; + virtual const SkPdfObject* object(int i) const; + + PoDoFo::PdfMemDocument* podofo() const {return fDoc;} + + const SkPdfMapper* mapper() const; + + SkPdfNumber* createNumber(double number) const; + SkPdfInteger* createInteger(int value) const; + SkPdfString* createString(char* sz, size_t len) const; + + void drawPage(int page, SkCanvas* canvas) const; + +private: + SkPdfObject* make(PoDoFo::PdfObject* obj) const; + const SkPdfObject* make(const PoDoFo::PdfObject* obj) const; + + PoDoFo::PdfMemDocument* fDoc; + SkPdfMapper* fMapper; +}; + +#endif // EXPERIMENTAL_PDFVIEWER_PDFPARSER_PODOFO_SKPODOFOPARSEDPDF_H_ |