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

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

Issue 21125002: pdfviewer: more plumming for soft masks (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 4 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 1
2 #include "SkPdfNativeTokenizer.h" 2 #include "SkPdfNativeTokenizer.h"
3 #include "SkPdfObject.h" 3 #include "SkPdfObject.h"
4 #include "SkPdfConfig.h" 4 #include "SkPdfConfig.h"
5 5
6 #include "SkPdfStreamCommonDictionary_autogen.h" 6 #include "SkPdfStreamCommonDictionary_autogen.h"
7 #include "SkPdfImageDictionary_autogen.h" 7 #include "SkPdfImageDictionary_autogen.h"
8 8
9 // TODO(edisonn): perf!!! 9 // TODO(edisonn): perf!!!
10 // there could be 0s between start and end! but not in the needle. 10 // there could be 0s between start and end! but not in the needle.
(...skipping 909 matching lines...) Expand 10 before | Expand all | Expand 10 after
920 if (fUncompressedStream >= fUncompressedStreamEnd) { 920 if (fUncompressedStream >= fUncompressedStreamEnd) {
921 return false; 921 return false;
922 } 922 }
923 923
924 SkPdfObject obj; 924 SkPdfObject obj;
925 fUncompressedStream = nextObject(0, fUncompressedStream, fUncompressedStream End, &obj, fAllocator, fDoc); 925 fUncompressedStream = nextObject(0, fUncompressedStream, fUncompressedStream End, &obj, fAllocator, fDoc);
926 926
927 // If it is a keyword, we will only get the pointer of the string 927 // If it is a keyword, we will only get the pointer of the string
928 if (obj.type() == SkPdfObject::kKeyword_PdfObjectType) { 928 if (obj.type() == SkPdfObject::kKeyword_PdfObjectType) {
929 token->fKeyword = obj.c_str(); 929 token->fKeyword = obj.c_str();
930 token->fKeywordLength = obj.len(); 930 token->fKeywordLength = obj.lenstr();
931 token->fType = kKeyword_TokenType; 931 token->fType = kKeyword_TokenType;
932 } else { 932 } else {
933 SkPdfObject* pobj = fAllocator->allocObject(); 933 SkPdfObject* pobj = fAllocator->allocObject();
934 *pobj = obj; 934 *pobj = obj;
935 token->fObject = pobj; 935 token->fObject = pobj;
936 token->fType = kObject_TokenType; 936 token->fType = kObject_TokenType;
937 } 937 }
938 938
939 #ifdef PDF_TRACE_READ_TOKEN 939 #ifdef PDF_TRACE_READ_TOKEN
940 static int read_op = 0; 940 static int read_op = 0;
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
1055 return NULL; 1055 return NULL;
1056 } 1056 }
1057 1057
1058 SkPdfImageDictionary* inlineImage = (SkPdfImageDictionary*)fAllocator->alloc Object(); 1058 SkPdfImageDictionary* inlineImage = (SkPdfImageDictionary*)fAllocator->alloc Object();
1059 SkPdfObject::makeEmptyDictionary(inlineImage); 1059 SkPdfObject::makeEmptyDictionary(inlineImage);
1060 1060
1061 while (fUncompressedStream < fUncompressedStreamEnd) { 1061 while (fUncompressedStream < fUncompressedStreamEnd) {
1062 SkPdfObject* key = fAllocator->allocObject(); 1062 SkPdfObject* key = fAllocator->allocObject();
1063 fUncompressedStream = nextObject(0, fUncompressedStream, fUncompressedSt reamEnd, key, fAllocator, fDoc); 1063 fUncompressedStream = nextObject(0, fUncompressedStream, fUncompressedSt reamEnd, key, fAllocator, fDoc);
1064 1064
1065 if (key->isKeyword() && key->len() == 2 && key->c_str()[0] == 'I' && key ->c_str()[1] == 'D') { // ID 1065 if (key->isKeyword() && key->lenstr() == 2 && key->c_str()[0] == 'I' && key->c_str()[1] == 'D') { // ID
1066 fUncompressedStream = readInlineImageStream(0, fUncompressedStream, fUncompressedStreamEnd, inlineImage, fDoc); 1066 fUncompressedStream = readInlineImageStream(0, fUncompressedStream, fUncompressedStreamEnd, inlineImage, fDoc);
1067 return inlineImage; 1067 return inlineImage;
1068 } else { 1068 } else {
1069 SkPdfObject* obj = fAllocator->allocObject(); 1069 SkPdfObject* obj = fAllocator->allocObject();
1070 fUncompressedStream = nextObject(0, fUncompressedStream, fUncompress edStreamEnd, obj, fAllocator, fDoc); 1070 fUncompressedStream = nextObject(0, fUncompressedStream, fUncompress edStreamEnd, obj, fAllocator, fDoc);
1071 // TODO(edisonn): perf maybe we should not expand abreviation like t his 1071 // TODO(edisonn): perf maybe we should not expand abreviation like t his
1072 inlineImage->set(inlineImageKeyAbbreviationExpand(key), 1072 inlineImage->set(inlineImageKeyAbbreviationExpand(key),
1073 inlineImageValueAbbreviationExpand(obj)); 1073 inlineImageValueAbbreviationExpand(obj));
1074 } 1074 }
1075 } 1075 }
1076 // TODO(edisonn): report end of data with inline image without an EI 1076 // TODO(edisonn): report end of data with inline image without an EI
1077 return inlineImage; 1077 return inlineImage;
1078 } 1078 }
OLDNEW
« no previous file with comments | « experimental/PdfViewer/pdfparser/native/SkNativeParsedPDF.cpp ('k') | experimental/PdfViewer/pdfparser/native/SkPdfObject.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698