OLD | NEW |
| (Empty) |
1 #ifndef EXPERIMENTAL_PDFVIEWER_PDFPARSER_PODOFO_SKPDFPODOFOTOKENIZER_H_ | |
2 #define EXPERIMENTAL_PDFVIEWER_PDFPARSER_PODOFO_SKPDFPODOFOTOKENIZER_H_ | |
3 | |
4 #include "stddef.h" | |
5 | |
6 class SkPdfObject; | |
7 class SkPdfMapper; | |
8 class SkPodofoParsedPDF; | |
9 | |
10 namespace PoDoFo { | |
11 class PdfMemDocument; | |
12 class PdfContentsTokenizer; | |
13 } | |
14 | |
15 enum SkPdfTokenType { | |
16 kKeyword_TokenType, | |
17 kObject_TokenType, | |
18 kImageData_TokenType, // TODO(edisonn): inline images seem to work without
it | |
19 }; | |
20 | |
21 struct PdfToken { | |
22 const char* fKeyword; | |
23 SkPdfObject* fObject; | |
24 SkPdfTokenType fType; | |
25 | |
26 PdfToken() : fKeyword(NULL), fObject(NULL) {} | |
27 }; | |
28 | |
29 class SkPdfPodofoTokenizer { | |
30 public: | |
31 SkPdfPodofoTokenizer(const SkPodofoParsedPDF* parser, PoDoFo::PdfContentsTok
enizer* tokenizer); | |
32 SkPdfPodofoTokenizer(const SkPdfObject* objWithStream); | |
33 SkPdfPodofoTokenizer(const char* buffer, int len); | |
34 | |
35 virtual ~SkPdfPodofoTokenizer(); | |
36 | |
37 bool readToken(PdfToken* token); | |
38 bool readTokenCore(PdfToken* token); | |
39 void PutBack(PdfToken token); | |
40 | |
41 private: | |
42 const SkPdfMapper* fMapper; | |
43 const PoDoFo::PdfMemDocument* fDoc; | |
44 PoDoFo::PdfContentsTokenizer* fTokenizer; | |
45 | |
46 char* fUncompressedStream; | |
47 long fUncompressedStreamLength; | |
48 | |
49 bool fEmpty; | |
50 bool fHasPutBack; | |
51 PdfToken fPutBack; | |
52 }; | |
53 | |
54 #endif // EXPERIMENTAL_PDFVIEWER_PDFPARSER_PODOFO_SKPDFPODOFOTOKENIZER_H_ | |
OLD | NEW |