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

Side by Side Diff: experimental/PdfViewer/pdfparser/native/SkPdfNativeTokenizer.h

Issue 18536014: pdfviewer: more load references dinamically plumming (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
1 #ifndef EXPERIMENTAL_PDFVIEWER_PDFPARSER_NATIVE_SKPDFNATIVETOKENIZER_H_ 1 #ifndef EXPERIMENTAL_PDFVIEWER_PDFPARSER_NATIVE_SKPDFNATIVETOKENIZER_H_
2 #define EXPERIMENTAL_PDFVIEWER_PDFPARSER_NATIVE_SKPDFNATIVETOKENIZER_H_ 2 #define EXPERIMENTAL_PDFVIEWER_PDFPARSER_NATIVE_SKPDFNATIVETOKENIZER_H_
3 3
4 #include "SkTDArray.h" 4 #include "SkTDArray.h"
5 #include "SkTDict.h" 5 #include "SkTDict.h"
6 #include <math.h> 6 #include <math.h>
7 #include <string.h> 7 #include <string.h>
8 8
9 class SkPdfMapper; 9 class SkPdfMapper;
10 class SkPdfDictionary; 10 class SkPdfDictionary;
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 SkPdfObject* allocObject(); 95 SkPdfObject* allocObject();
96 96
97 // TODO(edisonn): free this memory in destructor, track the usage? 97 // TODO(edisonn): free this memory in destructor, track the usage?
98 void* alloc(size_t bytes) { 98 void* alloc(size_t bytes) {
99 void* data = malloc(bytes); 99 void* data = malloc(bytes);
100 fHandles.push(data); 100 fHandles.push(data);
101 return data; 101 return data;
102 } 102 }
103 }; 103 };
104 104
105 unsigned char* nextObject(unsigned char* start, unsigned char* end, SkPdfObject* token, SkPdfAllocator* allocator); 105 class SkNativeParsedPDF;
106 unsigned char* nextObject(unsigned char* start, unsigned char* end, SkPdfObject* token, SkPdfAllocator* allocator, SkNativeParsedPDF* doc);
106 107
107 enum SkPdfTokenType { 108 enum SkPdfTokenType {
108 kKeyword_TokenType, 109 kKeyword_TokenType,
109 kObject_TokenType, 110 kObject_TokenType,
110 }; 111 };
111 112
112 struct PdfToken { 113 struct PdfToken {
113 const char* fKeyword; 114 const char* fKeyword;
114 size_t fKeywordLength; 115 size_t fKeywordLength;
115 SkPdfObject* fObject; 116 SkPdfObject* fObject;
116 SkPdfTokenType fType; 117 SkPdfTokenType fType;
117 118
118 PdfToken() : fKeyword(NULL), fKeywordLength(0), fObject(NULL) {} 119 PdfToken() : fKeyword(NULL), fKeywordLength(0), fObject(NULL) {}
119 }; 120 };
120 121
121 class SkPdfNativeTokenizer { 122 class SkPdfNativeTokenizer {
122 public: 123 public:
123 SkPdfNativeTokenizer(SkPdfObject* objWithStream, const SkPdfMapper* mapper, SkPdfAllocator* allocator); 124 SkPdfNativeTokenizer(SkPdfObject* objWithStream, const SkPdfMapper* mapper, SkPdfAllocator* allocator, SkNativeParsedPDF* doc);
124 SkPdfNativeTokenizer(unsigned char* buffer, int len, const SkPdfMapper* mapp er, SkPdfAllocator* allocator); 125 SkPdfNativeTokenizer(unsigned char* buffer, int len, const SkPdfMapper* mapp er, SkPdfAllocator* allocator, SkNativeParsedPDF* doc);
125 126
126 virtual ~SkPdfNativeTokenizer(); 127 virtual ~SkPdfNativeTokenizer();
127 128
128 bool readToken(PdfToken* token); 129 bool readToken(PdfToken* token);
129 bool readTokenCore(PdfToken* token); 130 bool readTokenCore(PdfToken* token);
130 void PutBack(PdfToken token); 131 void PutBack(PdfToken token);
131 132
132 private: 133 private:
134 SkNativeParsedPDF* fDoc;
133 const SkPdfMapper* fMapper; 135 const SkPdfMapper* fMapper;
134 SkPdfAllocator* fAllocator; 136 SkPdfAllocator* fAllocator;
135 137
136 unsigned char* fUncompressedStreamStart; 138 unsigned char* fUncompressedStreamStart;
137 unsigned char* fUncompressedStream; 139 unsigned char* fUncompressedStream;
138 unsigned char* fUncompressedStreamEnd; 140 unsigned char* fUncompressedStreamEnd;
139 141
140 bool fEmpty; 142 bool fEmpty;
141 bool fHasPutBack; 143 bool fHasPutBack;
142 PdfToken fPutBack; 144 PdfToken fPutBack;
143 }; 145 };
144 146
145 #endif // EXPERIMENTAL_PDFVIEWER_PDFPARSER_NATIVE_SKPDFNATIVETOKENIZER_H_ 147 #endif // EXPERIMENTAL_PDFVIEWER_PDFPARSER_NATIVE_SKPDFNATIVETOKENIZER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698