aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/PdfViewer/pdfparser/podofo/SkPodofoParsedPDF.h
diff options
context:
space:
mode:
authorGravatar edisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-07-02 22:42:53 +0000
committerGravatar edisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-07-02 22:42:53 +0000
commit3aac1f9f308192f3787265830fe86ce8874e7382 (patch)
tree48adbf2c7852196caf259ca434dd77196a0aee0f /experimental/PdfViewer/pdfparser/podofo/SkPodofoParsedPDF.h
parent53953b457b9a4d1e3e4318a756fd40b5cb7375b0 (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.h59
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_