Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(69)

Side by Side Diff: experimental/PdfViewer/pdfparser/podofo/SkPdfPodofoTokenizer.h

Issue 18042005: isolate podofo to prepare for native parser, autogenerate PDF API during build (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698