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

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

Issue 18562010: pdfviewer: measure mem usage, command line flags library. (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 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 class SkPdfObject; 76 class SkPdfObject;
77 77
78 class SkPdfAllocator { 78 class SkPdfAllocator {
79 #define BUFFER_SIZE 1024 79 #define BUFFER_SIZE 1024
80 SkTDArray<SkPdfObject*> fHistory; 80 SkTDArray<SkPdfObject*> fHistory;
81 SkTDArray<void*> fHandles; 81 SkTDArray<void*> fHandles;
82 SkPdfObject* fCurrent; 82 SkPdfObject* fCurrent;
83 int fCurrentUsed; 83 int fCurrentUsed;
84 84
85 SkPdfObject* allocBlock(); 85 SkPdfObject* allocBlock();
86 size_t fSizeInBytes;
86 87
87 public: 88 public:
88 SkPdfAllocator() { 89 SkPdfAllocator() {
90 fSizeInBytes = sizeof(*this);
89 fCurrent = allocBlock(); 91 fCurrent = allocBlock();
90 fCurrentUsed = 0; 92 fCurrentUsed = 0;
91 } 93 }
92 94
93 ~SkPdfAllocator(); 95 ~SkPdfAllocator();
94 96
95 SkPdfObject* allocObject(); 97 SkPdfObject* allocObject();
96 98
97 // TODO(edisonn): free this memory in destructor, track the usage? 99 // TODO(edisonn): free this memory in destructor, track the usage?
98 void* alloc(size_t bytes) { 100 void* alloc(size_t bytes) {
99 void* data = malloc(bytes); 101 void* data = malloc(bytes);
100 fHandles.push(data); 102 fHandles.push(data);
103 fSizeInBytes += bytes;
101 return data; 104 return data;
102 } 105 }
106
107 size_t bytesUsed() {
108 return fSizeInBytes;
109 }
103 }; 110 };
104 111
105 class SkNativeParsedPDF; 112 class SkNativeParsedPDF;
106 unsigned char* nextObject(unsigned char* start, unsigned char* end, SkPdfObject* token, SkPdfAllocator* allocator, SkNativeParsedPDF* doc); 113 unsigned char* nextObject(unsigned char* start, unsigned char* end, SkPdfObject* token, SkPdfAllocator* allocator, SkNativeParsedPDF* doc);
107 114
108 enum SkPdfTokenType { 115 enum SkPdfTokenType {
109 kKeyword_TokenType, 116 kKeyword_TokenType,
110 kObject_TokenType, 117 kObject_TokenType,
111 }; 118 };
112 119
(...skipping 25 matching lines...) Expand all
138 unsigned char* fUncompressedStreamStart; 145 unsigned char* fUncompressedStreamStart;
139 unsigned char* fUncompressedStream; 146 unsigned char* fUncompressedStream;
140 unsigned char* fUncompressedStreamEnd; 147 unsigned char* fUncompressedStreamEnd;
141 148
142 bool fEmpty; 149 bool fEmpty;
143 bool fHasPutBack; 150 bool fHasPutBack;
144 PdfToken fPutBack; 151 PdfToken fPutBack;
145 }; 152 };
146 153
147 #endif // EXPERIMENTAL_PDFVIEWER_PDFPARSER_NATIVE_SKPDFNATIVETOKENIZER_H_ 154 #endif // EXPERIMENTAL_PDFVIEWER_PDFPARSER_NATIVE_SKPDFNATIVETOKENIZER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698