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 |